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

Zwanzig DS18B20-Sensoren an einem Pi: Ausfälle ab acht Sensoren und wie man die Schlüssel benennt

Zwanzig DS18B20-Sensoren an einem Pi: Ausfälle ab acht Sensoren und wie man die Schlüssel benennt

Gelöst 7 6

Von English mit KI übersetzt ·

ok, das sind wohl eigentlich zwei Fragen in einer, sorry.Ich überwache einen kleinen Keller, in dem ich Käse und etwas Hausbrauerei lagere. Raspberry Pi 4, Raspberry Pi OS Bookworm, 1-Wire an GPIO4 mit dtoverlay=w1-gpio. Ich möchte 20 DS18B20-Sensoren (Regal oben/Mitte/unten usw.). Bis zu 8 funktioniert es problemlos. Darüber verschwinden einige Sensoren aus /sys/bus/w1/devices und tauchen wieder auf, und ab und zu liefern ein paar genau 85.0.Zweite Frage: Ich sende sie mit paho-mqtt an Hermetry, eine Veröffentlichung pro Sensor, Schlüssel = die ROM-ID wie 28-0316a2794bff. Ist das eine schlechte Idee? Mein Dashboard sieht aus wie ein Telefonbuch.Verkabelung: 4,7k Pull-up am Pi, Cat5-Leitung zu den Regalen, dann kurze Stichleitungen zu jedem Sensor, insgesamt etwa 15 m.

Ask me about 4–20 mA.
♥ 2

Von English mit KI übersetzt ·

Sind die Fühler mit 3 Adern oder im Parasitärbetrieb angeschlossen? Und wie kurz meinen Sie mit kurzen Beinchen?

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

Von English mit KI übersetzt ·

3 Leitungen, 3.3V vom Pi. Die Stichleitungen sind 30 cm bis 1 m lang, es ist eher ein Stern als eine Linie, glaube ich.

Ask me about 4–20 mA.
♥ 0

Von English mit KI übersetzt ·

Die Sternverkabelung ist dein Dropout-Problem. 1-Wire mag keine Stichleitungen, jede Abzweigung reflektiert. Entweder führst du eine Leitung an jedem Sensor vorbei, mit winzigen Stichleitungen, oder du teilst sie auf: Du kannst das Overlay zweimal auf zwei Pins laden und hast dann zwei kürzere Busse. Bei so viel Kabel würde ich außerdem 2.2k statt 4.7k probieren.

Ground loops are my cardio.
♥ 0

Von English mit KI übersetzt ·

Wäre es nicht einfacher, einfach auf jedem Rack einen günstigen ESP32 anzubringen? Das würde ich machen, aber ich bin kein Hardware-Experte.

Still waiting for the gateway to reconnect.
♥ 0

Von English mit KI übersetzt ·

James hat die Verkabelung richtig gemacht. Zwei Busse, jeweils 2.2k, dann passt das. Wir betreiben so in einem Pumpenhaus 14 Sonden pro Bus.85.0 ist der Einschaltwert des DS18B20, das bedeutet, dass die Messung vor Abschluss einer Wandlung erfolgte, meist ein Brown-out am Bus. Im Code verwerfen, niemals senden.Bei den Keys jetzt ändern, bevor Historie entsteht. Keys zählen als eindeutige Namen über die gesamte Organisation (Starter begrenzt auf 250), daher verbrauchen ROM-IDs pro Sensor dieses Kontingent schnell, sobald Sie einen zweiten Keller aufbauen. Benennen Sie sie nach Position, führen Sie eine Zuordnung von ROM-ID zu Position in einer Datei auf dem Pi und senden Sie alle 20 in einer Nachricht. Eine Nachricht mit 20 Datenpunkten kostet dasselbe Kontingent wie eine mit einem.

import glob, json, paho.mqtt.client as mqtt
MAP = {"28-0316a2794bff": "rack1.top", "28-0316a27a11ff": "rack1.mid"}  # etc
vals = {}
for p in glob.glob("/sys/bus/w1/devices/28-*/temperature"):
    rom = p.split("/")[-2]
    t = int(open(p).read()) / 1000
    if rom in MAP and t != 85.0:
        vals["cellar." + MAP[rom]] = round(t, 2)
c.publish("v1/telemetry", json.dumps(vals), qos=1)

Die Regeln für Keys stehen unter Telemetry keys.

QoS 1 and a lot of patience.
Akzeptierte Lösung♥ 2

Von English mit KI übersetzt ·

Zwei Busse an GPIO4 und GPIO17, je 2.2k, und ich habe die Leitung entlang der Racks als eine Linie neu verlegt. Seit zwei Tagen 20 von 20, nicht ein einziges 85. Die Schlüssel habe ich ebenfalls umbenannt, das Gerät gelöscht und neu angefangen, da nur eine Woche Daten vorlag. Das Dashboard liest sich jetzt wie ein Weinkeller statt wie eine Liste von Seriennummern. Danke an alle, Kevin vielleicht beim nächsten Build 😉

Ask me about 4–20 mA.
♥ 0

Von English mit KI übersetzt ·

Eine kleine Sache, wenn Sie schon dabei sind: Legen Sie das Geräte-Token in eine Datei, die nur Ihr Dienstbenutzer lesen kann, und nicht in das Skript. Ich habe zu viele davon in Git-Repositories gesehen.

Measure twice, poll once.
♥ 1
Ansicht von 8 Beiträgen – 1 bis 8 (von insgesamt 8)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen