Robobot: Difference between revisions

From Rsewiki
Line 77: Line 77:
===REGBOT USB as SOCKET===
===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.
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. So install
Addthe following line to /etc/rc.local
 
sudo apt install socat
 
Add the following line to /etc/rc.local


  socat TCP-LISTEN:24001,fork,reuseaddr FILE:/dev/ttyACM0,raw,echo=0
  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 creates a TCP socket server, listening to port 24001 and piping /dev/ttyACM0 to the socket (with no local echo). This only takes the data from the /dev/ttyACM0 when a client is connected to the socket.


This is good for configuring the REGBOT.
This is good for configuring the REGBOT (connect wifi 192.168.0.2:24001).


Works after a reboot, or the same line on the command prompt.
Works after a reboot, or the same line on the command prompt.

Revision as of 21:34, 5 December 2016

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. So install

sudo apt install socat

Add the following line to /etc/rc.local

socat TCP-LISTEN:24001,fork,reuseaddr FILE:/dev/ttyACM0,raw,echo=0

This creates a TCP socket server, listening to port 24001 and piping /dev/ttyACM0 to the socket (with no local echo). This only takes the data from the /dev/ttyACM0 when a client is connected to the socket.

This is good for configuring the REGBOT (connect wifi 192.168.0.2:24001).

Works after a reboot, or the same line on the command prompt.