Robobot install on Raspberry: Difference between revisions

From Rsewiki
Line 112: Line 112:


  sudo service mosquitto restart
  sudo service mosquitto restart
More details here [[Editing MQTT and Mosquitto]]

Revision as of 08:21, 30 March 2025

Back to Robobot B

Raspberry installation notes

Barebone installation (Raspbian GNU/Linux 11 (bullseye) as of July 2023)

Raspberry base install


Install Raspberry on blank SD-card

Use Raspberry pi imager (download from https://www.raspberrypi.com/software/)

rpi-imager

First configure settings: click the gear icon, and set:

  • enable ssh, hostname, English language, Danish keyboard, possibly SSID, time zone, username (local) and password (remember to spell the password correctly).

then

Select operating system 'Raspberry Pi OS lite' and storage, an empty SD-flash of at least 16GB, then write.

When finished, mount the SD into the Raspberry

Get in contact with Raspberry

If everything is configured as above, then you just need to figure out the IP. On a Linux computer, you can find the Raspberry IP address using (if on the same local net):

sudo apt install net-tools nmap
nmap -sP 192.168.2.0/24

else

You need a screen and keyboard.

Log on to the Raspberry Pi

$ ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
  ...
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
  ...
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
       inet 10.197.217.175  netmask 255.255.252.0  broadcast 10.197.219.255
       inet6 fe80::f620:b431:69cc:44f4  prefixlen 64  scopeid 0x20<link>
       ether dc:a6:32:f4:0e:a4  txqueuelen 1000  (Ethernet)
       RX packets 486  bytes 41505 (40.5 KiB)
       RX errors 0  dropped 0  overruns 0  frame 0
       TX packets 421  bytes 43403 (42.3 KiB)
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


In this case, the IP4 (inet) is 10.197.217.175.

If you don't get an IP, the wifi may not be set correctly (see the Network setup).

Additional packages

Install the following packages:

libreadline-dev
libopencv-dev
libgpiod-dev
gpiod
cmake
subversion
aptitude
telnet
ntp
ntpdate
nmap
lsof
libpaho-mqtt-dev 
libpaho-mqttpp-dev (if not available, then not needed)
python3-paho-mqtt
python3-opencv
python3-setproctitle
mosquito
mosquitto-dev 
mosquitto-clients
libusb-dev
libcli11-dev    (maybe not available)
sudo apt install libreadline-dev libopencv-dev libgpiod-dev gpiod cmake subversion aptitude telnet ntp ntpdate nmap lsof python3-paho-mqtt libpaho-mqtt-dev python3-opencv python3-setproctitle mosquitto mosquitto-dev mosquitto-clients libusb-dev libcli11-dev


and, if libcli11-dev is not available

Install command line interface library (if not found by 'apt install libcli11-dev')

cd
cd git
git clone https://github.com/CLIUtils/CLI11.git

The library is 'header-only', and the makefile for Raspberry looks in ~/git/CLI11 for the file, so no need to build.

Configure Mosquitto

At installation, the Mosquitto server does not allow remote access.

A complete configuration file can be found here: https://github.com/eclipse-mosquitto/mosquitto/tree/master

Only two options are needed, so we make a set of local options:

sudo nano /etc/mosquitto/conf.d/robobot.conf

Insert these lines (insert from clipboard is Ctrl+Shift+v in nano)

listener 1883
allow_anonymous true

Save and restart mosquito

sudo service mosquitto restart

More details here Editing MQTT and Mosquitto