Move your Robot from anyware…
I have done several projects, I was working on that will use the Beagle Bone Black. This is a nice platform for embedded developers, especially for relative novices like me. It’s a 1ghz ARM-based single board computer.
This is step by step guide to make Linux based internet controlled robot with web cam using beagle bone black.
* Beagle Bone Black (here)
* USB wifi Dongle
* 4Gb Memory Card (SDHC Class 10 )
* H-Bridge / L293d Motor Driver
* 8 AA size batteries with 2400mAh
* 7.4 v Lithium-iron battery
* USB TTL Serial Cable (Such as the FTDI TTL-232R-3V3)
* Voltage Regulator (LM7805)
Once you have all of the necessary components, you should perform the following steps:
First step is to make a power supply using AA batteries and 7805 which can power up BB
on robot. The 7805 isn’t very efficient, but it does keep the voltage down to 5v. Evidently,
the BBB really doesn’t want anything more than about 5.25v input. The schematic is
something like this:Figure 1 bbb-battery-schematic Figure 1 bbb-battery-schematic
After powering bbb, you need SD Card which has Ubuntu OS. There is lots of links are
available to make boot able SD card for bbb, you can follow this link.
At this stage you are ready with battery arrangement and SC card, now its time to connect
serial port to bbb. JTAG and serial were cut down in to USB on bbb. But serial port is
available via the J1 header.Connect the USB TTL serial cable to J1. The following
connections are relevant:
Connect USB with the host machine.
The bbb uses a serial debug port to communicate with the host machine.
The commands discussed in this Step are meant to be performed by a privileged user
account. This requires the root login or prepending each command with sudo.
* Start minicom on your host machine in configuration mode. As root:
# minicom -o -s -w
A menu of configuration should appear. Use the Down-arrow key to scroll down and select the Serial port setup option, and press Enter.
Verify that the listed serial port is the same one that is connected to bbb. If it is not, press A, and enter the correct device. This is /dev/ttyUSB0 on my Linux distributions.
Set the Bps/Par/Bits option by pressing the letter E and using the next menu to set the appropriate values. You press the key that corresponds to the value 115200, then press Enter.
Set Hardware flow control to No using the F key.
Set Software flow control to No using the G key.
Press Enter to return to the main configuration menu, and then press Esc to exit this menu.
Reset the board, and wait for a moment. If you do not see output from the board, press Enter several times until you see the prompt. If you do not see any output from the board, and have verified that the serial terminal connection is setup correctly.
At this step, you will get console of your bbb on minicom at your host machine.
Run following command to install required packages on bbb.
$ sudo apt-get update
$ sudo apt-get install libv4l-dev libjpeg8-dev subversion imagemagick libapache2-mod-php5 php5 apache2 git
MPEG-STREAMR package is used to stream live feed taken from webcam.
Open terminal & checkout mpeg-streamr repository by typing following command in terminal.
$ svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer MJPG-streamer
After this you will get MJPG-streamer folder.
$ sudo make USE_LIBV4L2=true
This will build source code of MJPG-streamer and executable and shared libraries in this
folder. The folder contains below files.
* mjpg_streamer (binary)
Download the codes from this link. You will get bbbRobot.tar.gz file. Extract the file on the host machine.Copy all files to Apache server folder “/var/www” folder on bbb.
Now to navigate robot, it is essential to control motors via gpio. To toggle gpio from web page you have to provide sudo permission to you “/var/www” floder.The command below will add sudo rights to “/var/www” folder.
sudo echo “www ALL=(ALL) NOPASSWD: ALL” >> /etc/sudoers
Now, its time to connect bbb to the wifi router. This link will give you list of commands to
connect bbb with wifi via command line.
For live streaming of web cam, it is essential to change ip address in control.html file in the
source code. In line “http://10.0.0.3:8081/?action=stream” , replace only ip address(
highlighted by bold characters ) .
Now, its time to word on assembling the robot and connect motors with H-bridge.
Here, I will uset P9 header GPIO pins 12, 14, 15 and 16 on bbb.
We will connect GPIO pins 12,14 with L293 IC to control Left Motors and 15, 16 pins with L293 IC to control Right Motors. 7.4 v Lithium-iron battery is used to power up L293.
This is the final step to test your robot using some internet browser.
Power up bbb and L293. Wait until bbb get booted successfully.After booting of bbb, open
your browser in laptop and type following :
<bbb ip address>/bbbRobot.php
Here in my case,
Enjoy your internet operated toy !!
(Courtesy of Bhargav Shah Ahmedabad )