The idea of this project is to teach kids programming using raspberry pi (maybe beaglebone or similar generic purpose board later) and GPIO. Our goal is to have everything running on the PI so you don't need anything but the PI, a keyboard and a monitor to start. So we keep it as cheap as possible for schools to be able to afford a simple setup if they want to.
So the kids can actually see that if I do this something happened in real world light a servo motor starts spinning or a led light turns on. We can even have a prepared setup in a nice package of a robot, car, or anything like that ready to connect to the GPIO right away.
We want to have a workflow like engine running in node.js this workflow would represent the programming language. A single task in the workflow would work something like this. Setup a GPIO pin with this number to output and write this value into it. We want to have logic gates as tasks as well as loops etc.
On top of this workflow we should have a "kid friendly" UI that would generate the workflow diagram as a JSON file. Think of this as a simplified BPM modeling tool.
This project is still under development but the workflow engine can be mess with if you desire.
For installation just do:
npm install -g RaspiKids
You need to have gpio-admin installed on the PI as described here:
We have an example workflows that you can checkout at:
So if you create a directory you can just clone these to play around with it.
Running UI from sources
For running the UI from checked out source code just run:
in the project directory.
To use just the engine withouth the UI you can execute just some workflow by doing:
sudo raspi-kids-wf lightBlink
The lightBlink is just an example workflow from our repository as described above.
Place any new workflows in the "wf" sub directory that's where the engine is trying to find them.
You can run the ui for the workflow now:
You can see all the existing workflows there just click them to load and if you want to start them press the start button. You can also drag and drop the nodes to see the connections. Save button is currently able to just do updates of existing workflows. Creation of new workflows will be available once the UI is able to draw.
Nodeclipse is free open-source project that grows with your contributions.