Le contenu de cet article n'est que la procédure qui a fonctionné pour le moment.
https://qiita.com/takmot/items/987b493afeeada75925f Le programme récepteur UDP dans l'article ci-dessus a été créé dans .NET Core et publié pour Raspeye.
J'ai placé cette application sur / home / pi / work / udp / publish / udp_receiver
sur Raspeye. ʻUdp_receiver` est le nom du fichier exécutable.
Créez un fichier System D Unit sur votre PC.
Le nom du fichier doit être ʻudp_receiver.service (
[nom du fichier d'exécution] .service`).
Le contenu est le suivant.
[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» est facultatif car il s'agit d'un nom. ʻExecStart` spécifie le chemin du programme à exécuter. Le reste devrait être bien.
Transférez le fichier System D Unit créé vers Raspberry Pi par FTP.
Le chemin de stockage du fichier de l'unité SystemD sera / etc / systemd / system /
.
Allez dans sudo mv udp_receiver.service / etc / systemd / system /
etc.
Après cela, exécutez la commande suivante. * ʻUdp_receiver` est le nom du fichier d'exécution.
sudo systemctl daemon-reload
sudo systemctl enable udp_receiver
Voici les résultats de l'exécution.
sudo systemctl start udp_receiver
Quatre. Vérifier l'état de fonctionnement du service
sudo systemctl status udp_receiver
Voici le résultat de l'exécution de 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 septembre 16:33:39 raspberrypi systemd[1]: Started UdpRecv.
23 septembre 16:33:40 raspberrypi udp_receiver[1240]: Receive wait
Cinq. Redémarrez Raspberry Pi
sudo reboot
sudo ps -x
Tout a commencé comme suit.
De plus, cette fois, le port UDP 8888 est ouvert, alors vérifiez-le également.
sudo lsof -i:8888
Voici les résultats.
sudo systemctl stop udp_receiver
sudo systemctl disable udp_receiver
Pour le fichier de l'unité System D ci-dessus La position d'exécution du programme est "/".
Dans le cas d'une application Web, il existe un fichier js et un fichier css lié au html, Si vous les spécifiez comme chemins relatifs Puisque le programme va voir le chemin relatif de "/", il n'y a pas de fichier et une erreur se produit. Vous pouvez vérifier les erreurs ici dans les outils de développement de votre navigateur.
Pour résoudre ce problème, modifiez le fichier de l'unité SystemD comme suit:
[Unit]
Description=UdpRecv
After=network.target
[Service]
User=root
Type=simple
WorkingDirectory=/home/pi/work/udp/publish #ajouter à
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
Recommended Posts