I agree. Currently, there's no way to do it. We will discuss today and probably implement this functionality.
On Wi-Fi/ LTE Cat m1 we could send any downlink messages over mqtt.
on LoRa/Sigfox we need to do something else - we are constraint by bandwidth and downlink connection windows
@jubenjum The tutorial you are using is for the "main" line of MicroPython. Pycom has a separate branch which differs in quite a few places.
See the docs here for the Pycom version. The mode is passed as a periodic argument in that one.
Thanks for your answer @catalin,
For now I am using 869,5MHz (500mW, 10% duty cycle). But if it converges within 3 minutes it is fine for my use case: I'll test that.
Edit: After 300s, both devices remain single leaders in my case. I'll try other frequencies and longer durations.
Other question: is there something specific to do to release buffer or similar things in message receive callback? The transceiver is emitting 1 short msg every 60s, but the receiver only gets the first message.
@ps47 also experienced similar errors like you have been observing . He is also using pure LoRa. Using the most recent 1.20.2.rc3 release seems to help here . Thanks @husigeza and the whole Pycom team for mitigating this issue.
I tried the new build LoPy4-1.20.2.rc3-0.8.0-vanilla-squirrel.tar.gz and not any “bad00bad bad00bad bad00bad” Core Panic happened till now.
With kind regards,
Another quick question, I have a Gpy, but the sim cards that I got to borrow for LTE-M and NB-IoT aren't certain if they're working. Is it possible to check if there is network coverage at all without a working sim card, with some of the Functions like lte.ue_coverage()? (This one only working for LTE I believe?) As I tried just using them with the examples in the Docs, making sure to flash the right firmware, but never ever got anything to attach.
@smarok Is there a specific reason you only want one advertisement? This goes a bit against the whole principle of advertisements, especially as:
an advertisement could be lost
an advertisement is always sent 3 times on 3 different channels anyway
Anyone receiving the advertisements should be able to deduplicate them (it's actually sometimes more difficult to get each repeated advertisement than to receive each of them).
If you really want to do that, your best bet is probably to set adv_int_min/max to something around the time you have advertisements turned on, so that there should be one and only one advertisement during that time. Use a relatively large value for that interval, as there's probably quite a bit of uncertainty at both ends. For instance you could use 1 second and set the advertising interval to 16000.