This commit is contained in:
Your Name
2025-05-26 17:42:29 +02:00
parent 4fc06ccce0
commit cd8cf349dd
9 changed files with 1207 additions and 295 deletions

View File

@@ -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