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

Aoife Lynch

lynchlab

@aoife_l22 · Membre depuis avril 2025

Nouveau

Engineering student · university

Sujets
15
Réponses
79
Points
0
Nouveau10 points pour Membre

Toutes mes réponses sur les forums

15 sujets de 61 à 75 (sur un total de 79)

Traduit de English par IA ·

0: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no

Seulement du Wi-Fi, aucune entrée Bluetooth du tout.

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

Traduit de English par IA ·

Malheureusement, ce n’est pas le même réseau partout. Deux bâtiments sont sur un SSID IoT séparé, un laboratoire a son propre routeur, et les mots de passe sont renouvelés à chaque semestre. De plus, les tokens doivent de toute façon être différents pour chaque nœud.

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

Liam’s half right. avr-libc’s printf family is built without float support by default to save flash, so %f prints ?. You can link the float version (-Wl,-u,vfprintf -lprintf_flt) but it costs about 1.5 KB of flash and the Arduino IDE makes the flags annoying.

What I do on Nanos is convert the floats with dtostrf first, then format strings:

char ts[8], hs[8], buf[96];
dtostrf(t, 0, 2, ts);      // width 0 = no padding
dtostrf(h, 0, 1, hs);
snprintf(buf, sizeof(buf), "{"temp_c":%s,"rh":%s,"seq":%lu}", ts, hs, seq);

Or send integers: temp_c10 as 2154 and scale it back later. Same quota, zero float formatting. Also check for NaN when the SHT31 read fails: dtostrf prints nan, which isn’t valid JSON, and the whole message gets stored as raw text. Skip the key when the read fails.

Timestamps in UTC or it didn't happen.
Solution acceptée♥ 5

Both fixed. The society bought the isolated carrier for the pH circuit and the 0.3 jumps are gone. The JSON rule with the any group saved fine, and the pump ran three times today without a single alarm. Then I dropped the probe in pH 4 buffer to test and it opened after five minutes, as expected.

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

Traduit de English par IA ·

Vraiment utile, merci. Le superviseur a accepté « CA publique sur la carte, secrets dans la NVS chiffrée ». La partie X.509 m’a fait gagner une semaine, j’avais déjà commencé à générer une CA avec openssl. Drôle de hasard : la semaine dernière, j’avais cloné la carte pour une deuxième carte, et les données étaient incomplètes, c’était exactement le problème de prise de contrôle.

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

Traduit de English par IA ·

Nous avons réalisé notre projet de fin d’études sur quelque chose de presque identique (compteurs intelligents sur 2G, nous avons intercepté notre propre trafic). Tout ce que Laura a dit est juste. Voici ce que je ferais à votre place, dans cet ordre.Premièrement, séparez le profil. Créez un nouveau profil pour les 38 unités TLS et laissez-le par défaut, TLS uniquement sur 8883. Transférez-les vers ce profil. Les appareils de ce profil ne peuvent pas se connecter sur 1883 du tout, donc même si quelqu’un tente d’interagir avec eux, rien ne circule en clair.Deuxièmement, les 12 anciennes unités obtiennent leur propre profil avec MQTT en clair autorisé, et vous le verrouillez fortement :

  • Réseaux autorisés : n’indiquez que la plage d’adresses d’où provient le trafic de votre opérateur. Demandez à l’opérateur un APN privé si possible ; ce sera alors sa plage privée. Tout ce qui vient de l’extérieur est refusé (CONNACK 5).
  • Commandes autorisées sans TLS : laissez vide, ou au maximum sys.info. Jamais sys.reboot. Les autres commandes attendent simplement une session TLS, que ces unités n’auront jamais, donc elles expirent.
  • Authentification autorisée : uniquement le jeton d’accès, si c’est tout ce qu’elles utilisent.

Troisièmement, renouvelez le jeton de l’armoire capturée par le testeur, et honnêtement les 12, car elles font transiter leurs données en clair sur Internet depuis deux ans.Les mises à jour du micrologiciel et les paramètres des appareils ne sont de toute façon jamais envoyés en clair, donc vous ne divulguez pas ces données. Tout ce qui précède se trouve sur cette page : Device transport security. Pour l’informatique, la réponse honnête est : « 38 sont chiffrées de bout en bout, 12 ne le sont pas et sont isolées jusqu’à leur remplacement ».

Timestamps in UTC or it didn't happen.
Solution acceptée♥ 2

Traduit de English par IA ·

La gestion de l’énergie était activée. J’ai ajouté le fichier de configuration, redémarré NetworkManager, et il est en ligne sans interruption depuis 3 jours, sans keepalive_timeout dans l’onglet Log depuis. La connexion SSH est aussi instantanée, ce que je n’avais même pas remarqué comme lié au problème. Merci Ciaran !

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

Traduit de English par IA ·

Mis en route hier, tout le monde au labo adore. Je n’ai eu besoin de demander rien à l’IT, ce qui était un gain. Seul bémol : j’ai d’abord utilisé status=active et il répétait sans cesse les alarmes acquittées après un redémarrage, car mon seen-set était vide. Je suis passé à OPEN, comme vous l’aviez écrit. Il a aussi fallu remplacer les noms d’appareils « frz-03 » par « freezer three », car piper lisait « frz » de travers.

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

Traduit de English par IA ·

Il est headless, il n’a aucun écran. J’ai quand même désactivé le blanking par précaution, sans changement.

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

Traduit de English par IA ·

Je me suis battu avec la carte d’extension de l’Edison pour un laboratoire l’an dernier. Ouvrir /dev/ttyMFD1 ne suffit pas sur cette carte : les broches 0 et 1 passent par un multiplexeur de broches et des adaptateurs de niveau, et tant qu’ils ne sont pas configurés, l’UART n’est pas relié au connecteur, les broches sont de simples GPIO. C’est pourquoi l’ouverture réussit mais rien n’est lu.La solution simple consiste à utiliser la bibliothèque mraa, qui configure le multiplexeur à votre place lorsque vous ouvrez l’UART par son numéro de carte :

import mraa
u = mraa.Uart(0)            # pins 0/1 on the Arduino breakout, sets the mux
u.setBaudRate(115200)
u.setMode(8, mraa.UART_PARITY_NONE, 1)
while True:
    if u.dataAvailable(1000):
        line = u.readStr(64).strip()     # "caps_ok=1823;caps_rej=12"
        vals = dict(kv.split("=") for kv in line.split(";"))
        # add to the payload the Edison already sends:
        payload["caps_ok"] = int(vals["caps_ok"])
        payload["caps_rej"] = int(vals["caps_rej"])

Vérifiez aussi que le câblage est croisé : TX de l’OpenMV vers RX de l’Edison (broche 0), RX de l’OpenMV vers TX de l’Edison (broche 1). La broche 0 est RX sur la carte d’extension, donc si votre câblage correspond exactement à ce que vous avez écrit, inversez-les.

Timestamps in UTC or it didn't happen.
Solution acceptée♥ 9
15 sujets de 61 à 75 (sur un total de 79)