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

    VariableDefault ValueDescription
    ownerYourRemoUsernameThe username you have registered on remo.tv
    robot_keyYourRobotAPIKeyThe API key for your robot that you made on the site.
    channelThe 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_delay0.4Only 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_delay0.5Only 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.

    VariableDefault ValueDescription
    no_camerafalseThis allows the camera to be disabled
    no_micfalseThis allows the microphone to be disabled
    typeffmpegThis sets the audio/video handler to use. Currently only ffmpeg and ffmpeg-arecord are supported.
    x_res768Sets the resolution for the x axis
    y_res432Sets the resolution for the y axis
    camera_device/dev/video0Sets the device name for the camera
    mic_num1,0Sets the audio hardware number for the microphone
    mic_deviceThe name of the microphone for if the hardware number keeps changing
  2. Configure the [tts] section

    VariableDefault ValueDescription
    typeespeakSee the list below
    tts_volume80This is the volume level you want your bot to start with
    anon_ttstrueThis allows you to enable or disable anonymous users from accessing your bots TTS features
    filter_url_ttstrueThis option allows URLs pasted into chat to be blocked from the TTS function
    ext_chattrueThis enables or disables the extended chat functions
    speaker_num1,0This is the ALSA hardware number for your Pi. 0 is the first sound card that should work for most bots.
    speaker_deviceThis is the name of your device is the hardware number keeps changing.
    boot_messageokThis is a list of phrases your bot can say when it's ready to move, separated by commas.
    delay_ttsfalseThis enables or disables delaying messages being spoken. Messages that are deleted while waiting will not be spoken over TTS.
    delay10Time 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