Skip to content
Brooke Morrison edited this page Aug 31, 2020 · 15 revisions

Remo.tv

This wiki is officially deprecated. All documentation should be viewed at https://docs.remo.tv

Coming from Let's Robot

If you're coming from Let's Robot, there are a few key things this controller does differently. You can read more about it here.

Basic Setup

If this is your first time working with a Raspberry Pi or Linux, we recommend following our initialization tutorial to get started.

Installing remotv control scripts on a Raspberry Pi

If doing things manually isn't your style, we made an optional guided installation script that handles mostly everything for you.

The RasPi will need the following things installed so it can talk to your motors and talk to the internet. Make sure you don't get any errors in the console when doing the step below. If you have an issue, you can run this line again, that will usually fix it!

  1. Install the required software libraries and tools. Make sure you don't get any errors in the console. If you have an issue, you can run this line again, and that will usually fix it!
    sudo apt update
    sudo apt upgrade -y
    sudo apt install ffmpeg python-serial python-dev libgnutls28-dev espeak python-smbus python-pip git
  2. Download the remotv controls scripts from GitHub.
    git clone https://github.com/remotv/controller.git ~/remotv
  3. Install python requirements
    sudo python -m pip install -r ~/remotv/requirements.txt
  4. Open the new remotv directory
    cd remotv
  5. Copy controller.sample.conf to controller.conf
    cp controller.sample.conf controller.conf

Configure the controller

  1. Edit the controller.conf file created in the previous section.

    nano controller.conf
  2. Configure the [robot] section

    Variable Default Value Description
    owner YourRemoUsername The username you have registered on remo.tv
    robot_key YourRobotAPIKey The API key for your robot that you made on the site.
    channel The name of the channel you want the robot to join. This is optional. If the named channel cannot be found, the robot will join the first channel.
    turn_delay 0.4 Only used by the motor_hat and mdd10. This changes how long your bot drives for. I suggest you leave this at the default value until after your bot is moving.
    straight_delay 0.5 Only used by the motor_hat and mdd10. This changes how long your bot drives for. I suggest you leave this at the default value until after your bot is moving.
  1. Configure the [camera] section.

    Variable Default Value Description
    no_camera false This allows the camera to be disabled
    no_mic false This allows the microphone to be disabled
    type ffmpeg This sets the audio/video handler to use. Currently only ffmpeg and ffmpeg-arecord are supported.
    x_res 768 Sets the resolution for the x axis
    y_res 432 Sets the resolution for the y axis
    camera_device /dev/video0 Sets the device name for the camera
    mic_num 1,0 Sets the audio hardware number for the microphone
    mic_device The name of the microphone for if the hardware number keeps changing
  2. Configure the [tts] section

    Variable Default Value Description
    type espeak See the list below
    tts_volume 80 This is the volume level you want your bot to start with
    anon_tts true This allows you to enable or disable anonymous users from accessing your bots TTS features
    filter_url_tts true This option allows URLs pasted into chat to be blocked from the TTS function
    ext_chat true This enables or disables the extended chat functions
    speaker_num 1,0 This is the ALSA hardware number for your Pi. 0 is the first sound card that should work for most bots.
    speaker_device This is the name of your device is the hardware number keeps changing.
    boot_message ok This is a list of phrases your bot can say when it's ready to move, separated by commas.
    delay_tts false This enables or disables delaying messages being spoken. Messages that are deleted while waiting will not be spoken over TTS.
    delay 10 Time in seconds to delay the TTS function.

Setting up your start_robot file on the Raspberry Pi

  1. Copy the start_robot script to your home directory.

    cp ~/remotv/scripts/start_robot ~
  2. Add the startup script to the crontab

    crontab -e

    Note: if you accidentally use the wrong editor try

    EDITOR=nano crontab -e
  3. Insert the following text at the bottom

    @reboot /bin/bash /home/pi/start_robot

    Example:

    # Edit this file to introduce tasks to be run by cron.
    #
    # Each task to run has to be defined through a single line
    # indicating with different fields when the task will be run
    # and what command to run for the task
    #
    # To define the time you can provide concrete values for
    # minute (m), hour (h), day of month (dom), month (mon),
    # and day of week (dow) or use '*' in these fields (for 'any').
    #
    # Notice that tasks will be started based on the cron's system
    # daemon's notion of time and timezones.
    #
    # Output of crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    #
    # For example, you can run a backup of all your user accounts
    # at 5 a.m every week with:
    # 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
    #
    # For more information see the manual pages of crontab(5) and cron(8)
    #
    # m h dom mon dow   command
    
    @reboot /bin/bash /home/pi/start_robot
  4. Now just plug in the Camera and USB speaker and reboot

    sudo reboot

Hardware Compatibility

The following hardware is supported

Missing something? You can add it, open source! Instructions for adding new hardware can be found here.

Check out the rest of the wiki for more information on your chosen TTS, Video controller, and hardware controller.

Clone this wiki locally