The application RLT2STAplus publishes observations from a radio transmitter of an external unit of a weather station to a SensorThings PLUS API endpoint.
DISCLAIMER: This software is in development stage and therefore probably buggy. Please report issues to improve the code
To run the application, a Raspberry PI or another computer running Linux or MAC OS is required. This software depends on the RTL-433 application and a RTL2832 SDR USB. You can buy a RTL2832 SDR USB in AliExpress by 16EUR (https://www.aliexpress.com/item/1005005973076689.html). SDR is Software Defined Radio hardware and RTL-433 is a software that tunes in the 443MHz and decodes digital messages from a radio transmitter of a external unit of a weather station.
This application has been tested with FT-0310 available in https://www.aliexpress.com/item/1005006012318508.html, but it is expected to work with most models supported by the RTL-433 application. Since only the transmitter is necessary you can try to buy only this part here to save costs: https://www.sainlogic.com/german/transmitter-for-sainlogic-weather-station-ft0310-germany.html
Connect the RTL2832 to a USB port of your computer or Raspberry Py.
The following installation is tested on a Raspberry PI 4 with Python 3.9 installed.
First, cd into your favorite directory and then clone this repository with git clone https://github.com/securedimensions/STAplus-RTL-App and change into the directory with cd STAplus-RTL-App.
Before continuing, please setup a Python virtual environment using python3 -m venv venv and activate the virtual environment with source venv/bin/activate.
To install the dependencies, simply execute pip install -r requirements.txt
Follow the instructions from the author: https://github.com/merbanan/rtl_433
NOTE: The STAplus-RTL-App starts the rtl_433 app in the background. The path to the application is /usr/local/bin. In case you have the rtl_433 application installed in another directory, please copy the rtl_433 application or create a soft-link.
For Linux, ln -s /usr/bin/rtl_433 /usr/local/bin/rtl_433 creates a symbolic link to the rtl_433 application deployed at /usr/bin.
For Windows, just create a directory C:\usr\local\bin and copy the rtl_433.exe into that directoy.
The configuration is done via a simple dialog page.
NOTE: The information that you provide is sensitive and must be considered personal identifiable. So please consider carefully which information you are going to publish with your weather data! In particular you may not want to use the exact location provided by the Web Browser to ensure.
name: You can pick a nickname or any other synonym that you like to be linked with your observationsplace name: You need to provide a name for your place. It could be the name of the city or village you are living in, the name of a park nearby. You decide.place description: An optional description of the place of your weather station. For example, mounted on the roof, put on a pole, etc.location - latitude: The latitude of the location of your sensor.location - longitude: The longitude of the location of your sensor.license: The Creative Commons license that you like to be associated with your published weather data.STAplus endpoint URL: You need to provide the base URL for the STAplus compliant endpoint you like to use to publish your weather data.STAplus MQTT Broker: The domain name of the STAplus compliant MQTT broker.STAplus MQTT Port: The MQTT port of the broker.
The application can be started from the terminal window using:
cd STAplus-RTL-App
source venv/bin/activate
python app.pyThe required authentication with AUTHENIX can be done by either scanning the QRCode or by opening the displayed URL in a Web-Browser.
The first time it is executed and once authenticated, the application will create a STAplus Party entity representing you. The Party's property displayName will be set from the value that you provided during STAplus configuration.
Once the application is started it will publish the following observations every 10 seconds:
- Air temperature
- Air humidity
- UV index
- Light intensity
- Rain
- Wind direction
- Wind Speed
- Wind Gust
Please create an issue here.
Work on this project has received funding by the European Union under Horizon Europe project CitiObs.
This work was inspired by a this web page: https://sh.com.hr/hacking-the-ft-0310-weather-station/