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

Laura T.

thompsonplc

@lthompson · Membre depuis mai 2025

Nouveau

Automation engineer · pharma · 14 years in the field

Sujets
7
Réponses
65
Points
0
Nouveau10 points pour Membre

Toutes mes réponses sur les forums

15 sujets de 46 à 60 (sur un total de 65)

Traduit de English par IA ·

Vous n’avez pas du tout besoin de tokens par appareil dans le firmware. Séparez le problème en deux.Wi-Fi : conservez WiFiManager. Ajoutez un champ personnalisé dans le portail si vous voulez un nom d’appareil convivial, sinon utilisez l’adresse MAC.Token : laissez le nœud demander le sien. Dans le profil de l’appareil, ouvrez l’onglet Provisioning, réglez la stratégie sur Allow creating new devices, enregistrez, puis cliquez sur Create key et copiez le secret (il n’est affiché qu’une seule fois). Cette clé et ce secret sont identiques pour les 12 builds. Au premier démarrage, le nœud se connecte avec le nom d’utilisateur provision et un mot de passe vide, s’abonne à v1/provision/res et publie sa demande. La réponse contient son token d’accès ; vous le stockez dans la NVS, et ensuite il se connecte normalement.

// first boot only, after Wi-Fi is up
mqtt.setServer(host, 8883);          // WiFiClientSecure, TLS
mqtt.connect(clientId, "provision", "");
mqtt.subscribe("v1/provision/res", 1);
String req = String("{"deviceName":"aq-") + mac6 +
  "","provisionDeviceKey":"pk_xxx","provisionDeviceSecret":"ps_xxx"}";
mqtt.publish("v1/provision/req", req.c_str());
// in the callback: parse credentialsValue when status == "SUCCESS",
// prefs.putString("tok", value); then reconnect with the token as username

Deux points nous ont posé problème sur un site pharmaceutique. Les nouveaux appareils créés de cette façon atterrissent en quarantaine : ils se connectent, mais leurs données sont rejetées tant qu’un administrateur ne les a pas activés. Prévenez donc le responsable de l’organisation de les chercher. Et le nom doit être unique : une seconde demande avec le même nom renvoie device_exists, car elle ne délivre jamais deux fois un identifiant. Ne effacez donc pas la NVS à la légère. Les détails figurent sur Adding and claiming devices.

Solution acceptée♥ 5

Traduit de English par IA ·

Kstewart a raison. Il y a une passerelle Basics Station dans le labo QA à l’étage au-dessus, enregistrée dans notre organisation par l’équipe QA. C’est elle qui a capté mes trames « sporadiques », ma carte de développement n’en a jamais transmis une seule. Je l’ai empruntée pour le banc, j’ai retiré la carte mono-canal et l’astuce de canal. Le join passe du premier coup, les uplinks toutes les 60 s sur les huit canaux. L’astuce 868.1 a d’ailleurs fonctionné entre-temps, pour mémoire.

♥ 0

Traduit de English par IA ·

Aoife, le Pi n’a malheureusement pas de veille profonde. C’est une machine Linux : elle tourne ou elle est éteinte. Donc tu coupes tout ce que tu peux et tu fais travailler la radio le moins possible.Ce que je ferais, par ordre de gain :

  1. Pi : dtoverlay=disable-wifi et dtoverlay=disable-bt dans config.txt, HDMI désactivé (tvservice -o sur les anciennes images), LED d’activité éteinte. Sur un Zero, cela ramène à environ 80 mA.
  2. GPS : couper le moteur GNSS entre deux positions (AT+CGPS=0, puis AT+CGPS=1). Un démarrage à chaud sur le SIM7600 prend quelques secondes.
  3. Cadence : 30 s en mouvement, 15 à 60 min à l’arrêt. Décide selon la vitesse ou la distance depuis la dernière position.
  4. Lots : mémoriser les positions et envoyer un message toutes les quelques minutes sous forme de tableau avec ts. Le GPS fournit une horloge correcte, donc les horodatages sont fiables. Un appel HTTPS au lieu de dix consomme moins de temps radio et ne coûte qu’un message du quota mensuel au lieu de dix.
[{"ts": 1757683200000, "values": {"lat": 52.95231, "lon": -1.14972, "speed_kmh": 31.5}},
 {"ts": 1757683230000, "values": {"lat": 52.95410, "lon": -1.14701, "speed_kmh": 33.0}}]

