67 lines
1.9 KiB
Bash
67 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
# 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 SARA R4 APN
|
|
info "Set up Monogoto APN"
|
|
/usr/bin/python3 /var/www/nebuleair_pro_4g/SARA/sara_setAPN.py ttyAMA2 data.mono 2
|
|
|
|
#Connect to network
|
|
info "Connect SARA R4 to network"
|
|
python3 /var/www/nebuleair_pro_4g/SARA/sara_connectNetwork.py ttyAMA2 20810 60
|
|
|
|
#Add master_nebuleair.service
|
|
SERVICE_FILE="/etc/systemd/system/master_nebuleair.service"
|
|
info "Setting up systemd service for master_nebuleair..."
|
|
|
|
# Create the systemd service file (overwrite if necessary)
|
|
sudo bash -c "cat > $SERVICE_FILE" <<EOF
|
|
[Unit]
|
|
Description=Master manager for the Python loop scripts
|
|
After=network.target
|
|
|
|
[Service]
|
|
ExecStart=/usr/bin/python3 /var/www/nebuleair_pro_4g/master.py
|
|
Restart=always
|
|
User=root
|
|
WorkingDirectory=/var/www/nebuleair_pro_4g
|
|
StandardOutput=append:/var/www/nebuleair_pro_4g/logs/master.log
|
|
StandardError=append:/var/www/nebuleair_pro_4g/logs/master_errors.log
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
success "Systemd service file created: $SERVICE_FILE"
|
|
|
|
# Reload systemd to recognize the new service
|
|
info "Reloading systemd daemon..."
|
|
sudo systemctl daemon-reload
|
|
|
|
# Enable the service to start on boot
|
|
info "Enabling the service to start on boot..."
|
|
sudo systemctl enable master_nebuleair.service
|
|
|
|
# Start the service immediately
|
|
info "Starting the service..."
|
|
sudo systemctl start master_nebuleair.service |