This is an extension of the weather station project one of my IoT students tackled last year (2019).
The objective was to have a remote sensor (located in one of the school's gardens) to send temp/humidity/pressure readings to a database using MQTT. Initially a Wemos D1 Mini was used but the WiFi range of the ESP8266 limited the distance the sensor could be placed from the school.
Someone suggested I should look at the inexpensive UHF radios - - nRF24L01 as an alternative.
I've just spent a week of frustration and successes trying to get these radios to work reliably.
I won't share all the frustration as that's very negative and boring - just the final outcome (below).
Here's a photo of the remote station - Wemos D1 Mini + BME280 + nRF24L01+
And here's the base station - Wemos D1 Mini + OLED panel + nRF24L01+
Initially I used Arduino Nanos at both ends, then realised how do I send the received data to Node-RED, so I replaced the Nanos with Wemos D1 Minis. Note: You can upload Arduino 'sketches' to the Wemos which means you can WiFi-enable an Arduino project very, very easily.
The above photos are of a 'test rig' I lashed-up to do some range checks today (11/Sept/20). I managed to achieve a distance of 435 metres (see photo below) before I ran out of 'clear walking space', so now I have to think of somewhere that has a nice, flat, clear, line-of-sight terrain.
I've got a couple of sketches working that sense temp/humidity/pressure (at the remote station) and send the data (as an array) to the base station where it is unpacked and then formatted as a 'json' string and sent via MQTT to Node-RED. I've actually managed to get the sketch to handle a local and a remote MQTT broker (i.e. BeeBotte). Next step is to implement 'DeepSleep' at the remote station to save the energy in the battery pack. I'll publish the Arduino sketches here once I'm happy the programs work reliably.