DEV Community

medmor
medmor

Posted on • Edited on

Control rc car using raspberry pi (Part 3 : Run the server at startup)

Configure the server to run as a service at startup

To set up the server to run at startup using systemd, we need to create a unit file that we will name it carServer.service under /etc/systemd/system.

This file will contain the needed configuration informations to start our server at startup. We can configure our service like this:

[Unit]
Description=Rc Car Server Controller
Wants=network-online.target
After=network-online.target

[Service]
ExecStart=/usr/bin/python3 /usr/local/bin/carProjectServer/server.py
User=enakr
Restart=always
WorkingDirectory=/usr/local/bin/carProjectServer

[Install]
WantedBy=multi-user.target
Enter fullscreen mode Exit fullscreen mode

Here you can see that the file contains multiple sections, and the content is self-explanatory. For example:

  • The ExecStart points to our python program that will be run when the service is started. You can change the path to match your workspace folder.
  • The After=network-online.target and Wants=network-online.target ensure that the service runs after the network is up.

Finally, we need to enable our service by running the command :
sudo systemctl enable rcCarServer.service.
Now, when you reboot the raspberry, the server should start.
You can check if the server is running with the command:
sudo systemctl status rcCarServer.service.

AWS GenAI LIVE image

How is generative AI increasing efficiency?

Join AWS GenAI LIVE! to find out how gen AI is reshaping productivity, streamlining processes, and driving innovation.

Learn more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more