rovercode¶
License: | GPLv3 |
---|---|
Source: | https://github.com/aninternetof/rovercode |
Welcome!¶
rovercode is an easy-to-use system for controlling robots (rovers) that can sense and react to their environment. The Blockly editor makes it easy to program and run your bot straight from your browser. Just drag and drop your commands to drive motors, read values from a variety of supported sensors, and see what your rover sees with the built in webcam viewer.

Architecture¶
rovercode is made up of two parts:
- rovercode (the docs you’re reading right now) is the service that runs on the rover.
- rovercode-web (a separate repo documented here) is the web app running at rovercode.com.
rovercode runs on the rover. The rover can be any single-board-computer supported by the Adafruit Python GPIO wrapper library, including the NextThingCo CHIP, Raspberry Pi, and BeagleBone Black.
rovercode-web is hosted on the Internet at rovercode.com. It has a Blockly-based editor (which we call Mission Control) for creating a routine. The routine executes in the browser (sandboxed, of course), and commands are sent to the rover for rovercode to execute (e.g. “stop motor, turn on light”). Events on the rover (“right eye detects something”) are sent to the browser via a WebSocket connection.
The rover and the device running the browser must be on the same local network.
Get Started¶
Check out the quickstart guide. Then see how to contribute.
Contact¶
We’d love to chat with you! Join the the rovercode Slack channel.
You can also email brady@rovercode.com.
Contents¶
quickstart¶
Standard Setup (on rover)¶
First, on your rover (CHIP, Raspberry Pi, BeagleBone, etc):
$ sudo apt install git
$ git clone --recursive https://github.com/aninternetof/rovercode.git && cd rovercode
$ sudo bash setup.sh #run this only once -- it will take some time
$ sudo bash start.sh #run this each time you boot the rover (or automatically start if chosen in setup)
Then, on any PC or tablet, head to rovercode.com to connect to your rover. Start playing!
Development Setup (on development PC)¶
When developing rovercode, you may want to run rovercode on your PC instead of a CHIP/Raspberry Pi/Beaglebone. Below are instructions for how to install and run rovercode on your PC. Everything should work fine: rovercode will automatically detect that it is not running on target hardware and will stub out the calls to the motors and sensors.
First, on your development PC:
$ sudo apt install git
$ git clone --recursive https://github.com/aninternetof/rovercode.git && cd rovercode
$ sudo bash setup.sh #run this only once -- it will take some time
$ sudo bash start.sh #run this each time
Then, still on your development PC, head to rovercode.com and connect to your “rover” (your PC running the service).
Alternate Development Setup (on development PC using Docker)¶
Rather use Docker? First, on your development PC:
$ sudo apt install git docker.io
$ git clone --recursive https://github.com/aninternetof/rovercode.git && cd rovercode
$ sudo docker build -t rovercode .
$ sudo docker run --name rovercode -v $PWD:/var/www/rovercode -p 80:80 -d rovercode
Then, still on your development PC, head to rovercode.com and connect to your “rover” (your PC running the service).
contribute¶
There is lots of fun work to be done!
Head on over to the rovercode github. We use ZenHub to improve GitHub’s agile management, so install it, then visit the boards tab to find a fun card in the backlog. Or submit a new card for a bug or cool new feature idea.
And remember, you can do all these same things for rovercode-web.
Chat with us on the rovercode Slack channel.
Follow the the code of conduct.
API¶
app |