ops_keisha
@kstewart · Mitglied seit März 2025
Plant manager · food and beverage
- Themen
- 8
- Antworten
- 64
- Punkte
- 0
Erstellte Forenantworten
Plant manager, not a security person, but we lost a board out of a remote pump house last year and I had to clean up after it, so this is what we do now.
One credential per device, never shared. If two boards ever run the same token, the second login takes over the first one’s session and you spend a week chasing „flapping“ devices. Tokens and the PSK go into NVS at the bench, like Aoife says, so the binary carries no secrets. Flash encryption on production boards once you’ve practised on a couple of spares.
On the Hermetry side, the profile has an Allowed networks field. Put the public address range your cabinet routers use in it. A token dumped from a stolen board is then refused from anywhere else (CONNACK 5, and the reason shows on the device’s Log tab). That one setting made our IT people much calmer.
When a board goes missing, revoke its credential (the API has DELETE on the device’s credentials) or just delete the device, and the old token stops working at once, with every open session cut. Admins also get a notice when a device logs in from a network it hasn’t used before, so watch for those.
For the PSK, put the sensors on their own SSID or VLAN on the router so a leaked PSK only gets you onto a network with nothing else on it.
Most of this is on the device credentials page.
No, kept them separate on purpose, that’s why the opto is there.
Von English mit KI übersetzt ·
Wir haben fertige Tracker gekauft, daher leider keine Hilfe. Wir verfolgen den Thread aber weiter und überlegen, eigene Platinen zu entwickeln.
We bought finished trackers, so no help sorry. Following though, we’re thinking about our own boards.
Separate question, can you get an alarm when only one of the two temperature keys stops arriving? We had a board die quietly and the device stayed online.
Von English mit KI übersetzt ·
Als diejenige, die die Depotbesuche freigibt: Bitte prüfe das, bevor die nächste Charge geflasht wird.
As the one who signs off on the depot visits: please check this before the next batch gets flashed.
On Forge: there’s no doc page for it, so I can’t tell you whether it counts rejects or how you’d switch it on. What Lewis describes is what we do on our packing lines: counters as telemetry and a bar chart per hour with the increase aggregate. The supervisors look at it at shift change.
Von English mit KI übersetzt ·
Dann ist das vollständige Image in Ordnung, Delta würde ich mir nicht mehr Gedanken machen. Wir haben letzten Frühling ein 1,6 MB großes Image an etwa 200 Controller in unserem Werk übertragen. Der gestaffelte Rollout hat dafür gesorgt, dass alles ruhig blieb.Bei der Paketzuweisung wählen Sie Jedes Gerät des Profils und aktivieren In Wellen senden. Üblich ist ein Canary-Test mit 1 % (mindestens eins, höchstens zehn), dann 10 %, dann 50 %, dann der Rest, mit 15 bis 30 Minuten Wartezeit dazwischen. Wenn eine Welle mehr als 5 % Fehler hat, pausiert es automatisch. Für ein Hotel würde ich die Wellen anpassen: erste Welle 3 Zimmer, die Sie zu Fuß erreichen, dann ein paar Stunden warten, danach 20, und den Rest über Nacht. Niemand lädt vor seiner Welle herunter, sodass das WLAN nur wenige Geräte gleichzeitig sieht.Weitere Dinge, die uns geholfen haben:
- Testen Sie zuerst mit Einzelgerät-Zuweisungen auf zwei Geräten.
- Der Download-Link läuft nach 15 Minuten ab, aber das Gerät kann erneut anfragen und mit einer HTTP-Range-Anfrage fortsetzen. Ein wackeliges Zimmer ist also kein Desaster.
- Ein Gerät, das nicht mit der neuen Version zurückkommt, wird als Auf alte Version zurückgesetzt angezeigt. Das zeigt, dass Ihr Rollback funktioniert.
Details: Firmware-Rollout in Wellen.
Then the full image is fine, I’d stop worrying about delta. We pushed a 1.6 MB image to about 200 controllers at our plant last spring. The rollout is what made it calm.
On the package assignment pick Every device of the profile and turn on Send in waves. The usual plan is a canary of 1% (at least one, at most ten), then 10%, then 50%, then the rest, with 15-30 minute waits between, and it pauses itself if a wave has more than 5% failures. For a hotel I’d edit the waves: first wave 3 rooms you can walk to, wait a couple of hours, then 20, then the rest overnight. Nobody downloads before their wave, so the Wi-Fi only ever sees a few at once.
Other things that helped us:
- Test with One device assignments on two units first.
- The download link expires after 15 minutes but the device can ask again and resume with an HTTP Range request, so a flaky room isn’t a disaster.
- A device that doesn’t come back on the new version shows as Went back to the old version, that’s your rollback working.
Details: Rolling out firmware in waves.
We had this with old shields on a bottling line, two problems stacked on top of each other.
Forcing the switch port to 100/full is what killed traffic after you got a link. The W5100 still auto-negotiates. When the other side is forced, auto-negotiation can’t find out the duplex and falls back to half duplex. Switch on full, shield on half, and you get a duplex mismatch: link up, almost nothing passes. Put the ports back to auto, or force both ends (and you can’t force the W5100 from the Arduino library).
The original no-link problem is very often the reset on those clone shields. The W5100 comes out of reset before its supply is stable and its PHY sometimes never negotiates properly. The old switch was forgiving, the new one isn’t. Fix that worked for us:
// shield RESET pin wired to D8 with a jumper wire
pinMode(8, OUTPUT);
digitalWrite(8, LOW);
delay(50);
digitalWrite(8, HIGH);
delay(500); // let the PHY settle
Ethernet.begin(mac, ip);
And if one still refuses, a cheap unmanaged 10/100 switch between the shield and the managed one ends the argument. Long term, W5500 shields don’t have this problem.
A 9 V block won’t last a week with the Nano’s regulator and LED. I’d not go there.
Von English mit KI übersetzt ·
Ist 8883 in diesem Netzwerk überhaupt offen? Manche Standorte erlauben ausgehend nur 80 und 443.
Is 8883 even open on that network? Some places only allow 80 and 443 out.
Plant manager view: I’d be nervous letting a cloud rule move a furnace setpoint. What happens if the internet drops halfway?
Von English mit KI übersetzt ·
Aisha hat recht, und ich würde ein paar Dinge aus dem Betrieb von Pi-Gateways auf einer Produktionsfläche ergänzen.
Kaufen Sie einen Splitter mit der Angabe 802.3af/at, der die Aushandlung dem Switch überlässt, niemals einen passiven Injektor. Prüfen Sie die Kabelstrecke: Lange, dünne Patchkabel verlieren genug Spannung, dass der Pi drosselt. Das sehen Sie direkt am Pi:
$ vcgencmd get_throttled
throttled=0x50005 # bit 0 = under-voltage now, bit 16 = has happened since boot
Ich würde diesen Wert zusammen mit den Sensormesswerten an Hermetry senden. Das Gateway kann seine eigene Telemetrie über v1/telemetry als normales Gerät melden, während die Sonden über v1/gw/telemetry als untergeordnete Geräte laufen. Eine Alarmregel im Profil des Gateways für pi.undervolt == 1 zeigt dann, dass die Versorgung grenzwertig ist, bevor die SD-Karte beschädigt wird.
Denken Sie daran, dass beim Offline-Gehen des Gateways alle untergeordneten Geräte mit offline gehen. Deshalb ist der Offline-Alarm des Gateways der wichtigste, und die Offline-Alarme der untergeordneten Geräte werden ebenfalls auslösen, sofern ihre Verzögerung nicht länger ist. Wir setzen das Gateway auf 300 s und die untergeordneten Geräte auf 900 s. Das Verhalten der untergeordneten Geräte ist hier beschrieben: Gateways und Geräte hinter einem Gateway.
Behalten Sie den SQLite-Puffer bei, den Sie ohnehin verwenden würden. Ein Neustart des PoE-Switches während eines Firmware-Updates bedeutet einen Ausfall von 2 Minuten.
Aisha’s right, and I’d add a few things from running Pi gateways on a production floor.
Buy a splitter that says 802.3af/at on it and lets the switch negotiate, never a passive injector. Check the cable run, long thin patch leads drop enough voltage that the Pi throttles. You can see that from the Pi itself:
$ vcgencmd get_throttled
throttled=0x50005 # bit 0 = under-voltage now, bit 16 = has happened since boot
I’d send that value to Hermetry with the probe readings. The gateway can report its own telemetry on v1/telemetry as a normal device, while the probes go on v1/gw/telemetry as children. Then an alarm rule on the gateway’s profile for pi.undervolt == 1 tells you the supply is marginal before the SD card gets corrupted.
Remember that when the gateway goes offline, every child goes offline with it. So the gateway’s offline alarm is the one that matters, and the children’s offline alarms will all fire too unless their delay is longer. We put the gateway on 300 s and the children on 900 s. The child behaviour is described here: Gateways and devices behind a gateway.
And keep the SQLite buffer you’d use anyway, a PoE switch reboot during a firmware update is a 2-minute outage.
Von English mit KI übersetzt ·
Schön. Wir haben bei unseren Dock-Lichtern eine Sicherheitsabfrage „Sind Sie sicher?“ hinzugefügt, nachdem jemand sie ausgeschaltet hatte, während ein Fahrer noch rückwärts einfuhr.
Nice. We added an „are you sure“ prompt to ours for the dock lights after someone switched them off with a driver still reversing in.
The EN capacitor saved us too. Our line counter boards would boot-loop maybe one power-up in twenty without it.
Von English mit KI übersetzt ·
Hast du zuerst ifdown und dann ifup ausprobiert?
Did you try ifdown first and then ifup?

