Reprendre le contrôle d'un YoctoHub-GSM-4G par SMS

Reprendre le contrôle d'un YoctoHub-GSM-4G par SMS

Pour effectuer des mesures au milieu de nulle part et les transmettre à un serveur, la solution la plus simple consiste en général à utiliser un réseau 4G à basse consommation comme le LTE-M ou NB-IoT pour les envoyer périodiquement à un serveur. On peut par exemple utiliser un YoctoHub-GSM-4G configuré pour effectuer des callbacks HTTP vers un serveur PHP avec VirtualHub for Web. Mais comment faire si un jour le hub cesse de se connecter au serveur?


Les causes de ce genre de problème peuvent être diverses:

  • un problème sur la source d'énergie: batterie défectueuse, panneau solaire sale...
  • une panne due à la présence de condensation ou d'oxydation sur l'électronique
  • une perte de connectivité IP liée à un changement sur le réseau 4G
  • un changement de configuration involontaire du hub
  • un bug qui cause l'arrêt des callbacks pour une raison ou une autre

Dans les premiers cas, la seule solution consiste à intervenir sur place pour remettre l'appareil en service. Mais pour les trois derniers cas, disposer de mécanismes de récupérations qui permettent de diagnostiquer et de remettre en route la transmission de données à distance peut parfois éviter un voyage de plusieurs centaines de kilomètres...

Redémarrage automatique


La première méthode, disponible de longue date, consiste à configurer dans le YoctoHub-GSM-4G un délai maximal pour essayer d'établir une connexion réseau vers le serveur. Deux cas de figure se présentent:

  1. Si le hub doit rester sous tension en permanence entre les callbacks, on se contentera d'un redémarrage à chaud lorsque la connexion au server ne peut s'établir après un délai spécifié. Le délai se configure dans la section Outgoing callbacks (Network downtime to reboot).
  2. Si le hub est configuré pour passer en sommeil profond après chaque callback au serveur, il faut configurer dans la section Wake-up scheduler un Maximum power-on duration qui s'assurera d'éteindre le hub dans tous les cas, même si le serveur n'a pas pu être joint, de sorte à recommencer après un redémarrage à froid lors du prochain réveil planifié


Configuration du redémarrage à chaud Configuration de la mise en sommeil automatique
Fenêtres de configuration pour le redémarrage automatique


N'essayez pas de combiner les deux solutions: si le hub redémarre à chaud avant de s'éteindre, il recommencera aussi au démarrage son compte à rebours pour la mise en sommeil profond, et ne s'endormira donc jamais !

Commandes par SMS


La nouveauté que nous vous proposons cette semaine dans le YoctoHub-GSM-4G, et que vous pouvez obtenir en installant le firmware 55707, consiste à pouvoir envoyer des SMS de contrôle à votre hub. Ainsi, s'il ne parvient plus à se connecter à votre serveur mais qu'il capte encore un réseau GSM, vous avez une chance de le récupérer.

Sécurité


Par mesure de sécurité, seuls les SMS provenant d'un numéro préalablement configuré sont pris en compte. Les autres ne produisent qu'un message de log et sont automatiquement effacés. Ce nouveau réglage se trouve dans la section Incoming connections de la configuration:

Le nouveau réglage de contrôle par SMS
Le nouveau réglage de contrôle par SMS


En cliquant sur le bouton edit, on obtient une fenêtre de configuration et de test:

L'interface de configuration du contrôle par SMS
L'interface de configuration du contrôle par SMS


Cette fenêtre offre inclut un bouton permettant d'envoyer un message de test au numéro choisi, ce qui est doublement intéressant. D'une part, cela vous permettra de vérifier que la carte SIM supporte l'envoi de SMS - ce n'est pas toujours le cas avec les forfaits IoT. D'autre part, c'est la manière la plus simple de connaître le numéro de téléphone de votre hub, car le hub lui-même n'a aucun moyen de vous en informer: dans la grande majorité des cas le numéro n'est pas stocké sur la carte SIM, et le standard 4G n'a pas prévu de commande pour le demander à l'opérateur.

Grâce à ce message de test, vous pourrez donc simplement répondre au message sur votre téléphone avec une des commandes ci-dessous pour vérifier que votre hub reçoit bien vos messages.

Messages reconnus


Le contrôle par SMS permet uniquement quelques opérations importantes suivantes. Voici les commandes reconnues:

Ping demande simplement au hub de vous confirmer par SMS la bonne réception du message. Si le hub est configuré pour se réveiller périodiquement, il vous répondra au prochain réveil - les SMS ne sont pas reçus lors du sommeil profond. Vous pourrez donc savoir si le hub est encore vivant et capable de se connecter au réseau cellulaire.

Trig demande au hub de déclencher un callback HTTP dès que possible. Dans le cas où vous auriez configuré un intervalle entre les callbacks trop grand pour permettre les callbacks, ou programmé une mise en sommeil trop rapide pour permettre au hub de faire son callback, cela peut vous permettre de récupérer le contrôle de votre hub.

Dump xxx.bin demande au hub faire un dump de son état actuel dans le fichier xxx.bin sur la mémoire flash, pour investigation ultérieure. Dans les cas où le hub ne parvient plus à établir la connectivité IP et que vous devez le redémarrer ou même intervenir sur place, ce dump permettra éventuellement au support Yoctopuce de diagnostiquer la cause du problème.

Reset provoque un redémarrage du hub.

Load nomfichier.json demande au hub de recharger d'un seul coup toute sa configuration depuis le fichier local nomfichier.json. Pour utiliser cette fonction, vous devez naturellement avoir préalablement créé ce fichier de sauvegarde de configuration sur le hub, avec le bouton disponible sur cette même fenêtre, ou avec la fonction get_allSettings de la librairie Yoctopuce par exemple. Vous pouvez donc basculer votre hub sur une configuration de secours prédéfinie en cas de problème.

Notez que si vous êtes amené à devoir changer à distance la configuration des callbacks ou la configuration cellulaire de votre hub, la manière la plus sûre est de

  1. prédéfinir la nouvelle configuration sur un autre hub, de manière à pouvoir tester préalablement
  2. puis d'uploader le fichier de configuration sur le distant hub par le gestionnaire de fichier (fonction manage files sur VirtualHub for Web)
  3. et enfin d'activer la nouvelle configuration d'un coup par la commande SMS Load maconfig.json

En effet, si vous essayez de changer ce genre de paramètres directement via l'interface de VirtualHub (for Web), le hub risque de couper le callback dès le premier changement de réglage, et de ne pas terminer la reconfiguration, L'utilisation de la commande Load garantit une application de tous les réglages d'un seul coup.

SMS et portails IoT


Comme mentionné précédemment, certaines SIM IoT n'offrent pas un accès direct des SMS vers les réseaux cellulaires publiques. Il peut néanmoins être possible d'envoyer et de recevoir des SMS par l'utilisation du portail Web du fournisseur de la SIM IoT, ce qui offre au final les mêmes possibilités d'utilisation du contrôle par SMS. Renseignez-vous après de l'opérateur IoT pour les détails spécifiques à votre SIM.

Si vous n'êtes pas sûr du numéro d'expéditeur utilisé par le portail que vous devez autoriser dans l'interface de configuration de votre YoctoHub-GSM-4G, faites simplement un essai en autorisant un numéro "au hasard". Lorsque le portail enverra votre premier SMS Ping, vous verrez dans les logs du YoctoHub le numéro de téléphone à l'origine du message "rejeté".

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.