Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

It’s assumed that the user running this script has “pib“ as a username and the operating system is the latest Raspberry Pi OS.

Here is the description of some variables being used in the script:

TMP_DIR - the directory where the archives with Cerebra, phpLiteAdmin, and the database initialization script will be saved. It’s /home/user/setup_tmp/ by default.

ROS_WORKSPACE - the directory where the ROS2 node for the camera will be installed and the scripts for starting ROS and Cerebra (ros_cerebra_boot.sh) and the camera (ros_camera_boot.sh) as well. It’s /home/user/ros2_ws/ by default.

PHPLITEADMIN_INSTALLATION_DIR - the directory where the phpLiteAdmin is being installed. It’s /var/www/phpliteadmin by default.

DATABASE_DIR - the directory where the database is being initialized. It’s /home/user/pib_data by default.

DEFAULT_NGINX_HTML_DIR - the directory where Cerebra will be unzipped. It’s etc/nginx/html by default.

_URL variables contain links to download all necessary files and packages.

…_FILE and …_ZIP variables describe the filenames to save the downloaded resources.What the script does:

Req #

What is done

How to test this requirement

1

The username of the user running the script is printed to console like “Hello “+$USERNAME+”! You are now setting up pibs software…”

Run the setup-testscript and make an assertion in the script for the line in the created logfile provided by the testscript.

Will be automated in the future and part of the testscript

2

Check if username is “pib”.

If yes: continue.

If no: Ask “It is strongly recommended to run this script as user ‘pib’, but your username is '“+$USERNAME+”. Do you want to continue anyways? (y/n): “

If yes: continue

if no: abort the script with the message “Aborting installation, no changes were done. Please re-run the script as user ‘pib’…”

At the moment it must be tested manually. Create VM and create a new user on it. Change user context to new user and run setup-script.

An additional testscript will be created and testing this via an assertion in the testscript.

3

Ask for admin password and enable the script to run with admin/root privileges

Must be tested manually as sudo and password is technically not possible through a shh-pseudo-shell in a virtual machine

Current workaround in the testscript is to make a sudo-command with a chmod right before executing the setup-pib.sh. So the sudo-context and password is saved for a certain amount of time and the setup-script will be running in a sudo-context without prompting for the password.

4

Cerebra is installed

Going to “http://localhost” or “http://<IP>” in chromium opens the Cerebra UI

5

The database is available

Going in Cerebra to “Programs” shows a default program. Without database the complete right component is empty.

6

BrickV is installed

BrickV can be opened in the menu (Programs->BrickV)

7

The animated eyes are installed on the desktop

Animated gif is on the desktop

8

A link to Cerebra is available on the desktop

Shortcut is on the desktop

TODO: check this for validity:

To check if ROS successfully started, execute the command:

...