I am big fan of Raspberry Pi project and have 4 Pi's at home for now.
In free time I am working on home project: Raspberry Pi Tank.
I would like to share it with you, collect some feedback and probably find some enthusiasts to collaborate.
Raspberry PI Tank (PiTank) is an open source project for controlling toy tank remotely using Raspberry Pi.
Pi is connected to tank hardware using GPIO. It controlls tank movements and tower rotation.
PiCamera is mounted on top of the tower and can be moved in vertical axis using servo.
Wi-Fi dongle is used to allow remote control.
To allow controlling GPIO remotely some server-side code was developed on Perl.
- Daemon that listens TCP/IP port and depending on received command changes some GPIO pin
- There are several backend that can send commands to this daemon:
Simplest one is telnet:). Control protocol is human readable and easy to explore(text based).
When using telnet I tried to make it CLI style.
The second backend is a perl script that continusly read keyboard presses and convert them into commands for daemon.
So tank can be controlled using well-known for gamers 'WASD' keys.
Addionally to that WebUI interface is developed on ruby (thanks to Artem Sheremet).
In WebUI you can see video streamed from camera and also control tanks using well-known 'WASD' keys or by pressing buttons on page.
And yeah, everything runs under Arch Linux.
This is how it looks right now:
All code is on github:
1. Server-side code, listens to tcp/ip socket and generate GPIO pulses based on commands.
Writen by Pavel Bondar(me) on Perl:
2. WebUI for PiTank, shows steamed video in browser, read user keypessed and transmit command via tcp/ip socket into Perl daemon.
Written by Artem Sheremet on Ruby(usingrack):
More info can be found here:
The first version looked: