Create an Internet Controlled Robot Using Livebots

101,107

184

40

Posted in TechnologyRaspberry-pi

Introduction: Create an Internet Controlled Robot Using Livebots

About: Hi, My name is Francisco Dias and I'm a student from Lisbon, Portugal. Have a look at my website: http://franciscodias.net/
Here you will learn how to create an internet controlled robot or other installation using Livebots.

Livebots is a project I'm working on which consists of an easy to use website for all the robots that people can interact with through the internet.


As an example I will be using a simple Arduino UNO with a LED connected to an Raspberry Pi to show you the concept, but of course you can use anything that can be receive messages by the serial port and any computer you would like.

Here is it:
 

And here is another example:

 

Step 1: Program the Arduino

Attached is a simple arduino program that reads the messages form the serial port and lights the LED when they contain "HIGH" and turns it off when "LOW".

Feel free to adapt it to your own needs.

Step 2: Add the Robot to the Livebots Website

Start by creating an account (http://livebots.cc/Account/Register).

Click Add a Robot and upload your bot's picture (http://livebots.cc/Upload/1).

Then you can add your robot information that will appear on the robot's page.

Step 3: Install PySerial

In order to let python communicate with arduino you will need to install pySerial: http://pyserial.sourceforge.net/  

1. Download and click open: http://sourceforge.net/projects/pyserial/

2. Unzip and untar the files

3. Install pySerial. On a terminal window, navigate to the folder where you have the files and run the following command:
cd pyserial-2.5
sudo python setup.py install

For more info on how to do this on raspberry pi go here:
http://www.doctormonk.com/2012/04/raspberry-pi-and-arduino.html

PS: If you're on Windows make sure you have python installed: http://www.python.org/getit/windows/ (Thanks msandersmay10 for pointing this out!)

Step 4: Get Livebots Python Class

We have a respository for the pyhon code we use to control the robots, you can find it here: https://bitbucket.org/XicoMBD/livebots

In order to use it to control your own robot just follow this steps:

1. Download livebots.py from the repository and save it somewhere convenient

2. Open the terminal window and navigate to the folder where you saved the class
cd ..

3. Run python:
python

4. Import the library:
>>>from livebots import *

5. Create the livebot (Enter the Livebot number on the first field and the serial port name on the second):
>>>livebot('9','/dev/ttyACM0')

Step 5: Get the Webcam Streamer for Raspberry Pi

To stream the webcam video using raspberry pi, mjpg-streamer should be the best option: http://sourceforge.net/apps/mediawiki/mjpg-streamer/

I
n order to install it on your pi follow the steps:
1. Install subversion:
sudo apt-get update
sudo apt-get install subversion

2. Go to the folder where you want to have the mjpg-stremer, for example /home/pi
cd /home/pi

3. Get mjpg-streamer:
svn co https://mjpg-streamer.svn.sourceforge.net/svnroot/mjpg-streamer mjpg-streamer

4. Install libjpeg8-dev
sudo apt-get install libjpeg8-dev

5. Install ImageMagick
sudo apt-get install imagemagick

6. Make the project:
cd mjpg-streamer/mjpg-streamer
make

7. When it finishes you should be ready to start streaming your video. To do so, enter the following command:
./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -w ./www"

8. Now you should be able to view the stream from other computer on your network. Open a web browser and open the following link:
http://{name or IP-address of the Raspi}:8080

9. However, to let the stream be viewed from outsite your network you will need to port forward your router. This varies from router to router, so please search on google how to do it on yours.


For more information go here: http://wolfpaulus.com/journal/embedded/raspberrypi_webcam

Step 6: Put the Stream on Livebots and Setup the Control Mode

If you're using mjpg-streamer select it on the Stream Mode combobox and paste your URL on the Stream URL textbox (for example: http://79.169.49.122:8090)

The you can choose your control mode. If you go for the Buttons, select it on the Control Mode combobox and add your buttons content on table.

If you want color on the buttons add one of the following tags to the cell:
  • #Green
  • #Red
  • #Blue
  • #Orange
Uncheck the Is Draft box, check the LIVE box and it's done!

Now your robot will appear on the robots list and on the front page.

Step 7: Have Fun!

Share

    Recommendations

    • Microcontroller Contest

      Microcontroller Contest
    • Casting Contest

      Casting Contest
    • Make it Move Contest

      Make it Move Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    40 Comments

    Whoa! Pretty nice man! =D
    Is there any way of controlling te Arduino by USB over the internet? Actually, I don't have a RapberryPi...

    6 replies

    you need a pi if you like Linux I am running raspbian wheezy (similar to Debian)

    Haha this is a late reply.
    Use the ethernet shield. It's not USB, but you can control it without another computer.

    And this is a late thank you! ^^

    Ok then,gotta try it someday. Thank you!

    in step 6'
    6. Make the project:
    cd mjpg-streamer/mjpg-streamer

    And i got error:
    pi@raspberrypi ~ $ cd mjpg-streamer/mjpg-streamer
    bash: cd: mjpg-streamer/mjpg-streamer: No such file or directory

    I can only typed cd mjpg-streamer/
    Then i went on to "make" and still getting error
    pi@raspberrypi ~/mjpg-streamer $ make
    make: *** No targets specified and no makefile found. Stop.

    Can u help us to fix this problem?

    5 replies

    What happens when you type ls?

    I'm having the same issue as supra_2009:
    make: *** No targets specified and no makefile found. Stop.
    If I type ls at the command line I get
    index.html

    Does webcam driver has to be installed or not?

    Can I put step 1 into step 2 folder?

    pi@raspberrypi ~ $ cd mjpg-streamer
    pi@raspberrypi ~/mjpg-streamer $ ls
    input_file.so mjpg-streamer.sh output_file.so
    input_uvc.so mjpg-streamer.sh.orig output_http.so
    mjpg-streamer.log mjpg_streamer output_udp.so

    Do u installed webcam driver?

    Try to adapt this tutorial maybe:http://www.raspberrypi-spy.co.uk/2013/07/running-a-python-script-at-boot-using-cron/

    This is the best bit of info I have found on this.Thank you.

    The repository has moved though. It can be found at https://svn.code.sf.net/p/mjpg-streamer/code/

    I also found this page useful to get mjpg-streamer running at boot.
    http://www.rudiswiki.de/wiki/DockStarWebCamStream

    This is the best bit of info I have found on this. Thank you.

    The repository has moved though it can be found at https://svn.code.sf.net/p/mjpg-streamer/code/

    I also found this page useful to get mjpg-streamer running on boot.

    Nice project. I came across your Instructable after I Googled how to install mjpg-streamer and your instructions worked perfectly, thank you for detailing it step by step.
    Off to work on my version of telepresence :)

    Very usefull. See more about creating sites http://saitomaster.com