Raspberry Pi directory structure for Robobot

From Rsewiki

Back to Robobot B

Contact with robot

When you start the robot, and it contacts the Wi-Fi network (DTUdevice), its IP address is shown on the small display (above the name and battery voltage).

This IP (10.197.21x.xxx) gives access to an SSH (secure shell).

On your PC, start Putty (install if you don't have it). A (cheaper?) alternative could be RealFTP.

Putty (Linux version), but Putty is also available for Windows and Mac.

Insert the IP, select the connection type (SSH), then port should default to 22.

Press 'open' to connect.

Connection to robot Jack (with another IP)

The connection will ask for username and password.

  • username is 'local'
  • password is (ask)

Then, you should see the files in the home directory (as shown above).

Alternative connection

On all platforms, a terminal window (command prompt in Windows) and an SSH connection can be started as

$ ssh local@192.168.2.151
local@192.168.2.151's password: 
Linux jack 6.1.21-v7+ #1642 SMP Mon Apr  3 17:20:52 BST 2023 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright. 
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Jan 25 11:08:11 2024 from 192.168.2.179

Welcome to ROBOBOT, see http://rsewiki.electro.dtu.dk -> robobot for more info
local@jack:~ $ ls
Documents  Downloads  Music  Video  git  mission_start.bash  on_reboot.bash  rebootinfo.txt  svn
local@jack:~ $

Directory structure

On the Raspberry, the main directories and files are:

/home/local/
|
+- svn        - Directory for software from the subversion repository (Robobot-specific software).
|  +- regbot  - Directory for the Teensy software (firmware); this part is called Regbot.
|  |  +- regbot_gui  Debug app for Regbot.
|  |  +- regbot      The firmware source code.
|  +- robobot        Directory for the Robobot-specific code.
|  |  +- setup       Directory with some default configuration files.
|  |  +- teensy_interface  From Teensy to MQTT
|  |  |  +- src      Source code 
|  |  |  +- build    Build directory with Makefile
|  |  |  |  +- log*  Directory for data-monitoring logfiles
|  |  |  |  robot.ini    Configuration and calibration file
|  |  +- ip_disp     Small app to update the IP address of the Raspberry.
|  |  |  +- build    Build directory with Makefile
|  |  |     +- log_*.txt Logfiles for IP and temperature monitoring
|  |  +- mqtt_python        The main mission app
|  |  |  +- mqtt-client.py  Main app file
|  |  +- stream_server      The camera server
|  |  +- teensy_firmware_8  Arduino code for the Teensy
|  +- log     - Directory with logfiles from ip_disp (IP, users and CPU temperature)
on_reboot.bash     - Script to start applications that should start after a reboot (ip_disp and teensy_interface)
mission_start.bash - Script to start mission app, when start button is pressed (and not running already)

See the current directory with

pwd
/home/local

Change directory with

cd svn

List files with

ls
log robobot

File share

The easy way to work with files on the robot is to mirror the disk to your local PC

On Windows

On Windows use 'winscp' (install if not there)

When you start winscp, you will get something like:

Fill the dialogue with your IP address, username and password (and save for next time), then log in.

With a bit of luck, you should get something like

on Linux (and Mac)

On Linux-based platforms, you could use SSHFS, a way to mount a remote directory on your own platform.

In a terminal, create an empty directory and mount the remote directory:

chr@mars:~$ mkdir jjj
chr@mars:~$ sshfs local@192.168.2.151: jjj
local@192.168.2.151's password: 
chr@mars:~$ cd jjj
chr@mars:~/jjj$ ls
Documents  Downloads  git  mission_start.bash  Music  on_reboot.bash  rebootinfo.txt  svn  Video

In the 'sshfs', remember the ':' after the IP address.