Comme l’appareil ne communique que toutes les quelques minutes, règle la règle de connexion de son profil sur Recent message avec un intervalle attendu correspondant à ta cadence à l’arrêt, sinon il apparaîtra hors ligne toute la nuit.Si une semaine est une exigence stricte, la réponse honnête est un microcontrôleur (ESP32 ou nRF) qui dort et réveille le modem, ou un circuit temporisateur comme le TPL5110 qui coupe l’alimentation de tout le Pi entre deux cycles. Une carte Linux qui tourne à vide à 80 mA n’y arrivera jamais avec 10 Ah.

Solution acceptée♥ 8

No register trick, I’m afraid. As far as I remember the sleep mode table in the 328P datasheet, the analog comparator is only a wake source in idle (and ADC noise reduction), not power-down. In power-down only the external interrupts, pin change, TWI address match and the watchdog wake it. Your idle current is the clocks running.

Move the comparator outside. A nanopower comparator with push-pull output into INT0 (D2) lets the 328P sit in power-down at a few µA. TLV3691 draws about 75 nA, and the reference can be a micropower 2.5 V shunt. Add hysteresis with a resistor from output to the + input, a few hundred mV at the battery side, otherwise a battery hovering at 11.8 V will wake you a hundred times a night as the load changes.

attachInterrupt(digitalPinToInterrupt(2), wake, FALLING);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable(); sleep_cpu();     // wakes on INT0 only
// on wake: read ADC once for the real value, send it, sleep again

Aoife: you can use the bandgap internally, but the comparator itself still can’t wake power-down, so it doesn’t help here.

On the Hermetry side I’d still send a heartbeat once a day with the voltage. Then an offline alarm on the profile tells you a sensor died, which a wake-only design never would. Put the low-voltage alarm rule on bat_v with some hysteresis too.

Solution acceptée♥ 4

Traduit de English par IA ·

J’ai fait ça sur un lot de SG90 pour un montage pédagogique. La modification :
1. Ouvrez le boîtier, retirez le pignon de sortie. Coupez ou limez la petite languette en plastique située sous celui-ci, qui heurte la butée de fin de course.
2. Le potentiomètre sous l’axe de sortie est le retour de position. Dessoudez-le et placez à sa place deux résistances de 2,2 kΩ en diviseur fixe (les extrémités sur les pastilles externes, le milieu sur la pastille du curseur). Le servo croit maintenant toujours être au centre.
3. Remontez. Désormais, la largeur d’impulsion règle la vitesse et le sens au lieu de la position : environ 1,5 ms l’arrêtent, plus court tourne dans un sens, plus long dans l’autre. Trouvez la valeur d’arrêt exacte par essais, la tolérance des résistances la décale.
Pour ta deuxième question : non, il ne connaît plus sa position, comme un FS90R. Pour un store, c’est important ; fais donc ce que Keisha a dit : ajoute un contacteur à lames souples ou un micro-interrupteur en position entièrement ouverte et entièrement fermée, et compte le temps ou ajoute un encodeur bon marché entre les deux. Honnêtement, un SG90 est aussi faible pour un vrai store : un moteur pas à pas 28BYJ-48 avec une carte ULN2003 te donne la position gratuitement et plus de couple.
Côté carte : ajoute blind.set avec un paramètre Number de 0 à 100 dans l’onglet Commands du profil de l’ESP32, niveau Basic. Le Slider envoie la valeur une seule fois au relâchement, et non pendant que tu le déplaces, ce qui convient à un moteur. Fais publier à l’ESP32 sa position réelle sous blind_pct et lie la Current value du Slider à celle-ci, pour que la carte affiche où se trouve réellement le store.
Alimente le servo ou le moteur pas à pas avec sa propre alimentation 5 V, et non avec la broche de l’ESP32.

Solution acceptée♥ 6

Traduit de English par IA ·

