update
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
# File: /var/www/moduleair_pro_4g/services/setup_services.sh
|
||||
# Purpose: Set up all systemd services for moduleair data collection
|
||||
# Purpose: Set up all systemd services for moduleair data collection and LED matrix display
|
||||
# to install:
|
||||
# sudo chmod +x /var/www/moduleair_pro_4g/services/setup_services.sh
|
||||
# sudo /var/www/moduleair_pro_4g/services/setup_services.sh
|
||||
@@ -205,24 +205,76 @@ AccuracySec=1h
|
||||
WantedBy=timers.target
|
||||
EOL
|
||||
|
||||
# Create service and timer files for LED Matrix Display
|
||||
cat > /etc/systemd/system/moduleair-matrix-display.service << 'EOL'
|
||||
[Unit]
|
||||
Description=moduleair LED Matrix Display Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/var/www/moduleair_pro_4g/matrix/imageScreen/image_split /var/www/moduleair_pro_4g/matrix/imageScreen/ModuleAir128x64.png
|
||||
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
|
||||
|
||||
[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
|
||||
|
||||
# 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; do
|
||||
systemctl enable moduleair-$service-data.timer
|
||||
systemctl start moduleair-$service-data.timer
|
||||
echo "Started moduleair-$service-data timer"
|
||||
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"
|
||||
done
|
||||
|
||||
echo "Checking status of all timers..."
|
||||
systemctl list-timers | grep moduleair
|
||||
|
||||
echo "Setup complete. All moduleair services are now running."
|
||||
echo "To check the status of a specific service:"
|
||||
echo ""
|
||||
echo "LED Matrix Display will:"
|
||||
echo " - Start 30 seconds after boot"
|
||||
echo " - Run every 10 seconds (6s animation + 4s gap)"
|
||||
echo " - Show split reveal animation + 3s display"
|
||||
echo ""
|
||||
echo "To check the status of services:"
|
||||
echo " sudo systemctl status moduleair-npm-data.service"
|
||||
echo "To view logs for a specific service:"
|
||||
echo " sudo systemctl status moduleair-matrix-display.service"
|
||||
echo ""
|
||||
echo "To view logs for services:"
|
||||
echo " sudo journalctl -u moduleair-npm-data.service"
|
||||
echo "To restart a specific timer:"
|
||||
echo " sudo systemctl restart moduleair-npm-data.timer"
|
||||
echo " sudo journalctl -u moduleair-matrix-display.service"
|
||||
echo " tail -f /var/www/moduleair_pro_4g/logs/matrix_service.log"
|
||||
echo ""
|
||||
echo "To restart timers:"
|
||||
echo " sudo systemctl restart moduleair-npm-data.timer"
|
||||
echo " sudo systemctl restart moduleair-matrix-display.timer"
|
||||
echo ""
|
||||
echo "To disable matrix display:"
|
||||
echo " sudo systemctl stop moduleair-matrix-display.timer"
|
||||
echo " sudo systemctl disable moduleair-matrix-display.timer"
|
||||
Reference in New Issue
Block a user