Raspberry Pi Bookworm Scripts
This page provides an overview of the helper and management scripts for Raspberry Pi OS (Bookworm/Bullseye) used to operate DroneEngage services, networking, cameras, simulators, and maintenance tasks.
For the complete documentation, see the Raspberry Pi Bookworm Scripts README.
Subfolders
c_helpers/ - C++ helper utilities including
updateConfigtool for updating DroneEngage JSON config files with username, access code, and server settingsservice/ - Systemd service unit files for DroneEngage modules (de_communicator, de_mavlink, de_camera, etc.)
updates/ - Scripts for configuration backup and OTA updates
wrapper/ - Camera manager wrapper (C++) for orchestrating camera pipelines and tracking modules
not_used_but_useful/ - Archive of scripts not currently in use but potentially useful for reference
Service Management Scripts
enable_and_restart_services.sh - Enables and starts core DroneEngage services (de_communicator, de_mavlink)
disable_droneengage_service.sh - Disables and stops DroneEngage services
restart_droneengage_services.sh - Restarts DroneEngage services
stop_droneengage_services.sh - Stops de_communicator and de_mavlink services
enable_and_restart_rpi_cam.sh - Enables and starts de_camera_rpi_cam.service
stop_rpi_cam.sh - Stops de_camera_rpi_cam.service
Networking (Wi-Fi) Scripts
create_ap.sh - Sets up a classic AP using hostapd and dnsmasq with static IP, DHCP range, and NAT
wifi_start_ap.sh - Creates a NetworkManager hotspot AP (SSID
DE_ADMIN, WPA2) on wlan0wifi_use_wlan.sh - Connects to a Wi-Fi network as a client using NetworkManager
wifi_clean_all_non_ap.sh - Removes all NetworkManager connections except the hotspot AP
Camera and Video Scripts
sh_camera_create_named_vc.sh - Loads v4l2loopback to create named virtual cameras (DE-CAM1, DE-CAM2, DE-TRK, DE-RPI, DE-THERMAL)
sh_camera_run_rpi_camera.sh - Streams from Raspberry Pi camera using rpicam-vid to DE-RPI virtual camera
sh_camera_senxor_thermal_run_on_vc.sh - Runs thermal pipeline to DE-THERMAL virtual camera
sh_stream_from_camera.sh - Simple GStreamer pipeline from libcamerasrc to v4l2 sink
sh_kill_all_camera_apps.sh - Force-kills camera-related processes
These scripts are used by the Camera Manager Wrapper
Simulator Scripts
sh_start_simulators.sh - Starts de_comm, de_mavlink, and ArduPilot SITL instances
sh_stop_simulators.sh - Gracefully terminates running simulator processes
Configuration and Utility Scripts
sh_update_de_comm_config_in_sim.sh - Updates simulation config JSON with user credentials
sh_reset_config_local_files.sh - Deletes all *.local files under drone_engage directory
hlp_delete_file_instances.sh - Searches and deletes all instances of a given filename
hlp_check_open_ports.sh - Displays open TCP/UDP ports by PID or application name
hlp_reset_oem.sh - Runs config update with placeholder credentials, starts AP, cleans logs
isBullseye.sh - Detects whether OS is Raspberry Pi OS Bullseye or Bookworm
Maintenance Scripts
sh_clean_logs.sh - Aggressive cleanup for image sanitization: clears journals, logs, temp files, APT caches, old kernels, user caches, SSH keys, etc.
Notes
Many scripts require
sudoand assume specific paths under/home/piCamera scripts expect
v4l2loopback,ffmpeg, andrpicam-appsto be installedNetworking scripts may disrupt connectivity; run from console or be ready to reconnect