Display Data on your computer-- Graphically!References from: www.processing.org
MIT's Processing is a method to interface your embedded project to your computer in a graphical manner.
It is an open source programming language and environment to interface a computer with various peripherals (either user interfaces or embedded). Developed by Ben Fry and Casey Reas in 2001 began in MIT’s Media lab. Initially it was developed as a software sketchbook to teach the fundamentals of computer programming using a visual method. However, with time and developments Processing has become an interface into Embedded Processing.
A Java based language; Processing is compatible with GNU/Linux, Mac OSX and Windows operating systems. Processing is also able to interface with other languages such as JavaScript, ActionScript, Ruby, Python and Scala (with other platforms like OpenMoko =, IpHone and OLPCXO-1, in development).
The key feature with interfacing with Processing to embedded processing platforms (such as the TI Launchpad) is the bi-directional communication. This creates the ability to transfer data from your embedded processing platform to the computer (such as HyperTerminal) and then to be able to use the computer to transfer data back to the embedded processing platform.
Example Use: Using the embedded processing platform as a user interface tool, but offloading complex processing over to the computer (to run Applications, data analytics or a user interface).
So, where have you seen this Processing in action?The Capacitive Touch Boosterpack- Graphical User Interface (GUI) is based off of Processing. Below is a video that speaks about the use of the GUI.
In this: the driver file FindAppUART.exe, interfaces over the USB (via emulator) to the Launchpad and the Capacitive Touch Boosterpack. The Capacitive Touch Boosterpack is collecting data on, where it is being pushed, transmitting the data to the microcontroller which sends it over the USB-Emulator interface to the computer. Instead of displaying static values through the traditional: HyperTerminal interface usually used with embedded processing— the data is displayed on a GUI that is modeled after the hardware. Processing was used to create that GUI, the data linkage… and with some code modification could be used to show the reverse effect—clicking the graphic and causing the appropriate LED to light up.
Where does Processing fit into your embedded processing curriculum?
Here are a list of potential topics that the combination of Processing + a TI Embedded Platform can facilitate: -Interacting and Creation/Modification of Graphical User Interfaces-JAVA based programming application-Hardware driver modification or creation-Programming language bridging (e.g. between a C++ based language environment to JAVA)-Creation of Human-Machine-Interfaces-Data interpretation and displayAdditional Topics can be found on the Processing Web Site : http://www.processing.org/learning/basics/
What TI Platforms to look at:Any MSP430 TI-Board with a PC interface can download the driver: FindAppUART.exe to begin interface.
Already mentioned the TI-Launchpad + Capacitive Touch Boosterpack [MSP-EXP430G2 + 430BOOST-SENSE1] total cost through the TI EStore= $14.30 USD Besides the Capactive Touch Boosterpack several example projects featuring Processing is also within the MSP430 V2 Teaching ROM (Chapter 3)-- BETA TESTING APRIL 2012Additionally the FRAM Experimenter’s Kit (MSP-EXP430FR5739- $39.00 USD) and the Simple Link WIFI ( CC3000FRAMEMK- $199.00 USD) Kits also use Processing as GUI display of information.
Summary:Software, Non-TI, Open Source, Computer Science, Interfacing, MIT, GUI, JAVA, Graphical, Visual Education, Visual Context, Processing, FREE, Launchpad, MSP430, 430BOOST-SENSE1, CC3000, FRAM, University Program
OPERATING SYSTEMS SUPPORTED: MacintoshGNU/LinuxWindows Language interfacing:JavaScriptActionScriptRubyPythonScalaOpenMokoIpHone OLPCXO-1 *in development
Processing runs natively on the BeagleBoard (TI OMAP3530-based), BeagleBoard-xM (TI DM3730-based) and BeagleBone (TI AM3358-based). It can be used on those platforms to execute Processing code locally or to target other processors via the USB host or serial ports.
"Processing" is used in the second version of MSP430 Teaching CD-ROM which is to be relased this year. My intern is beginning to use it, it is cool!
I can imagine a course where they use Processing on Beagleboard family. That would be really exciting. Has this already been done?