Raspberry Pi powered robot. Eventually semi-autonomous.
- The code that runs a Pi powered DAGU Multi-Chassis with two motors, encoders, and a camera
- Basically just a $250, multiple man-month long project to antagonize my cats
- Daemon or ncurses output
- Setup pins via config file (TODO)
- Fastcgi web interface for control and status (TODO)
- Camera output to the web interface (TODO)
- Server - The intermediary interface between the Web module and Controller. This is the main entry point.
- Controller - The motor controller interface. Steering, driving, camera controller.
- Web - The static website with AJAX controls.
-
Basic I/O, SIG handling -
Motor PWM output test -
Motor Encoder input test - Motor PWM/encoder PID loops
- Encapsulate the above
- Daemon mode
- FastCGI interface
- Raspberry Pi B+ (need the 2nd PWM output pin)
- DAGU Multi-Chassis
- 2 Motor Encoders
- Dual channel PWM motor controller
- Lots of batteries
- Pi Camera
- Distance Sensors
- bcm2835
- ncurses
- rt
- rsync/scp
- lighttpd / apache
- fastcgi
- spawn-fcgi
For ease of development, it is cross-compiled.
bcm2835:
./configure --build=arm-linux --host=arm-rpi-linux-gnueabi --prefix=/home/nick/dev/rpi
Since I don't know enough about make to have it autodetect/find the right toolchain, run this before running make:
export PATH=$PATH:/home/nick/x-tools/arm-rpi-linux-gnueabi/bin
- Install packages on the Pi:
- pacman -S lighttpd fcgi spawn-fcgi rsync ncurses
- configure lighttpd and fcgi on the Pi
- make upload
spawn-fcgi -s /var/run/lighttpd/drd-server.socket -u alarm -U http -- /home/alarm/server