Long Range IoT Networks - Chapter 2 | Particle + LoRa Better together

@all,

I have been silent on this topic for the past few weeks as I struggled with an elusive issue that would prevent the gateway from receiving new messages. @jgskarda has been giving me troubleshooting tips all along and today made a suggestion that - it seems - was my problem. I want to mention it here as it could easily be an issue for others.

First, my use case is a little different so, my implementation is different than Jeff’s. In my case, I want to connect nodes that cannot get cellular service in parks to a “gateway” that can get service. While the nodes often have to be placed in a specific spot, this gateway can be positioned anywhere it can get both cellular and LoRA connections to the nodes. I have tested this on a couple trouble spots in our mountainous NC parks and I believe it will work. This is a sleepy mesh like Jeff’s but, in my case, the nodes and gateway all have solar panels so power is not as big a deal and therefore I am not going for sub-second scheduling. My gateways will also service fewer nodes.

My problem with stability arose when I introduced sleep into the operation of the nodes. The insight Jeff had was that while the Boron was sleeping, the LoRA radio was not. There are many LoRA devices out and about today not associated with my project. When the Boron went to sleep, the LoRA radio might still receive a message (not for us but a message nonetheless) and it would raise the interrupt which would not get services as the Boron was asleep. Then, when I went into the LoRA state and started listening, new messages were ignored as the current interrupt was not yet serviced. Clearing the LoRA message queue before listening and putting the LoRA radio to sleep at the end of the LoRA state seem to have fixed the issue.

Here is the code - still under development - in case you are interested:

I also updated my Particle Carrier Board to include a LoRA radio footprint. This way, I can have the carrier boards made at scale and easily add the LoRA module to those carriers where it is needed. The Module fits under the Boron for a very neat appearance. I have a small run of 20 of these at MacroFab now.

IMG_0006

Now that things are stable (knock on wood), I need to start to add some of the features needed to support a field deployment. At least I am not suck anymore.

Comments, suggestions welcome,

Chip

6 Likes