Install on raspberry: Difference between revisions

From Rsewiki
No edit summary
 
(197 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Short note on installation of (parts of) mobotware on Raspberry Pi
Back to [[Robobot]]


=== Prerequisite ===
Back to [[Flexbot]]


First install 2012-10-28-wheezy-raspbian on the raspberry Pi flashdisk and expand the flash-disk to at least 4GB - see the instructions on http://elinux.org/RaspberryPiBoardBeginners


Assuming this is up and running - with internet access
== Prerequisite ==


=== Packages needed ===
* Raspberry pi - version 3 or 4
* SD-card preferably at least 16Gb
* Monitor with HDMI (version 3) or micro HDMI (version 4) cable
* keyboard - and optional a mouse
* Access to network (wired or wifi)
* Power - either an USB charger or cable to a PC (micro USB (version 3) or USB-C (version 4)


The following packeges needs to be installed - e.g. using apt-get like:
It should be possible to start using USB or wifi connection from a PC without extra screen or keyboard, find solutions on internet - I have not tried.


sudo apt-get install subversion
====Make SD card a FAT32 partision, if reusing an old card====


Package list:
A new SD-card is fine as is, else


subversion  (to fetch mobotware from SVN)
see http://qdosmsq.dunbar-it.co.uk/blog/2013/06/noobs-for-raspberry-pi/ for instruction to prepare any old or new SD-card
libexpat-dev  (RHD)
pciutils-dev  (RHD)
libncurses-dev (RHD)
bison          (MRC)
libsdl-dev    (MRC)
telnet        (MRC test)


Get and unpack mobotware - you need the following directories only:
====Add boot-files to SD card====
mobotware/aumat
mobotware/mrc
mobotware/rhd
mobotware/build
The rest of the directories can be deleted, so can rhd/branches


=== Build ===
=====RPI imager =====
Build the needed parts of mobotware, e.g.:
cd ~/mobotware/aumat/trunk
make
cd ../../rhd/trunk
make
cd ../../mrc/trunk
make
In this order


Then collect the configuration and binary files in a test directory
Version 10 (buster) is easily installed using the 'Raspberry pi imager',
on Linux install with


=== Test ===
snap install rpi-imager
rpi-imager


make a test directory and fill it with the needed configuration and binary files, e.g.
and follow the screen
mkdir live
cd live
cp -r ~/mobotware/build/config/gogo/* .
ln -s ~/mobotware/rhd/trunc/build/bin/rhd .
ln -s ~/mobotware/rhd/trunk/build/bin/rhdtest .
ln -s ~/mobotware/mrc/trunk/mrc/mrc .
echo "" >calib/wdssparam.dat


You now need to modify the rhdconfig.xml file:
=====manual =====
Change the path to plugins, using e.g. nano
nano -w rhdconfig.xml
Change the line (assuming you use the default pi user)
from: <plugins basepath="/usr/local/smr/lib/rhdplugin/">
to:  <plugins basepath="/home/pi/mobotware/rhd/trunk/build/lib/rhdplugin/">
In the rhdconfig.xml there is already a number og plugins, this list need to be updated to your configuration.


To test if the RHD is running you may just change the attribute critical="true" to critical="false", the RHD will then continue even if the plugin fails to initialize. If some plugin is not found - e.g. maestro12ch.so.1 (it is not compiled by default) - then delete it from the rhdconfig.xml file, or change enable="true" to enable="false" for this plugin.
or  


The file calib/robot.conf needs update too.
Get the install zip-file from https://www.raspberrypi.org/downloads/noobs/  
You may use the configuration files in mobotware/build/config for inspiration


Now start the RHD (in the live directory):
Then unpack NOOBS zip-file to the new disk (use the newest version), like
  ./rhd
for the network version
It should end by saying "RHD is running", else check the rhdconfig.xml as above.
  unzip NOOBS_lite_v3_5_1.zip -d /media/xxx/yyyy  or
unzip ~/Downloads/raspberry/NOOBS_lite_v3_5_1.zip  (if you are on the empty flash)
or for the full version
unzip NOOBS_v3_5_1.zip -d /media/xxx/yyyy  or
unzip ~/Downloads/raspberry/NOOBS_v3_5_1.zip  (if you are on the empty flash)


OPen a new terminal tab and run rhdtest to see if it is alive:
====Reboot====
./rhdtest
And type
connect
You should now see a list of variables, where at least the Tick is updating.


Stop the rhdtest with ctrl-c
* Insert SD card on Raspberry,
===MRC test===
* Mount a heatsink - especially needed on version 4,
Start the MRC (while the RHD is running) using socket interface:
* Connect monitor, keyboard and (USB) power
  ./mrc -t1
 
In another terminal window use telnet to connect to the MRC
That is all, Raspberry should boot on that, and take some time to prepare the SD-Card.
  telnet localhost 31001
Or see instructions on e.g.: https://www.raspberrypi.org/help/noobs-setup/
MRC commands like
 
  eval $time
* Boot the raspberry and install the Raspberry Pi OS full (Debian).
Should now be avilable
* On the bottom of the screen select keyboard layout and language,
 
Settings
 
* Leave the pi password as is (for future reuse)
* Select language (prefer English - also for future reuse)
* select wifi access - if not using a cable.
 
==Usefull Linux commands==
 
Here are some common commands in Linux
 
ls    (directory file list)
cd    (change to home directory)
cd some_directory    (change to a subdirectory)
exit  (logout, e.g. of a ssh session)
grep -n string_to_look_for_in_a_file  *.cpp    (find a string in a file, e.g. a variable or a function)
sudo some_command    (execute a command as "root" - root is a superuser with administrator rights to everything)
pkill some_application_name  (stop (or kill) a running process with name "some_application_name")
pgrep some_application_name  (see if a process is running - good to use before a kill)
mv  from_file to_file    (rename a file)
cp  from_file to_file    (copy a file)
rm  some_file            (remove (delete) a file)
nano some_file          (simple text editor)
  zip, unzip              (pack or unpack files -  try zip --help  to see how.
top    (see process load and memory usage)
make    (compile all as described in the "Makefile" in the same directory)
make -j4 (compile using up to 4 CPU cores - faster if more files need to be compiled)
 
All commands have an online help if you add --help or -h after the command.
If this is not enough, then try
  man ls
to get the manual page for the ls command.
 
== Configure ==
 
==== Raspberry ====
 
use raspi-config, start a terminal:
 
sudo raspi-config
 
Using ''raspi-config''
Enable Camera
Set hostname (one word, no space)
Enable SSH
Disable Serial login
boot as a console with login
Update firmware
Set locale to "en_DK.UTF-8 UTF-8" (danish keyboard, but English language)
 
=== Update operating system ===
 
Ensure you have internet access, then
 
sudo apt-get update
  sudo apt-get dist-upgrade
sudo reboot

Latest revision as of 09:54, 24 December 2021

Back to Robobot

Back to Flexbot


Prerequisite

  • Raspberry pi - version 3 or 4
  • SD-card preferably at least 16Gb
  • Monitor with HDMI (version 3) or micro HDMI (version 4) cable
  • keyboard - and optional a mouse
  • Access to network (wired or wifi)
  • Power - either an USB charger or cable to a PC (micro USB (version 3) or USB-C (version 4)

It should be possible to start using USB or wifi connection from a PC without extra screen or keyboard, find solutions on internet - I have not tried.

Make SD card a FAT32 partision, if reusing an old card

A new SD-card is fine as is, else

see http://qdosmsq.dunbar-it.co.uk/blog/2013/06/noobs-for-raspberry-pi/ for instruction to prepare any old or new SD-card

Add boot-files to SD card

RPI imager

Version 10 (buster) is easily installed using the 'Raspberry pi imager', on Linux install with

snap install rpi-imager
rpi-imager

and follow the screen

manual

or

Get the install zip-file from https://www.raspberrypi.org/downloads/noobs/

Then unpack NOOBS zip-file to the new disk (use the newest version), like for the network version

unzip NOOBS_lite_v3_5_1.zip -d /media/xxx/yyyy  or
unzip ~/Downloads/raspberry/NOOBS_lite_v3_5_1.zip  (if you are on the empty flash)

or for the full version

unzip NOOBS_v3_5_1.zip -d /media/xxx/yyyy  or
unzip ~/Downloads/raspberry/NOOBS_v3_5_1.zip  (if you are on the empty flash)

Reboot

  • Insert SD card on Raspberry,
  • Mount a heatsink - especially needed on version 4,
  • Connect monitor, keyboard and (USB) power

That is all, Raspberry should boot on that, and take some time to prepare the SD-Card. Or see instructions on e.g.: https://www.raspberrypi.org/help/noobs-setup/

  • Boot the raspberry and install the Raspberry Pi OS full (Debian).
  • On the bottom of the screen select keyboard layout and language,

Settings

  • Leave the pi password as is (for future reuse)
  • Select language (prefer English - also for future reuse)
  • select wifi access - if not using a cable.

Usefull Linux commands

Here are some common commands in Linux

ls     (directory file list)
cd     (change to home directory)
cd some_directory    (change to a subdirectory)
exit   (logout, e.g. of a ssh session)
grep -n string_to_look_for_in_a_file  *.cpp     (find a string in a file, e.g. a variable or a function)
sudo some_command    (execute a command as "root" - root is a superuser with administrator rights to everything)
pkill some_application_name  (stop (or kill) a running process with name "some_application_name")
pgrep some_application_name  (see if a process is running - good to use before a kill)
mv  from_file to_file    (rename a file)
cp  from_file to_file    (copy a file)
rm  some_file            (remove (delete) a file)
nano some_file           (simple text editor)
zip, unzip               (pack or unpack files -  try zip --help   to see how.
top     (see process load and memory usage)
make    (compile all as described in the "Makefile" in the same directory)
make -j4 (compile using up to 4 CPU cores - faster if more files need to be compiled)

All commands have an online help if you add --help or -h after the command. If this is not enough, then try

man ls

to get the manual page for the ls command.

Configure

Raspberry

use raspi-config, start a terminal:

sudo raspi-config

Using raspi-config

Enable Camera
Set hostname (one word, no space)
Enable SSH
Disable Serial login
boot as a console with login
Update firmware
Set locale to "en_DK.UTF-8 UTF-8" (danish keyboard, but English language)

Update operating system

Ensure you have internet access, then

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot