Robobot
This page is for ROBOBOT, an extension of REGBOT with a raspberry pi and three wheels.
Installation observations
Raspicam
A rather short raspberry pi camera API is available from https://www.uco.es/investiga/grupos/ava/node/40. And can be downloaded from https://sourceforge.net/projects/raspicam/files/?
Unpack and install:
unzip raspicam-0.1.3.zip cd raspicam-0.1.3 mkdir build cd build cmake .. make sudo make install
Userland-master
To be able to install mobotware
Follow the guide under REGBOT for userland-master install
DNSMASQ
Install DNSMASQ
sudo apt install dnsmasq
allow dnsmasq to provide IP to pear-to-pear networks Edit the /etc/dnsmasq.conf and change/add the following line (for eth0)
dhcp-range=eth0,192.168.0.100,192.168.0.150,12h
To work, the eth0 must have an IP, if noone provides one, change /etc/dhcpcd.conf (dhcp client deamon) to have a default IP, if no DHCP server is available
Add the following lines at the end of /etc/dhcpcd.conf
# define static profile profile static_eth0 static ip_address=192.168.0.2/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 # fallback to static profile on eth0 interface eth0 fallback static_eth0 # define static profile profile static_eth1 static ip_address=192.168.1.2/24 static routers=192.168.1.1 #static domain_name_servers=192.168.0.1 # fallback to static profile on eth1 interface eth1 fallback static_eth1
This will also give a default IP for an eventual second network (usb-to-cable) if needed
Now, after a reboot, you should be able to connect a PC directly with at network cable to a PC, and the PC should get an IP from the raspberry, so now
ssh local@192.168.0.2
should work
Mobotware
Requires a number of packages - see Install on raspberry
ROBOBOT demo C++
This is an examplesoftware in C++ to access both raspberry camera and REGBOT, and with an example mission controlled from the raspberry.
REGBOT USB as SOCKET
To use the REGBOT client through the raspberry pi, the serial connection /dev/ttyACM0 on the raspberry can be convertet to a network port by socat. Addthe following line to /etc/rc.local
socat TCP-LISTEN:24001,fork,reuseaddr FILE:/dev/ttyACM0,raw,echo=0
This creates a socket server, listening to port 24001 and piping /dev/ttyACM0 to the socket (with no localecho). This only takes the data from the /dev/ttyACM0 when a client is connected to the socket.
This is good for configuring the REGBOT.
Works after a reboot.