Conecte de forma inalámbrica varios DS18B20 a través de una casa

2

Estoy planeando leer el formulario de datos de temperatura en mi hogar usando varios DS18B20 y enviando todos los datos a una pi frambuesa. Ya me las arreglé para interpretar los datos de un sensor directamente conectado al pi, pero tengo problemas para encontrar una forma de conectar de forma inalámbrica varios de ellos.

He investigado productos como este transceptor , pero parece que utiliza muchos más puertos de los que quiero, y no estoy seguro de si puede transmitir la única línea de datos que necesito sin todos los otros cables / puertos. Básicamente estoy (creo) buscando un transceptor que solo comunica el único cable que necesito sin todos los extras (si es que esto existe / es posible). Siento que me estoy perdiendo algo que es muy obvio, pero parece que no puedo averiguar qué. Aquí está la hoja de datos del DS18B20, si es de ayuda. Gracias por adelantado.

    
pregunta Leo G

5 respuestas

1

Si bien el protocolo de señalización DS18B20 requiere transmisión para consultarlo, no querrá pasarlo por un enlace de radio. En su lugar, tendría un MCU local en el nodo que consulta el sensor y luego transmitirá el resultado de manera unidireccional.

En este punto, es importante tener en cuenta que ya existen sensores de temperatura inalámbricos productizados. Por ejemplo, ambos dispositivos con su propia pantalla LCD que también transmiten una señal OOK a 433 MHz y sondas exteriores sin pantalla para sistemas interiores / exteriores. A menudo, la codificación en el aire no está documentada y es patentada, pero a menudo es fácil realizar ingeniería inversa, y se han publicado varias bases de código para la decodificación. La mayor preocupación puede ser si los nodos tienen números de serie únicos (probablemente, pero quizás no todos los modelos). Las colisiones no son realmente una preocupación allí, siempre que haya suficientes paquetes sin interferencias para obtener una tasa de actualización razonable. Finalmente, al igual que con los proyectos personalizados, la utilización de la vida útil de la batería es algo que puede variar, dependiendo de cuánto esfuerzo se haya puesto en él.

Si decides hacer algo personalizado, estarías buscando una solución de bajo costo para MCU y radio transmisor. Los transmisores de 300-433 MHz basados en SAW-resonator que usted vinculó son una opción, y con un pin para el sensor y uno para la radio, puede usar algunas de las MCU más pequeñas de 6 u 8 pines. Sin embargo, si sigue esta ruta, considere usar un receptor más sofisticado en el pi - TI y SiLabs tiene ofertas que son radios de datos superheterodinos sintonizables "reales" muy superiores a los receptores regenerativos baratos.

Radios de datos mucho más sofisticados de 2.4 GHz también pueden ser baratos, pero generalmente requieren un bus SPI completo para controlar, lo que significa más pines MCU. Algunas de las combinaciones BTLE MCU / radio también pueden funcionar en modos propietarios más simples, a veces compatibles con los protocolos de aire heredados como el del nRF24, pero tienden a costar más que una radio y MCU baratas. En el lado positivo, puedes juntarlos en un submódulo. También hay algunas combinaciones de radios MCU + de China que se pueden encontrar en cosas como drones de juguete que podrían ser aplicables: si puede obtener la documentación necesaria para trabajar con ellos.

El ESP8266 y el ESP32 generalmente se consideran dispositivos WiFi, pero ofrecen algunos modos de propiedad utilizando solo la señalización de aire de nivel inferior sin las capas de protocolo más altas, evitando así el costo de tiempo / energía de asociarse a una red solo para informar una lectura e inmediatamente volver a dormir.

