Page 1 sur 1

Quel Modem pour SMS raspberry Pi4

Posté : sam. 7 août 2021 18:52
par R-kallista
Bonjour à tous,

j'aimerais savoir quel modem utiliser avec un Raspberry Pi4 pour envoyer et recevoir des SMS ? je recherche facilité programmation et fiabilité :-)

Et si parmi vous certains ont déjà réalisé des programmations pour envoyer des SMS à une date et heure fixe ?
J'ai un équipement distant pour lequel j'envoie manuellement un SMS "Start" pour le démarrer et "Stop" pour l'arrêter.
Malheureusement les horaires de "START" et "STOP" ne sont pas régulier et demande des modifications d'horaire et de date réguliérement.

J'aimerais donc l'automatisé en indiquant dans un programme Python sous la forme d'un petit formulaire l'heure et la date de démarrage et d'arrêt pour l'envois automatique du SMS "Start" et idem pour le "Stop". Pour m'éviter d'attendre devant mon téléphone pour le faire manuellement.

Je suis donc preneur de vos éventuelles exemple de programmation.

D'avance merci.

Re: Quel Modem pour SMS raspberry Pi4

Posté : mar. 10 août 2021 20:38
par piper
Bonsoir.
Si j'ai bien compris, tu souhaiterais faire en python un formulaire (donc en mode fenêtre) qui permettrait de dire quand aura lieu le prochain envoi ?
ou quelle est la prochaine périodicité ?
Moi, j'utiliserai at ("at time")
at permet de déclencher prochainement des jobs.
Tu peux dire : tel jour à telle heure ou à telle heure ou dans tant de temps.
Ex : ta fenêtre dit à 12h, toutes les 2h , il est 11h30.
Ta fenêtre renseigne at pour que le job démarre à 12h et supprime l'ancienne programmation (si existe)
ton script démarre par at à 12h fait le travail et prépare le prochain passage à 12h + 2h = 14h
A 13h15, l'utilisateur revient sur la fenêtre et décide que c'est maintenant 1 fois toutes les 25h.
A la validation, ta fenêtre supprime la programmation de 14h et met la prochaine à 12h + 25h = 13h le lendemain.

At est plus facile à utiliser que crontab lorsqu'il s'agit de paramétrage qui doivent changer souvent par l'action d'un utilisateur via une application.
Les commandes :
atq : (q = query = demande) : liste les prochain jobs avec leur id)
atrm id : supprime la programmation du job numéro id
at 09:00 -f /home/linuxize/script.sh : lance le script à 9h00 (s'il est 8h50, c'est dans 10 minutes, s'il est 10h30, c'est demain)
at 1pm + 2 days -f /home/linuxize/script.sh : lance le script à 13h00 dans 2 jours

at dépend du service atd et s'installe via apt install at

Par contre pour une planification gérée exclusivement par un administrateur , là, je préfère crontab. L'administrateur utilisant la commande crontab -e pour mettre dans l'éditeur associé (nano ou vi), le paramétrage qui va bien à la main.

Et pour que python puisse lancer at : on utilise la fonction os.system
import os
os.system("atq | grep 'monscript.sh | cut -d$''\t' -f1")

Ceci renvoie tout les jobid de monscript.sh que at va prochainement lancer (1ère colonne : f1 - de retour d'un tableau dont le séparateur est la tabulation (\t))