Weather Station 433 MHz Sensors Node-red Experiments

by marco.sillano in Workshop > Science

2077 Views, 2 Favorites, 0 Comments

Weather Station 433 MHz Sensors Node-red Experiments

Auriol_IAN_114435.jpg

Developping interfaces for my project tuyaDAEMON (a node-red IOT framework) I found a problem: how to find a valid connection with node-red for devices using the ISM bands: 433.92 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz. Examples of such devices include weather stations, sensors alarm, utility monitor, tire pressure monitor and more. In my case I have a weather station: the "Auriol IAN-114435" offered some time ago by Lidl for € 50 . Good quality/price factor.

I am not an RF expert, here is a summary of my experiments.

Full story at https://github.com/msillano/tuyaDAEMON/wiki/case-study:-433-MHz-weather-station

Exploring

rtl-sdr01.jpg
Immagine 2022-05-12 134034.png

As HW, I used the RTL-SDR, a very cheap USB dongle, around $ 30 with antenna, that can be used as a computer-based radio scanner to receive live radio signals on Pc, Raspberry, Android.

As software there is the brink of choice, see list. I chose SDRsharp (SDR#) due to the presence of a specialized 433 plugin:

  1. I downloaded "SRD# with Community Plugins" from https://airspy.com/download/ for its easy installation.
  2. After installing SRD# (see instructions at https://www.rtl-sdr.com/rtl-sdr-quick-start-guide...
  3. I also installed NET 5.0 SDK from https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-5.0.401-windows-x86-installer
  4. Then I followed these instructions https://www.rtl-sdr.com/rtl-sdr-quick-start-guide... to install in SRD# the RTL_433 plugin from https://www.rtl-sdr.com/rtl-sdr-quick-start-guide...
  5. Last I installed the Win driver as indicated in https//www.rtl-sdr.com/getting-the-rtl-sdr-to-work-on-windows-10/. The Zadig.exe file is present in the bin dir of SRD#.

The SDR# screen show the strength of signals.

Standalone

Immagine 2022-05-12 134214.png
Immagine 2022-05-15 091703.png

To my surprise the RTL_433 plugin has decoded all the weather devices providing this output in clear text

All three channels of the weather station use the same protocol #16, called 'Alecto V1': see here for protocol details.

Time to use the RTL_SDR standalone, using the rtl_433.exe from https://github.com/merbanan/rtl_433 The following operations were necessary:

  1. I downloaded the rtl_433-win-msvc-x64-21.12.zip file from https://github.com/merbanan/rtl_433/releases
  2. I created a directory (d:\usrbin) and added it to the windows PATH (pop-up system properties then environment variables) and unzipped here rtl_433-win-msvc-x64- 21.12.zip.
  3. Using the RTL_SDR, we can't use the default rtl_433.exe. So I renamed the file "D:\userbin\rtl_433.exe" to "D:\userbin\rtl_433_base.exe" and I make a copy of the file "D:\userbin\rtl_433-rtlsdr.exe" as "D:\userbin\rtl_433.exe".

Now you can test all exe in d:\usrbin simply using a command line terminal (cmd.exe): the dir is in the PATH, so it works from anywhere.

Node-red Driver

Immagine 2022-05-13 185833.png
Immagine 2022-05-18 125527.png

I installed the node-red-contrib-rtl_433 then I build a minimal test flow: just with the default settings, it worked the first time: as you can see in the debug pad, it returns all data in an object. Perfect!.

The final drive node-red is a little more complex:

  1. Uses the RT/AVG filter subflow to everage device data (optional, e.g. every 5 min).
  2. User runtime configuraton data are grouped for easy access in a Global 433 gateway config node.
  3. Some useful meteorological functions are implemented in a singleton object context.global.meteoUtils to allow easy reuse in any flow/node. This library can be used in any meteo application.
  4. If you are receiving signals from other sensors in a stable way, you can extend this '433 gateway' node-red flow to process your data.

Full story at https://github.com/msillano/tuyaDAEMON/wiki/case-study:-433-MHz-weather-station

That's all folks

In the hope that this will help other users, best regards.

m.s.