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

Ciarán Walsh

ciaran55

@ciaranwalsh55 · Membre depuis juin 2025

Nouveau

Smart-city engineer · energy

Sujets
9
Réponses
68
Points
0
Nouveau10 points pour Membre

Toutes mes réponses sur les forums

15 sujets de 16 à 30 (sur un total de 68)

Operator had a fixed-IP APN option, we got a /28. Allowed networks set on the cabinet profile. Tested with a dev board on my home broadband using a real cabinet token: CONNACK 5, and the Log tab shows the refusal reason. Tokens and PSK are in NVS now, flash encryption is next after I brick a spare or two learning it. Missing board’s token revoked.

♥ 0

Don’t push the .bin over MQTT. Hermetry’s OTA tells the device where to download the image over HTTPS and the device does the rest. I did 140 street-cabinet controllers this way last year. The parts:

Hermetry side (an Admin, and an Owner once for the key):

  1. Profile of the room sensors, Firmware tab: turn on « Allow firmware updates for this profile ». Leave unsigned images off.
  2. Firmware > Signing keys: the Owner adds your Ed25519 public key. You sign each .bin on your laptop and upload the .sig with it. Hermetry never holds the private key.
  3. Upload firmware: Name must equal what the board reports as its firmware title, e.g. room-sensor, Version e.g. 2.1.0.
  4. Assign it, first to One device (the one in your office), later to the whole profile.

Device side, once by ladder, after that never again. The board gets these shared attributes on v1/attributes/set:

{"fw_title":"room-sensor","fw_version":"2.1.0","fw_size":1183744,
 "fw_checksum":"9c1e...","fw_checksum_algorithm":"SHA256",
 "fw_url":"https://...","fw_sig":"..."}

Your code then: report fw_state DOWNLOADING with fw_progress, download fw_url with HTTPClient into the OTA partition using Update.h, check SHA-256 and the signature, report VERIFIED, then UPDATING, reboot. After the reboot publish current_fw_title and current_fw_version. Hermetry only marks it Updated when that new version shows up. If anything fails, report FAILED with fw_error and stay on the old image.

Gotchas: fw_url is valid 15 minutes, so if a download stalls, ask for fw_url again on v1/attributes/req/1 and resume with an HTTP Range request. And firmware is never offered over plain MQTT, so the boards need to be on TLS.

Full page: Firmware updates (OTA)

Solution acceptée♥ 2

Blocks on rows 1 and 3 with contrast fine means the display powered up but never got initialised, so it’s sitting in its one-line power-on mode. Almost always the I2C address. Backpacks with a PCF8574A chip are at 0x3F, not 0x27, and from the outside they look identical. Run a scanner:

#include <Wire.h>
void setup() {
  Serial.begin(115200);
  Wire.begin(21, 22);
  for (uint8_t a = 1; a < 127; a++) {
    Wire.beginTransmission(a);
    if (Wire.endTransmission() == 0) Serial.printf("found 0x%02Xn", a);
  }
}
void loop() {}

Second thing for an ESP32: the backpack on 5V has its pull-ups to 5V, so SDA/SCL idle at 5V into a 3.3V chip. It usually works and it’s not great. Either power the backpack from 3.3V (some LCDs go faint at 3.3V) or remove the backpack’s pull-up resistors and add 4.7k to 3.3V, or put a small level shifter in between. For something on a cleanroom wall for years I’d do the level shifter.

Solution acceptée♥ 4

Traduit de English par IA ·

Problème réglé, merci Eric. J’ai supprimé l’abonnement echo, l’armoire attend maintenant le PUBACK avant d’effacer la mesure mise en mémoire tampon. L’afficheur effectue le GET toutes les 5 min. Le premier appel a été refusé et j’ai un peu paniqué, jusqu’à ce que je constate que j’avais créé la clé sous mon propre login dans l’organisation de test, si bien que l’identifiant de tenant dans le chemin ne correspondait pas à la clé. J’en ai créé une nouvelle dans la bonne organisation et tout a fonctionné immédiatement.

♥ 0

Traduit de English par IA ·

Le même schéma fonctionne pour les compteurs d’eau. increase nous a sauvés lorsqu’un compteur a été remplacé en milieu de mois et que le nouveau a démarré à 0.

♥ 0

Tyler has part of it. Each receiver input also has its own resistance to that side’s GND2 (the input impedance, around 96k for a 1/8 unit load device, more or less), and the bias network ties A and B toward one side’s isolated supply and ground. Each isolated side is floating, so it settles wherever those resistances and the leakage across the isolation barrier put it. The two GND2s drift toward each other through the bus wires themselves. On a 2 m bench with nothing injecting current, that’s close enough, so it works.

Over 300 m between buildings you get induced common-mode voltages and lightning transients. With nothing defining the common mode, one side can sit far outside the receiver’s range and the link gets flaky, or the isolation barrier takes surges it doesn’t need to.

Standard practice: run a third conductor as a signal reference, connect it to GND2 at each node through about 100 ohm to limit current if the grounds disagree, and earth the cable shield at one end only. Michael, that’s why you were taught three wires, it’s the right habit. Keep the bias on one end and termination at both ends as you have it.

Solution acceptée♥ 8

Traduit de English par IA ·

Ha, le monde est petit ! J’ai déjà réalisé l’éclairage public pour une ville de ce genre, avec City. Je ne sais pas s’il gère le stationnement, et je n’ai jamais trouvé de page de documentation à ce sujet non plus.

♥ 0

Traduit de English par IA ·

Gardez l’ancien thermostat réglé sur environ 12 °C en protection antigel, en parallèle. Ainsi, si Internet ou votre carte tombe en panne, le bâtiment ne gèlera quand même pas.

♥ 2

Traduit de English par IA ·

C’est bien ça le problème. Sur le Zero, la broche 1 est du côté de la carte SD, mais sur la rangée intérieure. La broche que tu as utilisée, celle de la rangée extérieure à ce coin, est la broche 2, qui correspond à 5V. Compte à partir de là : la broche 6 de la rangée extérieure est GND, la broche 7 se trouve sur la rangée intérieure. Si ton fil rouge est allé sur la broche 2 et que le reste a suivi le tutoriel avec la carte retournée, le DHT22 a probablement reçu 5V ou GND sur les mauvaises pattes, ce qui explique qu’il chauffe.Pour être sûr la prochaine fois : le pad de soudure de la broche 1 est carré, tous les autres sont ronds. Et directement sur le Pi :

$ pinout          # fourni avec gpiozero, affiche une carte ASCII de ta carte
   3V3  (1) (2)  5V
 GPIO2  (3) (4)  5V
 GPIO3  (5) (6)  GND
 GPIO4  (7) (8)  GPIO14

Donc : VCC sur la broche 1 (3V3), DATA sur la broche 7 (GPIO4 dans le code), GND sur la broche 6. Utilise 3V3 pour le DHT22, pas 5V, afin que la ligne de données reste à un niveau que le Pi peut supporter.Pour savoir si le capteur a survécu : les DHT22 sont plus résistants qu’on ne le pense. Refais le câblage, laisse refroidir, réessaie. Si ça affiche toujours « not found » avec le bon câblage, il est mort, et ils ne coûtent pas cher.

Solution acceptée♥ 5
15 sujets de 16 à 30 (sur un total de 68)