update
This commit is contained in:
15
services/matrix_boot.sh
Normal file
15
services/matrix_boot.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
# Simple boot script - run animation then sensor display
|
||||
# sudo chmod +x /var/www/moduleair_pro_4g/services/matrix_boot.sh
|
||||
# sudo /var/www/moduleair_pro_4g/services/matrix_boot.sh
|
||||
|
||||
echo "$(date) - Starting boot animation..."
|
||||
sudo /var/www/moduleair_pro_4g/matrix/imageScreen/image_split_boot /var/www/moduleair_pro_4g/matrix/imageScreen/ModuleAir128x64.png
|
||||
|
||||
#0echo "$(date) - Boot animation done, starting sensor display..."
|
||||
#sudo /var/www/moduleair_pro_4g/matrix/screenSensors/displayAll4_v2
|
||||
|
||||
echo "$(date) - Boot animation done, starting network display..."
|
||||
sudo /var/www/moduleair_pro_4g/matrix/screenNetwork/network_status
|
||||
|
||||
echo "$(date) - Both programs started"
|
||||
@@ -206,52 +206,46 @@ WantedBy=timers.target
|
||||
EOL
|
||||
|
||||
# Create service and timer files for LED Matrix Display
|
||||
cat > /etc/systemd/system/moduleair-matrix-display.service << 'EOL'
|
||||
cat > /etc/systemd/system/moduleair-boot.service << 'EOL'
|
||||
[Unit]
|
||||
Description=moduleair LED Matrix Display Service
|
||||
Description=ModuleAir Matrix Boot Display
|
||||
After=network.target
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/var/www/moduleair_pro_4g/matrix/imageScreen/image_split /var/www/moduleair_pro_4g/matrix/imageScreen/ModuleAir128x64.png
|
||||
Type=simple
|
||||
ExecStart=/var/www/moduleair_pro_4g/services/matrix_boot.sh
|
||||
User=root
|
||||
WorkingDirectory=/var/www/moduleair_pro_4g/matrix/imageScreen/
|
||||
StandardOutput=append:/var/www/moduleair_pro_4g/logs/matrix_service.log
|
||||
StandardError=append:/var/www/moduleair_pro_4g/logs/matrix_service_errors.log
|
||||
WorkingDirectory=/var/www/moduleair_pro_4g/
|
||||
StandardOutput=append:/var/www/moduleair_pro_4g/logs/matrix_boot.log
|
||||
StandardError=append:/var/www/moduleair_pro_4g/logs/matrix_boot.log
|
||||
TimeoutStartSec=120s
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOL
|
||||
|
||||
cat > /etc/systemd/system/moduleair-matrix-display.timer << 'EOL'
|
||||
[Unit]
|
||||
Description=Run moduleair LED Matrix Display every 10 seconds
|
||||
Requires=moduleair-matrix-display.service
|
||||
|
||||
[Timer]
|
||||
OnBootSec=30s
|
||||
OnUnitActiveSec=10s
|
||||
AccuracySec=1s
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
EOL
|
||||
|
||||
# Make sure the matrix executable has proper permissions
|
||||
echo "Setting permissions for LED matrix executable..."
|
||||
chmod +x /var/www/moduleair_pro_4g/matrix/imageScreen/image_split
|
||||
chmod +x /var/www/moduleair_pro_4g/matrix/screenSensors/displayAll4_v2
|
||||
|
||||
# Reload systemd to recognize new services
|
||||
systemctl daemon-reload
|
||||
|
||||
# Enable and start all timers
|
||||
echo "Enabling and starting all services..."
|
||||
for service in npm envea sara bme280 co2 db-cleanup matrix-display; do
|
||||
systemctl enable moduleair-$service-data.timer 2>/dev/null || systemctl enable moduleair-$service.timer
|
||||
systemctl start moduleair-$service-data.timer 2>/dev/null || systemctl start moduleair-$service.timer
|
||||
echo "Started moduleair-$service timer"
|
||||
for service in npm envea sara bme280 co2 db-cleanup; do
|
||||
systemctl enable moduleair-$service-data.timer
|
||||
systemctl start moduleair-$service-data.timer
|
||||
echo "Started moduleair-$service-data timer"
|
||||
done
|
||||
|
||||
# Enable the boot service (runs once at boot, no timer needed)
|
||||
echo "Enabling boot display service..."
|
||||
systemctl enable moduleair-boot.service
|
||||
|
||||
echo "Checking status of all timers..."
|
||||
systemctl list-timers | grep moduleair
|
||||
|
||||
|
||||
Reference in New Issue
Block a user