#!/bin/bash # Script to set up the App after rebooting # Exit on error, unset variable usage, and error in a pipeline set -euo pipefail # Define color variables RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No color # Function to print messages in color info() { echo -e "${BLUE}[INFO]${NC} $1"; } success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; } warning() { echo -e "${YELLOW}[WARNING]${NC} $1"; } error() { echo -e "${RED}[ERROR]${NC} $1"; exit 1; } # Check for root privileges if [[ "$EUID" -ne 0 ]]; then error "This script must be run as root. Use 'sudo ./installation.sh'" fi #set up the RTC info "Set up the RTC" /usr/bin/python3 /var/www/nebuleair_pro_4g/RTC/set_with_NTP.py #Check SARA connection info "Check SARA connection" /usr/bin/python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 ATI 2 #set up SARA R4 APN info "Set up Monogoto APN" /usr/bin/python3 /var/www/nebuleair_pro_4g/SARA/sara_setAPN.py ttyAMA2 data.mono 2 #activate blue network led on the SARA R4 info "Activate blue LED" /usr/bin/python3 /var/www/nebuleair_pro_4g/SARA/sara.py ttyAMA2 AT+UGPIOC=16,2 2 #Connect to network info "Connect SARA R4 to network" python3 /var/www/nebuleair_pro_4g/SARA/sara_connectNetwork.py ttyAMA2 20810 60 #Need to create the two service # 1. start the scripts to set-up the services # 2. rtc_save_to_db #1. set-up the services (SARA, NPM, BME280, etc) info "Setting up systemd services..." if [[ -f "$REPO_DIR/services/setup_services.sh" ]]; then sudo chmod +x "$REPO_DIR/services/setup_services.sh" sudo "$REPO_DIR/services/setup_services.sh" || warning "Failed to set up systemd services" success "Systemd services set up successfully." else warning "Systemd services setup script not found." fi #2. Add rtc_save_to_db.service SERVICE_FILE_2="/etc/systemd/system/rtc_save_to_db.service" info "Setting up systemd service for rtc_save_to_db..." # Create the systemd service file (overwrite if necessary) sudo bash -c "cat > $SERVICE_FILE_2" <