Finalmente, mientras que el esquema de modulación LoRa patentado ahora está recibiendo mucha atención por los informes de sensores de mayor alcance, vale la pena señalar que a medida que la popularidad aumenta la disponibilidad de kits de hardware programables de bajo costo, las radios Semtech pueden ser operadas hasta cierto punto. Modos OOK o FSK más simples y hablar con otros dispositivos implementándolos. Sin embargo, estos todavía se encuentran en la clase de más de $ 20 por nodo, y parece que al menos en el rol de recepción puede que no sea posible activar un simple silenciamiento de RSSI solo, sino que se requiera para satisfacer el detector de preámbulos de paquetes o bien simularlo establecer una longitud mínima y un margen máximo de error.

    
respondido por el Chris Stratton
1

Tienes razón, tu IC de termómetro "habla" el bus bidireccional de un solo cable, y eso no es nada que puedas introducir en estos transmisores ultra simplistas (y cuestionable). Necesitan que se les "pidan" datos, y de ninguna manera estás haciendo eso.

Además, estos transmisores solo realizan el cambio de amplitud (ASK) de un oscilador de frecuencia fija en funcionamiento continuo. Eso significa que no puedes tener dos de estas transmisiones al mismo tiempo, porque no hay manera de distinguir las dos señales.

Además, todos sus sensores son idénticos, por lo que incluso si hiciera que eso funcionara mágicamente y evitara tales colisiones por pura suerte, entonces no podría decir cuál de sus sensores estaba informando.

Entonces, no importa lo que hagas, necesitarás un microcontrolador para hablar con tu sensor en un lado, y hablar con algún tipo de hardware de RF en el otro. Idealmente, ese hardware de RF debería ser mucho mejor que estas abominaciones de 433 MHz.

Estos transceptores basados en nRF24L01 que usted publicó son mucho mejores, aunque se basan en un chip que el fabricante de IC ya marcó como "no recomendado para nuevos sistemas", en realidad pueden hacer mucho más.

Podría obtener un microcontrolador barato (por ejemplo, un arduino o un clon) que transmite 1 cable a su sensor y SPI a la placa RF. Entonces, distribuyes esos alrededor. Su nodo central de Arduino luego le pide periódicamente a cada uno de sus nodos de sensores datos, y su microcontrolador en el sitio del sensor responde.

    
respondido por el Marcus Müller
1

El bus de 1 cable necesita una MCU para hablar con los dispositivos conectados: -

  

Tengoproblemasparaencontrarunaformadeconectardeformainalámbricavariosdeellos

Cadasensorde1cablenecesitaunaMCUy,sideseaconectarmúltiplessensoresdemanerainalámbrica,cadaMCUtambiénsepuedeusarparamanejar(porejemplo)untransmisorlocalde433MHzquepuederecibirunsoloreceptorderadio.Eseúnicoreceptorescomúnatodoslostransmisores.

  

Heinvestigadoproductoscomoesteparrxtx,peronocreo  quepuedecomunicarsededosmanerasycreoquelasnecesidadesdelDS18B20s  tantoparaenviarcomopararecibir.

LaMCUlocalpuedecomunicarseconelDS18B20yesaMCUlocalpuedecontrolaruntransmisorderadiolocal.Enotraspalabras,nointentehaceruntransmisorderadiode1cable:mantengaelsistemade1cablelocalencadaMCUyuselaenergíaderepuestodelaMCUparacontrolarcómodebecontrolarseeltransmisor.Nointentemezclarestosprotocolosolepediráproblemasyprobablementenuncalohagafuncionar.

Loveoasí;tienemúltiplessensoresdetemperaturaensuhogarycadadiezminutosaproximadamente,cadaunotransmiteunvalordetemperaturaaunreceptorcomún.EsereceptorcomúnhablacontuRaPi.

Seproduciráncolisiones,perodadoqueunasolatransmisiónpodríarealizarseen100ms,laocupacióndelcanalcomúnseráde1segundoendiezminutosparadiezsensores.Puedeagregarunpocodealeatoriedadalasincronizacióndelatransmisión,demodoquesilosdatoscolisionandebidoalatransmisiónsimultáneahayunabajaprobabilidaddequeestovuelvaaocurrir.

