Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Veinte sondas DS18B20 en una sola Pi: caídas más allá de ocho sensores y cómo nombrar las claves

Veinte sondas DS18B20 en una sola Pi: caídas más allá de ocho sensores y cómo nombrar las claves

Resuelto 7 6

Traducido del English por IA ·

Vale, probablemente son dos preguntas en una, perdón.Estoy monitorizando una bodega pequeña donde guardo queso y algo de cerveza casera. Raspberry Pi 4, Raspberry Pi OS Bookworm, 1-wire en GPIO4 con dtoverlay=w1-gpio. Quiero 20 sondas DS18B20 (estante superior/medio/inferior, etc.). Con hasta 8 va bien. A partir de ahí, algunos sensores desaparecen de /sys/bus/w1/devices y vuelven, y de vez en cuando algunos leen exactamente 85.0.Segunda cuestión: los envío a Hermetry con paho-mqtt, una publicación por sensor, clave = el ID ROM como 28-0316a2794bff. ¿Es mala idea? Mi panel parece una guía telefónica.Cableado: pull-up de 4,7k en la Pi, cable cat5 hasta los estantes y luego cortos tramos hasta cada sonda, unos 15 m en total.

Ask me about 4–20 mA.
♥ 2

Traducido del English por IA ·

¿Las sondas están conectadas con 3 cables o con alimentación parásita? Y cuando dice patas cortas, ¿cuán cortas?

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

Traducido del English por IA ·

3 cables, 3.3V desde la Pi. Los cables miden de 30 cm a 1 m, es más una estrella que una línea, creo.

Ask me about 4–20 mA.
♥ 0

Traducido del English por IA ·

La topología en estrella es el origen de tu problema de caídas. 1-wire no tolera los stubs, cada derivación refleja la señal. O bien pasas una sola línea junto a cada sonda con stubs muy cortos, o la divides: puedes cargar el overlay dos veces en dos pines y tener dos buses más cortos. Con tanto cable, yo también probaría 2.2k en lugar de 4.7k.

Ground loops are my cardio.
♥ 0

Traducido del English por IA ·

¿No sería más fácil poner simplemente un ESP32 barato en cada rack? Es lo que haría yo, pero no soy un experto en hardware.

Still waiting for the gateway to reconnect.
♥ 0

Traducido del English por IA ·

James tiene bien el cableado. Dos buses, 2.2k cada uno, y te irá bien. Nosotros usamos 14 sondas por bus en una casa de bombas de esa forma.85.0 es el valor de encendido del DS18B20; significa que la lectura se hizo antes de terminar una conversión, normalmente una caída de tensión en el bus. Descártalo en el código, nunca lo envíes.En cuanto a las claves, cámbialo ahora, antes de tener historial. Las claves cuentan como nombres distintos en toda la organización (Starter limita a 250), así que los ID ROM por sensor consumirán ese límite muy rápido en cuanto montes una segunda bodega. Nómbralas por posición, guarda un mapa de ID ROM a posición en un archivo en la Pi y envía los 20 en un solo mensaje. Un mensaje con 20 puntos cuesta la misma cuota que uno con un solo punto.

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)

Las reglas de las claves están en Telemetry keys.

QoS 1 and a lot of patience.
Solución aceptada♥ 2

Traducido del English por IA ·

Dos buses en GPIO4 y GPIO17, 2.2k cada uno, y rehice el cableado como una sola línea a lo largo de los racks. 20 de 20 desde hace dos días, ni un solo 85. También renombré las claves, eliminé el dispositivo y empecé de nuevo, ya que solo había una semana de datos. El panel ahora se lee como una bodega en lugar de una lista de números de serie. Gracias a todos, Kevin quizás en la próxima build 😉

Ask me about 4–20 mA.
♥ 0

Traducido del English por IA ·

Una pequeña cosa mientras estás en ello: pon el token del dispositivo en un archivo que solo pueda leer tu usuario de servicio, no en el script. He visto demasiados de esos en repositorios de git.

Measure twice, poll once.
♥ 1
Viendo 8 entradas – de la 1 a la 8 (de un total de 8)
  • Debes estar registrado para responder a este debate.

Únete a la conversación

Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

Compartir