Not receiving data - always empty
-
@jcaron OK, I'll check the docs, I don't think I've seen IN865 as a region option anywhere.
I'll also start looking into building a custom firmware
-
It was a signal issue.
I took the device into the CBD along with my laptop, phone for a hotspot to get to the loriot page, ran a test there and got data back OK.
So can confirm that EU868 is fine for IN865 frequencies if you set them manually. No need for firmware changes. Also there is no IN865 region you can init the lora object with, but there's no need anyway.
So the biggest problem I see with using LoRaWAN is the real lack of any kind of feedback when signal strengths are not good enough. lora.has_joined() = True doesn't really mean anything, you can think you are sending data but there's no way to know on-device that it went anywhere. Even if it did, and you can see it on a server, it doesn't mean the device is in range to receive. It's only when you receive data that you can get some lora.stats(), so really up until that point you have to assume that you aren't in range, which could end up with duplicate data arriving to the server.
-
@mk that’s the whole problem of LoRaWAN... it’s mostly “you send and you pray”, especially in regions like EU868 where there are duty cycle limitations which severely limit your ability to use confirmed packets.
In regions where those limits do it exist and the network allows it, you can use confirmed packets.
I’m still surprised you actually received anything. The RX2 frequency and data rate is different, and is none of the channels you configured... They must have a hybrid deployment where some gateways are actually sending on the EU RX2, not the IN one?
-
@mk On request, I made a few builds for the IN865 region. Copies are here: https://github.com/robert-hh/Shared-Stuff
being in the EU region, I tested them only against my own gateways, a Pycom Nanogateway and a IC880a. -
@robert-hh thanks for this
@jcaron i will find out some more details from the provider and see what they are doing.
They think it’s strange that I had signal issues from my location as they’ve had successes more than 3x as far away, and have recommended I try a different antenna (I was just using the standard one from pycom) to one that centres on 868 or
865, I have a couple on order and will update when they arrive -
@robert-hh I tried using the latest firmware upgrade tool, selected "LoPy4-IN865-1.20.0.rc7.2.tar.gz" but got the error
The upgrade failed due to the following error:
NoneType object is not iterableHere's the options I chose on the updater:
Communication screen:
- ticked high speed transfer, erase flash file system, and force update lora region
- choose "flash from local file"
LoRa region selection: (probably didn't need to do this, I was on EU868 already)
- Country: India (same as choosing Region=EU868)
Any ideas?
-
@jcaron thanks for your comments, this one got me thinking a bit more and I asked the provider for some more details:
I’m still surprised you actually received anything. The RX2 frequency and data rate is different, and is none of the channels you configured... They must have a hybrid deployment where some gateways are actually sending on the EU RX2, not the IN one?
They said:
by default we use the RX1 window, but can change to use the RX2 window on a device-specific basis, which would use the IN865 866.5500 MHz, DR2 (SF10)
I'm still pretty new to this stuff, but the LoRa Alliance regional parameters doc seems to indicated that RX1 is the default and just uses the same channel (is that the same as frequencies?) as the last uplink for the downlink. I'm only expecting to receive data after a send from the device. So does that make it clearer why I was able to receive, or am I misunderstanding something (sorry if I am!)
-
@mk I have to check again, if the tar file is packed the right way. Maybe that is the problem.
-
@mk I just flashed that file from github to my LoPy4, and it worked. I left however the setting "erase flash" and "LoRa Region Select" untouched. And I usually select a low transfer speed of 230400.
-
@mk ah, they mentioned RX2 on their site, so for some reason I was convinced they were sending on that.
The device always listens on both, it’s up to the network to decide which one it uses.
RX1 uses the same frequency and data rate as the upload by default, but offsets can be set by the network.
You are doing an ABP join, you should switch to OTAA to get all the settings from the network. Also try sending using the lowest possible data rate (highest number) as that will dictate how the reply is sent.
Does their back-end show the channel and data rate for downlinks? Or can you log
LoRa.stats()when you receive one? -
@robert-hh re-downloaded and flashed successfully with the same settings as you. There was a file size difference as well, so most likely problem was that I didn't download it properly the first time.
Is the key difference between this custom firmware and the standard, that RX2 for downlinks uses the IN865 frequency? Is there anything else?
-
@mk I do not know much about the details. This build just includes the already existing modules for IN865 and adds in modlora.c the keywords and defaults for that region. It does NOT include changes to the LoRa software made since that version.
-
@robert-hh ok, thanks
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login