feat: add systemd files from NUC

This commit is contained in:
David Sharpe
2025-08-21 15:26:53 -05:00
parent 826f14725a
commit 37774c0c31
4 changed files with 76 additions and 0 deletions

14
anchor.service Normal file
View File

@@ -0,0 +1,14 @@
[Unit]
Description=Autostart the anchor node for controlling the rover and its modules
After=systemd-user-sessions.service
Requires=systemd-user-sessions.service
[Service]
ExecStart=/home/clucky/auto_start/auto_start_anchor.sh
Restart=always
RestartSec=5
User=clucky
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.target

24
auto_start/auto_start_anchor.sh Executable file
View File

@@ -0,0 +1,24 @@
#!/bin/bash
# Wait for a network interface to be up (not necessarily online)
while ! ip link show | grep -q "state UP"; do
echo "[INFO] Waiting for active network interface..."
sleep 1
done
echo "[INFO] Network interface is up!"
# Your actual ROS node start command goes here
echo "[INFO] Starting ROS node..."
# Source ROS 2 Humble setup script
source /opt/ros/humble/setup.bash
# Source your workspace setup script
source /home/clucky/rover-ros2/install/setup.bash
# CD to directory
cd /home/clucky/rover-ros2/
# Launch the ROS 2 node with the desired mode
ros2 launch rover_launch.py mode:=anchor

View File

@@ -0,0 +1,24 @@
#!/bin/bash
# Wait for a network interface to be up (not necessarily online)
while ! ip link show | grep -q "state UP"; do
echo "[INFO] Waiting for active network interface..."
sleep 1
done
echo "[INFO] Network interface is up!"
# Your actual ROS node start command goes here
echo "[INFO] Starting ROS node..."
# Source ROS 2 Humble setup script
source /opt/ros/humble/setup.bash
# Source your workspace setup script
source /home/clucky/rover-ros2/install/setup.bash
# CD to directory
cd /home/clucky/rover-ros2/
# Launch the ROS 2 node
ros2 run core_pkg headless

14
core_headless.service Normal file
View File

@@ -0,0 +1,14 @@
[Unit]
Description=Autostart headless core node for controlling the rover without a base station
After=systemd-user-sessions.service
Requires=systemd-user-sessions.service
[Service]
ExecStart=/home/clucky/auto_start/auto_start_core_headless.sh
Restart=always
RestartSec=10
User=clucky
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.target