The Blok Diagram for the whole system:
No soldering is required to build this robot because I use jumper wire to connect all necessary connection between the GPIO to the L298n motor driver module, and then i connect the two dc motor to the mounting hole on the L298n module.
you can arrange all the parts to the main body all the way you like and then make it attach really strong using a few nuts and spacer.
the main thing you have to concern is arranging the cables neatly so the robot can move easily.
This robot run on raspbian using the webiopi framework.
If you don't know how to install raspbian you can check:
you can install webiopi using this tutorial:
for the camera stream I use mjpg-streamer which give a very good streaming live video for the robot. this is how you can easily install it using this tutorial:
after installing the software needed you can grab my code from github:
make sure the raspberry pi is connected to your network.
launch the python program using on your raspberry pi using:
$ sudo python surocam.py
launch your browser then open:
and voila now you can control the robot by only using the web browser.
The configuration above is for using the robot offline which means you can only control it in a local network.
To make it online its a bit tricky because it need a static IP and whole lot other configuration needed. Most of it cannot be succeeded and its hard to find what went wrong for me
For using the robot online the simple way I use ngrok service. the information on how to use and download it, you can find it here:
make sure you sign up and get a token key, because you can choose the subdomain the way you want.
after you download the ngrok first you have to run the python program in the background using this command:
$ sudo python surocam.py &
then launch the ngrok software with the network port that was used and the subdomain you desired, for example:
$ ngrok -subdomain=surocam 8000
Open the web browser again but now open the DNS that you've choose before:
Now you can easily access the robot from anywhere in the world just by using a web browser