Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/matthias-bs/sensortransmitter
Sensor Data FSK Transmitter based on RadioLib using SX1276 or CC1101
https://github.com/matthias-bs/sensortransmitter
868mhz arduino arduino-pico cc1101 esp32 esp32-arduino esp8266 esp8266-arduino fsk rp2040 sensor-data sx1276 transmitter
Last synced: 14 days ago
JSON representation
Sensor Data FSK Transmitter based on RadioLib using SX1276 or CC1101
- Host: GitHub
- URL: https://github.com/matthias-bs/sensortransmitter
- Owner: matthias-bs
- License: mit
- Created: 2023-11-11T15:55:56.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-02-10T08:46:08.000Z (9 months ago)
- Last Synced: 2024-02-10T23:32:11.677Z (9 months ago)
- Topics: 868mhz, arduino, arduino-pico, cc1101, esp32, esp32-arduino, esp8266, esp8266-arduino, fsk, rp2040, sensor-data, sx1276, transmitter
- Language: C++
- Homepage:
- Size: 208 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![CI](https://github.com/matthias-bs/SensorTransmitter/actions/workflows/CI.yml/badge.svg)](https://github.com/matthias-bs/SensorTransmitter/actions/workflows/CI.yml)
[![GitHub release](https://img.shields.io/github/release/matthias-bs/SensorTransmitter?maxAge=3600)](https://github.com/matthias-bs/SensorTransmitter/releases)
[![License: MIT](https://img.shields.io/badge/license-MIT-green)](https://github.com/matthias-bs/SensorTransmitter/blob/main/LICENSE)# SensorTransmitter
Sensor Data FSK Transmitter based on RadioLib using SX1276 or CC1101
This project is closely related to [BresserWeatherSensorReceiver](https://github.com/matthias-bs/BresserWeatherSensorReceiver)
## Use Cases
* Emulation of sensors for testing purposes
* Emulation of sensors while replacing the data with entirely different sensor values,
e.g. using the manufacturer's temperature sensor protocol to display snow depth instead.
* Repeater (combined with receiver)## Supported Protocols
- [x] Bresser 5-in-1
- [x] Bresser 6-in-1
- [x] Bresser 7-in-1
- [x] Bresser Lightning
- [ ] Bresser Leakage## Sensor Data Provisioning Options
See sensor types in [WeatherSensor.h](https://github.com/matthias-bs/BresserWeatherSensorReceiver/blob/main/src/WeatherSensor.h)
Select option in [SensorTransmitter.h](SensorTransmitter.h).
### Raw Data
```
uint8_t payload[] = {0xEA, 0xEC, 0x7F, 0xEB, 0x5F, 0xEE, 0xEF, 0xFA, 0xFE, 0x76, 0xBB, 0xFA, 0xFF,
0x15, 0x13, 0x80, 0x14, 0xA0, 0x11, 0x10, 0x05, 0x01, 0x89, 0x44, 0x05, 0x00};
```
### [class WeatherSensor](https://github.com/matthias-bs/BresserWeatherSensorReceiver/blob/main/src/WeatherSensor.h)### JSON Data as Constant String
```
const char json[] =
"{\"sensor_id\":255,\"s_type\":1,\"chan\":0,\"startup\":0,\"battery_ok\":1,\"temp_c\":12.3,\
\"humidity\":44,\"wind_gust_meter_sec\":3.3,\"wind_avg_meter_sec\":2.2,\"wind_direction_deg\":111.1,\
\"rain_mm\":123.4}";
```### JSON Data as Input from Serial Console - Examples
#### Bresser 5-in-1 Protocol - Weather Sensor
```
{"sensor_id": 255, "s_type": 1, "chan": 0, "startup": 0, "battery_ok": 1, "temp_c": 12.3, "humidity": 44, "wind_gust_meter_sec": 3.3, "wind_avg_meter_sec": 2.2, "wind_direction_deg": 111.1, "rain_mm": 123.4}
```#### Bresser 6-in-1 Protocol - Soil Temperature and Moisture
```
{"sensor_id": 4294967295, "s_type": 4, "chan": 0, "startup": 0, "battery_ok": 1, "temp_c": 12.3, "moisture": 44}
```#### Bresser 6-in-1 Protocol - Weather Sensor
```
{"sensor_id": 4294967295, "s_type": 1, "chan": 0, "startup": 0, "battery_ok": 1, "temp_c": 12.3, "humidity": 44, "wind_gust_meter_sec": 3.3, "wind_avg_meter_sec": 2.2, "wind_direction_deg": 111.1, "rain_mm": 123.4, "uv": 7.8}
```#### Bresser 7-in-1 Protocol - Weather Sensor
```
{"sensor_id": 65535, "s_type": 1, "chan": 0, "startup": 0, "battery_ok": 1, "temp_c": 12.3, "humidity": 44, "wind_gust_meter_sec": 3.3, "wind_avg_meter_sec": 2.2, "wind_direction_deg": 111.1, "rain_mm": 123.4, "uv": 7.8, "light_klx": 123.456}
```#### Bresser 7-in-1 Protocol - Particulate Matter Sensor
```
{"sensor_id": 65535, "s_type": 8, "chan": 0, "startup": 0, "battery_ok": 1, "pm_2_5": 2345, "pm_10": 1234}
```#### Bresser 7-in-1 Protocol - CO2 Sensor
```
{"sensor_id": 65535, "s_type": 10, "chan": 0, "startup": 0, "battery_ok": 1, "co2_ppm": 1234}
```#### Bresser 7-in-1 Protocol - HCHO/VOC Sensor
```
{"sensor_id": 65535, "s_type": 11, "chan": 0, "startup": 0, "battery_ok": 1, "hcho_ppb": 1234, "voc": 1}
```#### Bresser Lightning Sensor
```
{"sensor_id": 65535, "s_type": 9, "chan": 0, "startup": 0, "battery_ok": 1, "strike_count": 11, "distance_km": 7}
```#### Bresser Leakage Sensor
```
{"sensor_id":4294967295, "s_type": 5, "chan": 0, "startup": 0, "battery_ok": 1, "alarm": 1}
```## Serial Port Control
**Note:** No additional spaces are allowed in commands! (But spaces are permitted in JSON strings.)
| Command | Examples | Description |
| ----------------------- | --------------------------------------------- | --------------------- |
| `{...}` | see above | Set JSON message data |
| `enc[oder]=` | `enc=bresser-5in1`
`enc=bresser-6in1`
`enc=bresser-7in1`
`enc=bresser-lightning`
`enc=bresser-leakage` | Select encoder |
| `int[erval]=` | `int=20` | Set transmit interval in seconds
(must be > 10) |