Diseñéunsistemacomoestequemonitoreabaunosciengabinetescongeladoresenunalmacén.Cadatransmisorsetransmiteaciegasconunpocodealeatoriedadeneltiempo.Entrelastransmisiones,laMCUyeltransmisorsepusieronenreposoypodríaobteneraproximadamente1añodeduracióndelabateríaconunapequeñabateríade9voltios.Elsistemabuscabaladeteccióntempranadeuncongeladordefectuoso.UtilicématerialdeRFde esta empresa porque tienen buena reputación.

    
respondido por el Andy aka
1

Su sensor DS18B20 requiere una MCU local para enviar / recibir valores de temperatura a través del protocolo 1-Wire.

En lugar de complicar el sistema mediante el uso de transmisores de radio extraños y muy caros, debe considerar el uso de algo así como un ESP8266 que se conecta directamente a un WiFi local, que también es fácil de manejar por la Raspberry Pi. Probablemente ya tenga WiFi (con capacidad de 2.4GHz) en su casa, por lo que no tiene que pensar en conectar la Raspberry Pi y sus sensores remotos.

Siga un proyecto de pelota de rebote como este que apunta a la mayoría del código requerido y se implementa fácilmente en el entorno de desarrollo Arduino. Hay muchos proyectos de GitHub que puedes buscar también.

Si no está pensando en diseñar sus propios PCB, puede obtener placas compatibles con Arduino como esta, que cuestan solo unos pocos $.
Encontrarás múltiples variantes, algunas marcadas como otras de Wemos-D1 sin ninguna marca.

El poder requerido es bastante manejable:

Puede encender, asociar, iniciar sesión, enviar datos y apagar en un segundo sin ningún problema.
Puede obtener casos de proyectos que se ajusten al factor de forma Arduino para la red eléctrica (la mayoría de las fuentes de alimentación USB o las opciones con alimentación de batería). Ciertamente, no vale la pena hacerlo, ya que no puede usar las bibliotecas existentes para impulsar el proyecto ... su desarrollo simplemente será una pesadilla.

Los módulos NRF24L01 + son fáciles de usar y baratos, pero aún necesita una MCU local para controlarlos. Terminará gastando más dinero y tiempo usándolos (y yo he usado muchos de ellos) que usando una solución ESP8266. Nada es más sencillo.

Esto hace que su proyecto sea un servicio web simple en la Raspberry Pi y que sus sensores remotos se enciendan, se conecten y depositen valores de tiempo / temperatura. Lo que podría ser más sencillo.

Nota Si está inclinado a comprar esencialmente soluciones listas para usar, podría considerar el uso de Sensores de enlace simple de TI (basado en ARM), estos son costos bastante razonables en varias variantes ($ 30-40) que se conectan a redes como BLE a través de WiFi. La versión WiFi reclama 3 meses con 2 * baterías AAA a un ritmo de actualización de 1 minuto, por lo que debería ser aproximadamente un año a las actualizaciones de 5 minutos. No los he probado, pero parece que no hay razón para sospechar que no serán confiables.

    
respondido por el Jack Creasey
0

Si no desea hacer todo desde cero, puede utilizar los nodos de onda z de Fibaro. Uso un par de DS18B20 junto con una Raspberry en mi red de automatización del hogar.

Lo que necesitas:

Tablero tranceiver Razberry

Sensor Universal Fibaro (está diseñado para interactuar con el DS18B20)

Y un suministro de 5 V a cada nodo. Luego puede descargar Domoticz o una aplicación de automatización del hogar Z-wave similar para la Raspberry.

Al final, obtendrás una agradable interfaz amigable con el navegador para observar los sensores:

No tengo sensor de humedad, por lo que la línea verde en el gráfico es un poco defectuosa.

    
respondido por el Dejvid_no1

Lea otras preguntas en las etiquetas