Skip to content
Alex Konshin edited this page Mar 29, 2022 · 18 revisions

f007th-rpi

Raspberry Pi: Receiving data from temperature/humidity sensors with cheap RF receiver

Project source can be downloaded from https://github.com/alex-konshin/f007th-rpi.git

Author and Contributors

Alex Konshin akonshin@gmail.com

Overview

The main goal of this project is to intercept and decode radio signals from temperature/humidity sensors and show on console or send this received data to REST/InfluxDB servers and/or MQTT broker. It is also possible to retrieve the current values via HTTP and even get some HTML pages. Support of MQTT is still experimental. If you want to help to test this new feature then please contact the developer.

The command can send data to InfluxDB server or virtually any REST server that supports PUT requests. How to setup these servers? It is out of the scope of this instruction because there are many possible solutions. For REST server I personally used LoopBack with PostgreSQL that are run on QNAP NAS server. But now I prefer to send data to InfluxDB server.
The command sends JSON to REST server with following fields:
"time", "valid", "type", "channel", "rolling_code", "temperature", "humidity","battery_ok".
The value of field temperature is integer number of dF ("deciFahrenheit" = 1/10 of Fahrenheit). For example, if the value is 724 then the temperature is 72.4°F. Note that not all fields are always present in each report.

Instructions for InfluxDB can be found on site [https://www.influxdata.com/products/influxdb/](https://www.influxdata.com/products/influxdb/. The command sends 3 types of metrics: "temperature", "humidity" and "sensor_battery_status" with tags "type" (one of "F007TH", "00592TXR", "TX7", "HG02832", "WH2", "FT007TH"), "channel" and "rolling_code". Note that rolling code is changed when you replace batteries.

You can assign action to some events. Actions may be changed accordingly to specified schedule.

Supported receivers

The data is received with cheap RF 433.92MHz receivers like RXB6, SeeedStudio RF-R-ASK, RX-RM-5V, etc. It is tested with RXB6 and SeeedStudio RF-R-ASK.

Supported sensors

This project currently supports and tested with following sensors:

Supported platforms

Following platforms are supported and tested:

Raspberry Pi

There are 2 executables on this platform:

  • f007th-rpi_send sends received and decoded data to a remote InfluxDB or REST server. This executable requires pigpio library to be installed and should be run as root (via sudo).
  • f007th-send is the same as above but uses gpio-ts driver. This executable does not require root privileges but gpio-ts module must be already loaded.
Banana Pi M3, ODROID C2, MinnowBoard.

On these platforms only f007th-send is supported and tested. This utility sends received and decoded data to a remote InfluxDB or REST server. It does not require root privileges but gpio-ts module must be already loaded.