From 9687f605c88bd184f876da660f4abc27923a44a0 Mon Sep 17 00:00:00 2001 From: Die Peter Pan Date: Mon, 23 Jan 2023 19:40:27 +0200 Subject: [PATCH] Added board ESP32 DOIT DevKit V1 with SX1278 module Ai-Thinker Ra01 (#1411) * Added board ESP32 DOIT DevKit V1 with SX1278 module Ai-Thinker Ra01 Gateway using RTL_433_ESP library, need SX1278 ESP32 DOIT DevKit V1 & external Ai Thinker Ra01 Loraboard SX1278 on VPSI and (DIO0=15, DIO1=4, DIO2=16 and RST=17) --- .github/workflows/build.yml | 1 + docs/prerequisites/parts.md | 2 +- docs/use/rf.md | 62 +++++++++++++++++++------------------ environments.ini | 53 +++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 31 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b6ca493..709b0a7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,6 +38,7 @@ jobs: - "esp32-m5atom-matrix" - "esp32-m5atom-lite" - "esp32dev-rtl_433" + - "esp32doitv1-aithinker-r01-sx1278" - "heltec-rtl_433" - "lilygo-rtl_433" - "esp32dev-multi_receiver" diff --git a/docs/prerequisites/parts.md b/docs/prerequisites/parts.md index abb429a..f982645 100644 --- a/docs/prerequisites/parts.md +++ b/docs/prerequisites/parts.md @@ -11,7 +11,7 @@ Here is below the main parts reference. |SRX882 / STX882|X|-||-|-| |CC1101|X|-|-|-|-| |38KHz IR emitter and receiver|-|X|-|-|-| -|SX1276|-|-|-|X|-| +|SX1276 / SX1278|-|-|-|X|-| |A6/A7|-|-|-|-|X| ::: tip diff --git a/docs/use/rf.md b/docs/use/rf.md index 0b924aa..484060d 100644 --- a/docs/use/rf.md +++ b/docs/use/rf.md @@ -253,12 +253,13 @@ for on: ## rtl_433 device decoders -This feature is only available on a ESP32 based device with a supported transceiver connected due to the resource requirements of the rtl_433 device decoders. At the present time only Pulse Position Modulation (OOK_PPM) and Pulse Width Modulation (OOK_PWM) based decoders are available. +This feature is only available on a ESP32 based device with a supported transceiver connected due to the resource requirements of the rtl_433 device decoders. At the present time only Pulse Position Modulation (OOK_PPM), Pulse Width Modulation (OOK_PWM) and Pulse Manchester Zero Bit (OOK_PULSE_MANCHESTER_ZEROBIT) based decoders are available. ### Supported hardware combinations - ESP32 based device with a CC1101 transceiver - Heltec WiFi LoRa 32 (V2.1) and LilyGo Lora 32 V2.1 +- ESP32 DOIT DevKit V1 and Ai-Thinker R01 (SX1278) ### Supported Decoders @@ -307,7 +308,7 @@ Registering protocol [54] "Interlogix GE UTC Security Devices" Registering protocol [56] "Kedsum Temperature & Humidity Sensor, Pearl NC-7415" Registering protocol [57] "Kerui PIR / Contact Sensor" Registering protocol [58] "LaCrosse TX Temperature / Humidity Sensor" -Registering protocol [59] "LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor" +Registering protocol [59] "LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth, (TFA, ORIA) sensor" Registering protocol [60] "LaCrosse/ELV/Conrad WS7000/WS2500 weather sensors" Registering protocol [61] "LaCrosse WS-2310 / WS-3600 Weather Station" Registering protocol [63] "Markisol, E-Motion, BOFU, Rollerhouse, BF-30x, BF-415 curtain remote" @@ -315,34 +316,35 @@ Registering protocol [64] "Maverick et73" Registering protocol [66] "Missil ML0757 weather station" Registering protocol [68] "Nexus, FreeTec NC-7345, NX-3980, Solight TE82S, TFA 30.3209 temperature/humidity sensor" Registering protocol [70] "Opus/Imagintronix XT300 Soil Moisture" -Registering protocol [71] "Oregon Scientific SL109H Remote Thermal Hygro Sensor" -Registering protocol [73] "Philips outdoor temperature sensor (type AJ3650)" -Registering protocol [74] "Philips outdoor temperature sensor (type AJ7010)" -Registering protocol [75] "Prologue, FreeTec NC-7104, NC-7159-675 temperature sensor" -Registering protocol [76] "Quhwa" -Registering protocol [78] "Rubicson Temperature Sensor" -Registering protocol [79] "Rubicson 48659 Thermometer" -Registering protocol [80] "Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor" -Registering protocol [81] "Silvercrest Remote Control" -Registering protocol [82] "Skylink HA-434TL motion sensor" -Registering protocol [83] "Wireless Smoke and Heat Detector GS 558" -Registering protocol [84] "Solight TE44/TE66, EMOS E0107T, NX-6876-917" -Registering protocol [85] "Springfield Temperature and Soil Moisture" -Registering protocol [86] "TFA Dostmann 30.3221.02 T/H Outdoor Sensor" -Registering protocol [87] "TFA Drop Rain Gauge 30.3233.01" -Registering protocol [88] "TFA pool temperature sensor" -Registering protocol [89] "TFA-Twin-Plus-30.3049, Conrad KW9010, Ea2 BL999" -Registering protocol [90] "Thermopro TP11 Thermometer" -Registering protocol [91] "Thermopro TP08/TP12/TP20 thermometer" -Registering protocol [93] "TS-FT002 Wireless Ultrasonic Tank Liquid Level Meter With Temperature Sensor" -Registering protocol [94] "Visonic powercode" -Registering protocol [95] "Waveman Switch Transmitter" -Registering protocol [96] "WG-PB12V1 Temperature Sensor" -Registering protocol [97] "WS2032 weather station" -Registering protocol [98] "Hyundai WS SENZOR Remote Temperature Sensor" -Registering protocol [99] "WT0124 Pool Thermometer" -Registering protocol [100] "X10 RF" -Registering protocol [101] "X10 Security" +Registering protocol [71] "Oregon Scientific Weather Sensor" +Registering protocol [72] "Oregon Scientific SL109H Remote Thermal Hygro Sensor" +Registering protocol [74] "Philips outdoor temperature sensor (type AJ3650)" +Registering protocol [75] "Philips outdoor temperature sensor (type AJ7010)" +Registering protocol [76] "Prologue, FreeTec NC-7104, NC-7159-675 temperature sensor" +Registering protocol [77] "Quhwa" +Registering protocol [79] "Rubicson Temperature Sensor" +Registering protocol [80] "Rubicson 48659 Thermometer" +Registering protocol [81] "Conrad S3318P, FreeTec NC-5849-913 temperature humidity sensor" +Registering protocol [82] "Silvercrest Remote Control" +Registering protocol [83] "Skylink HA-434TL motion sensor" +Registering protocol [84] "Wireless Smoke and Heat Detector GS 558" +Registering protocol [85] "Solight TE44/TE66, EMOS E0107T, NX-6876-917" +Registering protocol [86] "Springfield Temperature and Soil Moisture" +Registering protocol [87] "TFA Dostmann 30.3221.02 T/H Outdoor Sensor" +Registering protocol [88] "TFA Drop Rain Gauge 30.3233.01" +Registering protocol [89] "TFA pool temperature sensor" +Registering protocol [90] "TFA-Twin-Plus-30.3049, Conrad KW9010, Ea2 BL999" +Registering protocol [91] "Thermopro TP11 Thermometer" +Registering protocol [92] "Thermopro TP08/TP12/TP20 thermometer" +Registering protocol [94] "TS-FT002 Wireless Ultrasonic Tank Liquid Level Meter With Temperature Sensor" +Registering protocol [95] "Visonic powercode" +Registering protocol [96] "Waveman Switch Transmitter" +Registering protocol [97] "WG-PB12V1 Temperature Sensor" +Registering protocol [98] "WS2032 weather station" +Registering protocol [99] "Hyundai WS SENZOR Remote Temperature Sensor" +Registering protocol [100] "WT0124 Pool Thermometer" +Registering protocol [101] "X10 RF" +Registering protocol [102] "X10 Security" ``` ### Change receive frequency diff --git a/environments.ini b/environments.ini index 2d4a23c..774dd11 100644 --- a/environments.ini +++ b/environments.ini @@ -642,6 +642,59 @@ board_upload.speed = 1500000 custom_description = Compact enclosure ESP32 with BLE gateway custom_hardware = M5 ATOM Lite +[env:esp32doitv1-aithinker-r01-sx1278] +platform = ${com.esp32_platform} +board = esp32doit-devkit-v1 +board_build.partitions = min_spiffs.csv +lib_deps = + ${com-esp.lib_deps} + ${libraries.wifimanager32} + ${libraries.rtl_433_ESP} +build_flags = + ${com-esp.build_flags} +; *** OpenMQTTGateway Config *** + ;'-UZmqttDiscovery' ; disables MQTT Discovery + '-DvalueAsATopic=true' ; MQTT topic includes model and device + '-DLOG_LEVEL=LOG_LEVEL_TRACE' + '-DGateway_Name="OpenMQTTGateway_rtl_433_ESP"' +; *** OpenMQTTGateway Modules *** + '-DZgatewayRTL_433="rtl_433"' + '-DZradioSX127x="SX127x"' +; *** rtl_433_ESP Options *** + '-DONBOARD_LED=LED_BUILTIN' +; '-DRTL_DEBUG=4' ; rtl_433 verbose mode +; '-DRTL_VERBOSE=58' ; LaCrosse TX141-Bv2, TX141TH-Bv2, TX141-Bv3, TX141W, TX145wsdth sensor +; '-DRAW_SIGNAL_DEBUG=true' ; display raw received messages +; '-DMEMORY_DEBUG=true' ; display memory usage information +; '-DDEMOD_DEBUG=true' ; display signal debug info +; '-DMY_DEVICES=true' ; subset of devices +; '-DPUBLISH_UNPARSED=true' ; publish unparsed signal details +; '-DRSSI_THRESHOLD=12' ; Apply a delta of 12 (default 9) +; '-DOOK_FIXED_THRESHOLD=0x50' ; Inital OOK Threhold - Only for SX127X (default 5A) +; '-DAVERAGE_RSSI=5000' ; Display RSSI floor ( Average of 5000 samples ) +; '-DSIGNAL_RSSI=true' ; Display during signal receive +; *** RF Module Options *** + '-DRF_SX1278="SX1278"' ; + '-DRF_MODULE_DIO0=15' ; SX1278 pin DIO0 + '-DRF_MODULE_DIO1=4' ; SX1278 pin DIO1 + '-DRF_MODULE_DIO2=16' ; SX1278 pin DIO2 + '-DRF_MODULE_RST=17' ; pin to be used as hardware reset +; '-DRF_MODULE_INIT_STATUS=true' ; Display transceiver config during startup +; *** Heltec module requires non-standard SPI Config *** + '-DRF_MODULE_CS=5' ; pin to be used as chip select +; '-DRF_MODULE_MOSI=23' +; '-DRF_MODULE_MISO=19' +; '-DRF_MODULE_SCK=18' +; *** RadioLib Options *** +; '-DRADIOLIB_DEBUG=true' +; '-DRADIOLIB_VERBOSE=true' +custom_description = Gateway using RTL_433_ESP library, need SX1278 +custom_hardware = ESP32 DOIT DevKit V1 & external Ai Thinker Ra01 Loraboard SX1278 on VPSI and (DIO0=15, DIO1=4, DIO2=16 and RST=17) +board_upload.speed = 921600 +board_upload.port = /dev/cu.usbserial-0001 +board_monitor.speed = 921600 +board_monitor.port = /dev/cu.usbserial-0001 + [env:esp32dev-rtl_433] platform = ${com.esp32_platform} board = esp32dev