-
Notifications
You must be signed in to change notification settings - Fork 1
Livestream a web-programmable Arduino board to multiple programmers - useful for classes, art projects, and getting to know Arduino.
mapmeld/CrowdBot
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
CrowdBot Readme CrowdBot makes an Arduino connected to your computer available for programming over the internet. Use cases: - A teacher can set up an Arduino board for multiple students to share and run their programs - Students in online classes can learn to program on an Arduino before investing in the full kit - A public art project, similar to the programmable lights being produced for the Oakland Bay Bridge http://www.ledinside.com/node/14357 - A Kickstarter project could demo their working Arduino shield to encourage users to build one into their own projects - A university-level class could observe the LEDs lit by several different programs and work to determine which logic gates are used Three main components: 1) appengine-server --- a simple page to watch a live stream and datastream of the Arduino --- a simple form and database program to store users' sketches --- an API for the CrowdBot host 2) crowdbot-host --- a script which periodically scans for new sketches on the appengine-server --- scripts to compile and upload Arduino sketches from a command line --- PySerial library to livestream data from the Arduino 3) the Arduino Uno with an ATMEGA328P --- hook your Arduino up to a cool project! Configuring CrowdBot on Windows: 1) Download and install an older version of Arduino (v20 confirmed working) and Python (2.6 or 2.7 recommended) 2) Install PySerial ( pyserial.sourceforge.net ) by running python appengine-host/pyserial-2.6/setup.py install 3) Set crowdbot-host/CrowdBotBase.py to point to the correct USB port, directories, and AppEngine URL 4) Add Twitter App information and your admin e-mail address to appengine-server/crowdbotconfig.py 5) Open the Control Panel and search for system environment variables. These parameters are recommended for an Arduino Uno with an ATMEGA328 processor: ARDUINO_BURNRATE 115200 ARDUINO_COMPORT COM2 (depends on your system - open the Arduino program and use the drop-down to determine COM port - reassign if number is COM10 or higher) ARDUINO_FCPU 16000000 ARDUINO_MCU atmega328p ARDUINO_PATH C:\Users\ndoiron\Arduino\ (depends on your system) ARDUINO_PROGRAMMER stk500 These values come from piecing together information from multiple sources. If you are not using an Arduino Uno with an ATMEGA328 processor, consult these pages: The original program: http://www.arduino.cc/playground/Code/WindowsCommandLine Users' updates: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1168127321;start=all Update for the Uno: http://www.andrewvos.com/2011/04/29/how-to-upload-code-to-an-arduino-uno-from-the-command-line/ Configuring CrowdBot on Mac OSX: 1) Download and install an older version of Arduino (v20 confirmed working) and Python (2.6 or 2.7 recommended) 2) Install Xcode from Apple's developer site. You will need an Apple developer account and an iTunes account (both are free, neither require a credit card) 3) Download scons from http://www.scons.org/ and run sudo python setup.py inside its directory 4) Use git to download arscons http://code.google.com/p/arscons/source/checkout and place all its files in your Documents/CrowdBot directory 5) Add two lines to arscons's file named SConstruct based on your Arduino (these are for Uno ATMEGA328P): F_CPU = '16000000' after F_CPU = ARGUMENTS... UPLOAD_SPEED = '115200' after UPLOAD_SPEED = getBoardConf... 6) Set crowdbot-host/MacCrowdBot.py to point to your USB port, directories, and AppEngine URL 7) Add Twitter App information and your admin e-mail address to appengine-server/crowdbotconfig.py Wish list: - Use the YouTube Data API to upload and annotate a video of each program running - E-mail or Tweet video to the programmer of the sketch - Documentation for Linux host machines
About
Livestream a web-programmable Arduino board to multiple programmers - useful for classes, art projects, and getting to know Arduino.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published