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

Après une coupure de courant, 60 ESP32 entrent dans une boucle de reconnexion sans fin

Après une coupure de courant, 60 ESP32 entrent dans une boucle de reconnexion sans fin

Résolu 4 3

Traduit de Türkçe par IA ·

Bonjour, désolé d’avance pour la longueur de mon message.Nous prévoyons d’installer environ 200 petits boîtiers de mesure basés sur ESP32 dans la station de traitement des eaux où je travaille, pour le niveau, le débit et l’état des pompes. Ils seront tous dans le même bâtiment, se connecteront au même point d’accès et enverront leurs données à Hermetry via MQTT. Nous avons d’abord fait un essai pilote avec 60 d’entre eux.En fonctionnement normal, aucun problème. Mais la semaine dernière, il y a eu une coupure de courant de 20 minutes dans le bâtiment, et une fois le courant rétabli, la plupart des boîtiers n’ont pas réussi à se connecter correctement. Sur le port série que je surveille, il y a une succession continue de connexions et déconnexions, et sur le tableau de bord, les appareils passent sans cesse de en ligne à hors ligne. J’ai consulté l’onglet Log des appareils :

Connected via mqtts
Disconnected  Reason: takeover
Connected via mqtts
Disconnected  Reason: takeover

Par ailleurs, les administrateurs ont reçu une notification intitulée « takeover fight ».La première chose qui me vient à l’esprit, c’est le point d’accès. Nous utilisons un routeur de type domestique, il pourrait avoir du mal avec 60 clients, et je ne sais pas ce qui se passera avec 200. Entre-temps, pour accélérer le pilote, nous avons flashé le même firmware et le même jeton d’accès sur tous les boîtiers. Je le précise aussi, je ne sais pas si cela a un rapport.

♥ 0

Traduit de Türkçe par IA ·

La plupart des points d’accès grand public saturent à 30-50 clients, je pense que le problème vient de là. Il nous faut un point d’accès professionnel.

Sahadan selamlar.
♥ 0

Traduit de Türkçe par IA ·

Ilgaz a raison pour le point d’accès, mais le takeover dans le journal indique autre chose, et la vraie cause est la dernière phrase que tu as écrite.Dans Hermetry, chaque appareil n’a qu’une seule session. Quand une deuxième connexion du même appareil arrive, la première est fermée et la session est reprise. Si 60 boîtiers se connectent avec le même token, Hermetry les voit comme un seul appareil : chaque nouvelle connexion en éjecte une précédente, celle-ci se reconnecte, et la boucle ne s’arrête jamais. Un appareil qui fait cela en permanence depuis deux réseaux est mis en attente pendant un certain temps, et c’est la notification « takeover fight ». Normalement les connexions sont dispersées, donc vous ne l’aviez pas remarqué ; mais quand le courant est revenu et que les 60 sont repartis en même temps, ça a explosé.Que faire :1. Donnez à chaque boîtier ses propres identifiants. Plutôt que d’ajouter les 200 appareils un par un, vous pouvez faire un import en masse par CSV depuis la page Imports (jusqu’à 1 000 lignes par fichier). Un essai à blanc est d’abord effectué, et les tokens des nouveaux appareils arrivent dans un fichier téléchargeable une seule fois. Vous pouvez aussi utiliser une clé de provisioning dans le profil, pour que chaque appareil récupère son propre token au premier démarrage.2. Ajoutez un délai aléatoire avant la reconnexion. Si CONNACK 3 arrive, attendez puis réessayez, mais ne laissez pas tous les appareils réessayer dans la même seconde :

uint32_t backoff = 2000 + (esp_random() % 8000);   // 2-10 sn
if (!mqtt.connected()) { delay(backoff); mqtt.connect(id, token, ""); }

3. Keepalive entre 30 et 300 secondes. 60 convient bien.4. Ne vous fiez pas à un seul point d’accès domestique pour 200 boîtiers ; répartissez-les sur 2 à 3 points d’accès d’entreprise.Les détails sur la session et CONNACK sont sur la page MQTT.

Kayıtta yoksa olmamıştır.
Solution acceptée♥ 5

Traduit de Türkçe par IA ·

Esra, merci beaucoup, c’est exactement ça. J’ai importé les 60 appareils via CSV, et nous avons chargé les tokens du fichier téléchargé dans les boîtiers selon le numéro de série. Hier, nous avons volontairement retiré puis remis le fusible, et tous se sont connectés proprement en 15 secondes, sans aucun takeover dans le Log.Nous avons aussi changé l’AP : pour passer à 200, nous le répartissons sur trois AP de plafond.

♥ 0

Traduit de Türkçe par IA ·

+1 pour le jitter. Chez nous aussi, sur site, 40 capteurs essayant de se connecter en même temps se sont retrouvés bloqués par un blocage d’adresse ; le problème a été résolu avec un délai aléatoire.

Sahadan selamlar.
♥ 2
5 sujets de 1 à 5 (sur un total de 5)
  • 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