Comment envoyer automatiquement un message APRS à un destinataire, à une heure précise, avec APRX ? Nous avons vu précédemment comment appeler un script externe avec APRX. Voici un exemple de script vite fait, pour l’interpréteur bin/sh prévu pour tourner sur un Raspberry lui même sur Raspbian. Il y a de fortes chances que ça fonctionne sur d’autres plate-formes et d’autres Linux, mais je n’ai pas testé. Rappelons que le but est de récupérer directement le résultat du script par APRX 2.8 sans passer par l’écriture d’un fichier sur la SDcard (par souci d’économie de lecture/écriture sur ce type de support). Pour cela, il génère une ligne avec le destinataire (dest$) et la bonne structure APRS pour un message, avec comme contenu de message: la date et la température du Raspberry. Attention, tel qu’il est, mon script d’exemple ne fonctionne que si $heure >16 et <18, sinon il est muet : il ne renvoi donc rien. Il ne fonctionne donc que de 17h00 à 17h59. Et le destinataire est F4GUK-9. Il me sert sur la route du retour du boulot, afin de savoir si mon Raspberry est entrain de cramer, ou pas ! Ici encore c’est à vous d’adapter en fonction de vos besoins. Notez toujours bien, la première ligne du fichier script qui appelle l’interpréteur /sh.
Avec toujours un « break » en fin, pour qu’APRX le prenne en compte. Dans le fichier aprx.conf, il faudra rajouter une section du genre :
avec « etc/init.d/aprxmsg » le nom du script dont le source est donné au dessus. L’avantage de fixer une heure de fonctionnement dans le script est qu’on peut le lancer comme on veut depuis APRX (ici toutes les 20 minutes), il se s’activera qu’à l’heure / minute / jour de son choix. J’ai laissé dans le script heure / jour / jour sem(aine) à utiliser et modifier comme vous voulez… Dans mon script final, j’ai aussi ajouté le fait que le message n’est envoyé que si « $temp > 45°c ». Inutile d’encombrer les ondes s’il n’y a pas d’utilité. Je ne l’ai pas ajouté là, pour ne pas complexifier le code. Alors ce n’est pas de la haute programmation. C’est juste pour donner des idées et aider ceux qui ne sont pas des pros du codage. A la fin, vous recevrez un message de ce genre sur la station de destination: ![]() Notez pour conclure, qu’il n’y a pas de vérification que le message envoyé est bien reçu par le destinataire. Pour implémenter ça, il faudrait numéroter le message « {nnn » (voir les spécifs APRS) et lire le contenu du fichier rflog situé en /var/log/aprx/aprx-rf.log d’APRX dans le but d’extraire un « ack » (accusé de réception) en rapport. |