Bonjour,
J'ai eu des difficultés à trouver les sources pour ce qui suit, donc je les résume ici pour les partager. C'est notamment la config du port série qui m'a donné du fil à retordre...
J'ai 3 instruments de mesure connectés à une machine serveur sous linux (pour un banc d'étalonnage) via 3 ports série RS232. Les sources ci-dessous permettent de lire régulièrement les valeurs des 3 instruments et de les copier dans 3 fichiers correspondant. (Ces fichiers sont lus par une application "web" qui fait l'interface utilisateur.)
La lecture n'est faite que si le fichier "DATANEEDEDFILE" existe et est récent (moins de "LIFE" secondes) : Ce fichier est "touché" par un autre script lié à l'application qui utilise les valeurs fournies par les instruments. Cela évite de faire des requêtes inutiles sur les instruments si l'application n'en a pas besoin.
Le fichier bancserial.c contient les fonctions pour l'ouverture des ports et la mise en forme des valeurs numériques.
Le fichier daemonize.c contient la fonction main et gère la partie mise en daemon. (Merci à Levent Karakas.)
Compilation : gcc -o bancserial bancserial.c daemonize.c
Vous pouvez ensuite faire le script d'init qui va bien /etc/init.d/bancserial...
En espérant que ce soit un peu utile... ;-)
TanaT
Partager