Control a RC car over the internet via node.js using socket.io and johnny-five.
- Raspberry Pi
- Arduino UNO
- USB connection from RPi to Arduino UNO
- Wires for power and ground
- Wires from Aruidno Pin 10 to steering servo
- Wires from Aruidno Pin 9 to throttle servo
- Socket.io
- Express.js
- Johnny-five
- OpenCV
- RaspiCam
- Python OpenCV
- Python PiCamera
- Update/upgrade OS, then restart
- sudo apt-get update
- sudo apt-get upgrade
- sudo rpi-update
- sudo ldconfig
- sudo shutdown -r now
- Note: If rpi-update doesn't work, certificates may be needed, there are notes on how to do this at the bottom
- Install node.js
- wget http://node-arm.herokuapp.com/node_latest_armhf.deb
- sudo dpkg -i node_latest_armhf.deb
- Install node modules
- npm install socket.io express johnny-five
To run opencv.py
- Install python libraries
- sudo apt-get install libopencv-dev python-pip python-opencv python-dev python-picamera
- Start up the nodejs server
- sudo node server.js
- Open a web browser to the Raspberry Pi's internet location
- Enter the Raspberry Pi's address into the field and click the connect button
- Control the RC Car
Alternate options to run
- Run the node server when there's no Arduino attached
- sudo node server.js noArduino
- server.js - socketio server, forwards information between opencv.py and webpage. Commands Arduino via johnny-five
- index.html - webpage served by node server
- manual control socketio emits
- robot status from socketio
- retrieves static elements from public folder
- opencv.py - raspberry pi camera and opencv processing
- only has face detection for now
- updates opencv image in public folder
- Nodejs version for opencv and raspi camera
- Proper 3d printed mounts for RC car components
- Easier way to configure RC car for use at new locations
- Stream OpenCV video to the internet
- ZeroRPC - and ZMQ
- sudo apt-get install libzmq-dev
- npm install zerorpc
- sudo pip install zerorpc
- If rpi-update doesn't work, git and/or certifications may be needed, use Hexxeh
- $ sudo apt-get install ca-certificates
- $ sudo apt-get install git-core
- $ sudo apt-get install rpi-update
- Then use rpi-update as normal
- $ sudo rpi-update
- $ sudo ldconfig
- $ sudo reboot