Camera image over MQTT
-
If you can work with a 500 meter range (maybe 1Km) WiFi Long Range mode - already in ESP-IDF 2 so should be coming soon to Python - could maybe do it.
- Support Long Range Rate mode along with bgn mode to support long range WiFi communication.`
https://github.com/espressif/esp-idf/releases
- Support Long Range Rate mode along with bgn mode to support long range WiFi communication.`
-
@robmarkcole
The other problem with taking days to send an image is you have to keep the LoPy running - at full speed - all that time so you could rule out battery power.
-
@robmarkcole The payload of LoRa is only around 50 bytes so using LoRa to transfer your images is out of the question. It is simply not designed for this purpose. You could however store it locally on a sd card, if cellular/Wi-Fi is not an option. You can then send a notification when it's time to collect your data.
-
@RobTuDelft Interesting, thanks! Would I have to transfer the whole image to the LoPy, or just use the LoPy as a Lowra router and transfer the image piecemeal? For my project, I do not require fast transfer of the image - if it took a couple of days to send the image I would be happy.
4G is another option, but I am thinking about places where there is weak to non-existent mobile reception
-
If the Pi is close, use Wi-Fi to connect to the Pi and send your pictures over WLAN. Instead of the Fipy you can also hook up a separate cellular module to a wipy/lopy.
Another option is something like this https://www.generationrobots.com/media/3G-GPRS-GPS-Arduino-Shield-With-Audio-Video-Kit.pdf. You can connect the arduino via UART to the wipy/lopy.
-
@robmarkcole
Regardless of camera support sending images over LoRa is unrealistic, it's a slow protocol and the duty cycle restrictions will make any transfer of more than a few bytes take forever.The FiPy - provided you have LTE-M network coverage - should be better suited for this
-
Hi @robmarkcole
This is definitely possible over WiFi as there are working examples written in C for the ESP32, however I'm yet to see this ported to MicroPython so it might be a while before you're able to do it specifically in MicroPython.
Here's a link to the example I'm referencing written in C;