Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

ESP8266 comme broker MQTT local pour que les capteurs continuent de fonctionner quand Internet coupe ?

ESP8266 comme broker MQTT local pour que les capteurs continuent de fonctionner quand Internet coupe ?

Résolu 5 6

Traduit de English par IA ·

Petit entrepôt plus ma maison à côté. Six nœuds ESP8266 (température, deux contacts de porte, une pince de courant pour le congélateur, un capteur de portail). Chacun se connecte actuellement tout seul à Hermetry via MQTT/TLS.Problème : la connexion Internet de l’entrepôt coupe quelques fois par semaine, parfois pendant une heure. Quand cela arrive, les nœuds perdent tout, et l’un d’eux pilote aussi un buzzer local que je voudrais garder opérationnel (portail ouvert + congélateur chaud = bip).J’ai trouvé uMQTTBroker, qui fait tourner un broker sur un ESP8266. Le plan serait : un ESP8266 en broker local, les nœuds publient dessus, et quelque chose transmet à Hermetry quand Internet est disponible. Quelqu’un a-t-il déjà fait cela ? Un ESP8266 suffit-il pour 6 clients ? Et le broker de Hermetry peut-il se connecter en bridge à lui ou recevoir les messages retained après une coupure ?

♥ 0

Traduit de English par IA ·

Personnellement, je ne mettrais pas l’élément qui doit impérativement rester actif sur la puce la plus faible du bâtiment. Mais je suis curieux de savoir ce que les autres ont fait.

Measure twice, poll once.
♥ 0

Traduit de English par IA ·

uMQTTBroker fonctionne, je l’ai utilisé un certain temps. Pas de TLS, et chez moi il a planté à partir d’environ 8 clients.

♥ 0

Traduit de English par IA ·

Que se passe-t-il pour les alarmes Hermetry quand Internet est coupé ? Elles ne se déclenchent tout simplement pas ?

Timestamps in UTC or it didn't happen.
♥ 2

Traduit de English par IA ·

@Rachel ils ne peuvent pas, Hermetry ne voit jamais les données tant que la connexion n’est pas rétablie. Pour la même raison, nous gardons les verrouillages locaux à l’atelier et utilisons le cloud pour les notifications et l’historique. Ta logique de buzzer doit rester sur site.

Ground loops are my cardio.
♥ 0

Traduit de English par IA ·

J’ai exactement essayé le truc uMQTTBroker chez moi l’an dernier et j’ai abandonné, puis j’ai fait ceci, qui tourne sans problème depuis 8 mois. Je ne suis pas expert, donc prenez-le comme « ce qui a marché pour moi ».Un Pi Zero 2 W faisant tourner Mosquitto sert de broker local. Les nœuds ESP8266 publient dessus sur le LAN ; le port 1883 non chiffré convient ici, car rien ne sort de la maison. La logique du buzzer est un petit script Python sur le Pi qui s’abonne localement, il fonctionne donc sans aucune connexion Internet.Pour Hermetry, le Pi est un seul appareil marqué comme passerelle (l’interrupteur « Cet appareil est une passerelle » lors de l’ajout). Un second script s’abonne à tout sur le broker local, horodate chaque mesure avec l’heure du Pi (synchronisée par NTP, à vérifier avec timedatectl), les conserve dans un fichier SQLite et les envoie vers le cloud avec paho-mqtt sur TLS :

topic: v1/gw/telemetry
{
  "freezer-1": [{"ts": 1762941600000, "values": {"temp": -18.6, "amps": 1.92}}],
  "gate":      [{"ts": 1762941605000, "values": {"open": 0}}]
}

Chaque nœud devient un appareil enfant portant son nom. Il ne supprime une ligne de SQLite qu’après le PUBACK. Quand Internet revient, il envoie l’arriéré du plus ancien au plus récent, par lots, et les mesures se placent à leurs heures réelles dans l’historique.Deux choses que j’ai apprises à mes dépens. Hermetry ignore le flag retain et ne fait pas de pont vers votre broker, donc ne vous appuyez sur aucun des deux. Et un gros arriéré se résorbe au rythme « Replay messages per second » du profil, donc après une longue coupure il faut un certain temps pour rattraper le retard, c’est normal.La page que j’ai suivie : Devices behind a gateway.

Ask me about 4–20 mA.
Solution acceptée♥ 9
6 sujets de 1 à 6 (sur un total de 6)
  • Vous devez être connecté pour répondre à ce sujet.

Rejoignez la discussion

Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

Partager