LoRa Node with Gateway using LoPy
I'm pretty new here and I don't know MicroPython. I've read a lot of topics, but I'm still a little confused so I guess I'll ask here and hope you'll be able to tell me if what I need to do is doable. (I'm also French (Canada), so forgive my English.)
(If you don't want the details, see tl;dr below)
I'm currently looking to build a network of sensor into our Manufacture Plant.
I want to :
- Have temp sensor, so I can track change (each hour?) and get alert (as soon as it happen!) if needed.
- Have some IO to read data (example, voltage of something) or do action (trigger another PLC IO or relay to do an action).
I can't use WiFi, since some place don't have any and at some others place, there's a lot of interferences where we want to place the module (plus, they are mostly big metal box), so it's a bit unreliable.
So I was thinking of using LoRa, with as many nodes as I need and some gateway (those gateway will have WiFi or Direct Wired LAN) where needed so all nodes have atleast one gateway to reach. The gateway will send alert if needed (SMS?) and push the data to a SQL server for datalogging or whatever I'll define when I'll be at this point ! :)
So the question is:
With LoPy, can I have many LoPy node communicating with a "near him" gateway (LoPy or RPi?) both way so I can read data from the node, get alert or push them into a database and also ask him to trigger some action on IO when needed ?
Thanks a lot! :D
I found this : https://forum.pycom.io/topic/526/lopy-nano-gateway-extended-timeout-and-retry , I'm getting part of the answer there! :)
@livius Node should talk about each hour (or maybe less, but I don't think I'll go lower than 10 minutes) do to a keep alive and update informations or "right away" if there's a trigger trigged (alarm).
I'm pretty sure the hardware can do it, I was less sure about the MicroPython (I saw there was some limitation if we compare to the Python3).
I'll order some for testing I guess ! :)
I suppose that this is quite typical use.
But i do this with wifi and can not answer how many nodes. But better test this self.
Especially question is how often one node communicate with gateway.
Got an idea... don't know if it make sens with MicroPython.
All the node (Firewire Logo in the image) will communicate the information and receive information from the LoRa Gateway (WiFi Modem in the image), those will resend that information using MQTT to a MQTT Broker. This MQTT Broken will then be able to process the information and do datalogging or else. If I have request to do, I will send them to the MQTT Broken, the MQTT Broker will broadcast the information the all of the gateway registered... and (there's the part where I'm not sure how it's working) should it it to the LoPy node that need to do this action.
Sound good ?
How many node can I have per Gateway ?