Der Inhalt dieses Artikels ist nur das Verfahren, das vorerst funktioniert hat.
https://qiita.com/takmot/items/987b493afeeada75925f Das UDP-Empfängerprogramm im obigen Artikel wurde in .NET Core erstellt und für Raspeye veröffentlicht.
Ich habe diese Anwendung auf / home / pi / work / udp / Publish / udp_receiver
auf Raspai platziert. udp_receiver
ist der Name der ausführbaren Datei.
Erstellen Sie eine System D Unit-Datei auf Ihrem PC. Der Dateiname sollte "udp_receiver.service" ("[Name der Ausführungsdatei] .service") sein. Der Inhalt ist wie folgt.
[Unit]
Description=UdpRecv
After=network.target
[Service]
User=root
Type=simple
ExecStart=/home/pi/work/udp/publish/udp_receiver
[Install]
WantedBy=multi-user.target
Description
ist optional, da es sich um einen Namen handelt.
Geben Sie den Pfad des auszuführenden Programms in "ExecStart" an.
Der Rest sollte in Ordnung sein.
Übertragen Sie die erstellte System D Unit-Datei per FTP auf Raspberry Pi.
Der Speicherpfad für die SystemD Unit-Datei lautet "/ etc / systemd / system /".
Gehen Sie zu sudo mv udp_receiver.service / etc / systemd / system /
etc.
Führen Sie danach den folgenden Befehl aus. * Udp_receiver
ist der Name der Ausführungsdatei.
sudo systemctl daemon-reload
sudo systemctl enable udp_receiver
Unten sind die Ausführungsergebnisse.
sudo systemctl start udp_receiver
Vier. Überprüfen Sie den Betriebsstatus des Dienstes
sudo systemctl status udp_receiver
Das Folgende ist das Ausführungsergebnis von "sudo systemctl status udp_receiver".
● udp_receiver.service - UdpRecv
Loaded: loaded (/etc/systemd/system/udp_receiver.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-09-23 16:33:39 JST; 5s ago
Main PID: 1240 (udp_receiver)
Tasks: 8 (limit: 4915)
Memory: 5.1M
CGroup: /system.slice/udp_receiver.service
mq1240 /home/pi/work/udp/publish/udp_receiver
23. September 16:33:39 raspberrypi systemd[1]: Started UdpRecv.
23. September 16:33:40 raspberrypi udp_receiver[1240]: Receive wait
Fünf. Starten Sie Raspberry Pi neu
sudo reboot
sudo ps -x
Es begann wie folgt.
Auch dieses Mal ist der UDP-Port 8888 geöffnet. Überprüfen Sie dies ebenfalls.
sudo lsof -i:8888
Unten sind die Ergebnisse.
sudo systemctl stop udp_receiver
sudo systemctl disable udp_receiver
Für die obige System D Unit-Datei Die Ausführungsposition des Programms ist "/".
Im Fall einer Webanwendung gibt es eine JS-Datei und eine CSS-Datei, die mit HTML verknüpft sind. Wenn Sie sie als relative Pfade angeben Da das Programm den relativen Pfad von "/" anzeigt, gibt es keine Datei und es tritt ein Fehler auf. Sie können hier in den Entwicklertools Ihres Browsers nach Fehlern suchen.
Ändern Sie die SystemD Unit-Datei wie folgt, um dieses Problem zu beheben:
[Unit]
Description=UdpRecv
After=network.target
[Service]
User=root
Type=simple
WorkingDirectory=/home/pi/work/udp/publish #hinzufügen
ExecStart=/home/pi/work/udp/publish/udp_receiver
[Install]
WantedBy=multi-user.target
https://qiita.com/KEINOS/items/f3e6b3064b0cbe35fd03 https://tomosoft.jp/design/?p=11697