J’ai examiné une conception similaire pour un sous-traitant l’an dernier, voici donc le raisonnement pour le rapport.Séparez les éléments publics des éléments secrets. Le bundle CA est public ; le certificat serveur est un certificat public que l’on vérifie avec un bundle CA normal, donc le conserver sur la carte ne pose pas de problème. Le mot de passe WiFi et le jeton de l’appareil sont des secrets, car ils identifient précisément cet appareil.Les secrets sur un support amovible échouent pour deux raisons : retirer la carte ne laisse aucune trace, et la carte est souvent copiée sur d’autres cartes (« clone simplement la carte »), ce qui fait que plusieurs appareils partagent un même identifiant. Hermetry n’autorise qu’une session par appareil ; deux cartes avec le même jeton se déconnectent donc sans cesse mutuellement, et vous verriez une prise de contrôle dans l’onglet Log de l’appareil.Concernant X.509 : pour vos propres cartes, ce n’est pas disponible. Les certificats clients doivent provenir de l’autorité de certification des appareils de Hermetry, et l’envoi de votre propre CA pour des appareils tiers n’est pas proposé ; cette voie concerne les appareils sous licence qui génèrent leur clé et envoient eux-mêmes une CSR. Votre ESP32 utilise un jeton d’accès ou MQTT basic.Ce que je ferais sur un ESP32 :1. Le même binaire pour chaque carte convient. Placez le jeton dans la NVS lors du provisionnement (une petite commande série au premier démarrage), et non sur la carte.2. Activez le chiffrement de la flash et le chiffrement de la NVS, afin qu’un dump de la flash ne révèle pas le jeton.3. La carte ne sert qu’à l’enregistrement des données et au bundle CA.4. Dans Hermetry, un appareil et un jeton par carte ; changez le secret si une carte disparaît. Cela met immédiatement fin à ses sessions.La limitation concernant les certificats est décrite dans la dernière section de Device certificates.

Solution acceptée♥ 6

The pH jumping with the EC probe in is a ground loop. Both EZO circuits share the Pi’s ground and the EC probe drives current through the water, which shifts the pH reference. Atlas sells an isolated carrier board for exactly this, put at least one of the two on it.

♥ 0

Traduit de English par IA ·

Uniquement entre le téléphone et l’antenne-relais, et la version 2G de cette protection est faible, ce qui explique que l’astuce du van fonctionne. Au-delà du cœur de réseau de l’opérateur, c’est de l’internet en clair. Considérez la liaison radio comme non fiable.

♥ 0

Until something like that exists, do the zone decision on the robot. That’s also what the personnel tracking solution expects: the tracker or its gateway reports the zone name, and Hermetry’s rules work on that. I run exactly this for carts in a warehouse, ESP32 scanning fixed BLE tags.

every 2 s: scan 1.5 s, keep RSSI per known tag (EMA, alpha 0.3)
best = tag with highest smoothed RSSI
switch zone only if best beats the current zone's tag by 6 dB
             for 3 scans in a row          (stops flapping at borders)
publish on change and every 60 s:
  {"zone": "F3-east", "zone_id": 32, "zone_rssi": -71}

Send both: zone as text for tables and the alarm, zone_id as a number because text keys have no chart history and you’ll want « where was it at 14:00 ».

For the kitchen corridor: give each cleaner a server attribute forbiddenZone = « F0-kitchen » and an alarm rule on the robot profile where zone equals that attribute. Per-device thresholds from attributes work for text too with ==. Same pattern the tracking solution uses, described on Personnel tracking.

Polygons: no workaround on the map that I know of. Map the polygon to tag zones instead, one zone per forbidden area.

Solution acceptée♥ 3

Traduit de English par IA ·

Bien. Prévoyez tout de même un remplacement pour cet Edison : il n’est plus produit depuis des années et les pièces de rechange deviennent de plus en plus difficiles à trouver.

♥ 1

Aoife has the core of it.

Cutting the solenoid only puts the directional valve into its rest position. Depending on the valve type that can trap air in the cylinder (closed-centre 5/3 valves do exactly that), so the cylinder can still move when someone opens a fitting, or hold a load that drops later. A stuck valve spool is the other failure: power off, valve doesn’t move. Pneumatic energy is stored energy, and for safe access you want it gone, not held. The dump valve exhausts the supply to atmosphere so the cell ends up at zero pressure. The safety relay usually also monitors the dump valve’s feedback (a pressure switch or a position contact), so a dump valve that fails to vent stops the cell from restarting. The two parts cover different failures. How much of this you need follows from the risk assessment and the required performance level under ISO 13849, which is your engineer’s job to document.

On Hermetry Safe: there’s no doc page for it, so I won’t guess what it does. Whatever it does, I would never put a cloud platform into the safety function itself. Even the personnel tracking page calls that solution an information tool, not a certified safety system. Emergency stop, safety relay and dump valve stay hardwired.

What works today and is useful: monitoring. Wire the safety relay’s auxiliary contact and the dump valve’s pressure switch into the cell PLC or a gateway and send them as telemetry, say estop.active and dump.vented. Then an alarm rule can tell maintenance when the e-stop has been active for a long time, or when the e-stop is active and dump.vented is still 0. That gives you records and notifications without touching the safety chain.

Solution acceptée♥ 5
15 sujets de 46 à 60 (sur un total de 65)