Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Aoife Lynch

lynchlab

@aoife_l22 · Mitglied seit April 2025

Neuling

Engineering student · university

Themen
15
Antworten
79
Punkte
0
Neuling10 Punkte an Mitglied

Erstellte Forenantworten

Ansicht von 15 Beiträgen – 61 bis 75 (von insgesamt 79)

Von English mit KI übersetzt ·

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

Nur Wi-Fi, überhaupt kein Bluetooth-Eintrag.

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

Von English mit KI übersetzt ·

Könntest du den Pi zwischen den Positionsabfragen wie beim ESP32 in den Tiefschlaf versetzen?

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

Von English mit KI übersetzt ·

Leider nicht überall dasselbe Netzwerk. Zwei Gebäude hängen an einer separaten IoT-SSID, ein Labor hat einen eigenen Router, und die Passwörter werden jedes Semester gewechselt. Außerdem müssen die Tokens ohnehin für jeden Knoten unterschiedlich sein.

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.
Akzeptierte Lösung♥ 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

Von English mit KI übersetzt ·

Wirklich hilfreich, danke. Der Vorgesetzte hat „Public CA auf der Karte, Geheimnisse in verschlüsseltem NVS“ akzeptiert. Den X.509-Teil hat mir eine Woche gespart, ich hatte schon angefangen, eine CA mit openssl zu erzeugen. Komischerweise habe ich letzte Woche die Karte für eine zweite Platine geklont, und die Daten waren lückenhaft – genau das Takeover-Problem.

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

Von English mit KI übersetzt ·

Wir haben unser Abschlussprojekt zu genau diesem Thema gemacht (Smart Meter über 2G, wir haben unseren eigenen Verkehr mitgeschnitten). Alles, was Laura gesagt hat, stimmt. So würde ich in Ihrer Situation vorgehen, in dieser Reihenfolge.Erstens: Profil aufteilen. Legen Sie für die 38 TLS-Geräte ein neues Profil an und belassen Sie es bei der Voreinstellung, also nur TLS auf 8883. Verschieben Sie die Geräte dorthin. Geräte in diesem Profil können sich über 1883 überhaupt nicht anmelden, sodass selbst wenn jemand daran herumprobiert, nichts unverschlüsselt übertragen wird.Zweitens: Die 12 alten Geräte bekommen ein eigenes Profil, in dem einfaches MQTT erlaubt ist, und Sie sperren es konsequent ab:

  • Erlaubte Netze: Tragen Sie nur den Adressbereich ein, aus dem der Verkehr Ihres Netzbetreibers kommt. Fragen Sie den Netzbetreiber nach einem privaten APN, wenn möglich, dann ist es sein privater Bereich. Alles von außerhalb wird abgelehnt (CONNACK 5).
  • Ohne TLS erlaubte Befehle: Lassen Sie die Liste leer oder nehmen Sie höchstens sys.info auf. Niemals sys.reboot. Andere Befehle warten nur auf eine TLS-Sitzung, die diese Geräte nie haben werden, und laufen deshalb ab.
  • Erlaubte Authentifizierung: Nur Access-Token, falls das alles ist, was sie verwenden.

Drittens: Rotieren Sie das Token des Schranks, den der Tester mitgeschnitten hat, und ehrlicherweise alle 12, denn sie übertragen seit zwei Jahren unverschlüsselt über das Internet.Firmware-Updates und Geräteeinstellungen werden ohnehin nie unverschlüsselt gesendet, Sie geben diese also nicht preis. Alles oben Genannte steht auf dieser Seite: Device transport security. Für die IT lautet die ehrliche Antwort: „38 sind durchgehend verschlüsselt, 12 nicht und werden abgeschottet, bis sie ersetzt sind“.

Timestamps in UTC or it didn't happen.
Akzeptierte Lösung♥ 2

Von English mit KI übersetzt ·

Der Energiesparmodus war aktiviert. Ich habe die conf-Datei hinzugefügt, NetworkManager neu gestartet, und seitdem ist er jetzt seit 3 Tagen ununterbrochen online, seitdem gibt es auch keinen keepalive_timeout mehr im Log-Tab. SSH reagiert ebenfalls sofort, was ich gar nicht mit dem Problem in Verbindung gebracht hatte. Danke, Ciaran!

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

Von English mit KI übersetzt ·

Gestern zum Laufen gebracht, alle im Labor sind begeistert. Ich musste die IT nicht um Hilfe bitten, das war ein Gewinn. Nur eine Sache: Zuerst habe ich status=active verwendet, und nach einem Neustart wiederholte er bestätigte Alarme immer wieder, weil mein seen-set leer war. Dann habe ich auf OPEN umgestellt, wie Sie geschrieben hatten. Außerdem musste ich die Gerätenamen von „frz-03“ in „freezer three“ ändern, weil piper „frz“ als „frz“ ausgesprochen hat.

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

Von English mit KI übersetzt ·

Er ist headless, es gibt gar keinen Bildschirm. Ich habe das Blanking trotzdem vorsichtshalber ausgeschaltet, ohne Änderung.

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

Von English mit KI übersetzt ·

Ich habe mich letztes Jahr für ein Labor mit dem Edison-Breakout herumgeschlagen. Das Öffnen von /dev/ttyMFD1 reicht auf dieser Platine nicht aus: Die Pins 0 und 1 laufen über einen Pin-Multiplexer und die Pegelwandler, und solange diese nicht eingerichtet sind, ist die UART gar nicht an die Header-Leiste angeschlossen, die Pins sind reines GPIO. Deshalb lässt sie sich problemlos öffnen, liest aber nichts.Der einfache Weg ist die mraa-Bibliothek, die beim Öffnen der UART über ihre Board-Nummer den Mux für Sie setzt:

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"])

Prüfen Sie außerdem, ob die Verkabelung gekreuzt ist: OpenMV TX an RX des Edison (Pin 0), OpenMV RX an TX des Edison (Pin 1). Pin 0 ist auf dem Breakout RX, also tauschen Sie die Leitungen, falls Ihre Verkabelung genau so ausgeführt ist, wie Sie sie beschrieben haben.

Timestamps in UTC or it didn't happen.
Akzeptierte Lösung♥ 9
Ansicht von 15 Beiträgen – 61 bis 75 (von insgesamt 79)