Comments (12)
I have made some test and there are my inferences :
- Firstly in Class C Mode, it seems not possible to readAck() since Ack_Status = NEW_ACK; line works only in Class A mode.
- Network Server sends downlink including ACK message in RX1 window. In the Class C mode, right after sending uplink, RX2 window opens and remain so till the next transmission. (which means we will miss the message) Normally according to lorawan specifications, Class C mode should include Class A mode behaviour.
Refer to : https://lora-developers.semtech.com/documentation/tech-papers-and-guides/lorawan-class-c-devices - When I switched to Class A, after some modification, I could get ack+data downlink message in RX1 windows. After turning the gateway off, I could not get any data ( which means success)
I think it is necessary to make an arrangement according to Lorawan Spec. These are my observation, if I am wrong, please correct me. If I made a progress, I will inform you and pull request
Thanks for your attention.
from beelan-lorawan.
Hello, @kadirozdinc !
Many thanks for contacting us and for the information.
I have tested your code and it successfully worked for me except for the output that turns on the LED.
If I send a downlink message from the server with 0x41, I am able to read "A" in the Serial Monitor, but the led never turned on. I suggest you add to the void setup() the first state for the output you want to turn on when you receive "A" from the server. It means, after pinMode(LED, OUTPUT); please add the instruction digitalWrite(LED, LOW);
I would like to clarify that I used TTN as my server to test the application. Please, try it with your server and let me know if you finally solved your issue or if there is anything else I can help you with.
We are keeping in touch.
from beelan-lorawan.
Thanks for your interest .Codes works for me successfully I can turn the led on no problem but what I want to emphasie was different issue. I try to get ACK messages for every uplink messages. You know there are 2 types of payload which are confirmed and unconfirmed. When I set it as confirmed, at node side I need to get ACK message which means uplink arrived network server without problem. Briefly I want to see ACK messages in arduino serial.
I looked over library I found a function named readAck() but I cannot make it work.
from beelan-lorawan.
Hi @kadirozdinc !
Thanks for clarifying, now I understand.
In order to try to replicate your issue, could you please share with me the following additional information:
- Are you still using Class C as your code is written?
- Did you confirm that downlink messages are being sent every time the server receives data from your node?
- Are the uplink messages stable and continuously reaching the server?
from beelan-lorawan.
1- Yes I use in Class C
2- No, Whenever I send downlink from Chirpstack, I can get it in node side without any problem, in class C there is no obligation to get downlink messages when send an uplink.
3- Yes I can observe uplink message in network server.
When I set uplink as confirmed I can see Chirpstack send downlink with FPort=0 every time It gets confirmed uplink because Confirmed message requires for Network server to send downlink that include ACK message. The problem is in library, I cannot get these downlink messages carrying mac command with Port 0, library check if there is FRMPayload or not, if yes it get downlink message otherwise it doesn't care
I just want to be able to get ACK message right after sending an uplink just to make sure message arrived at server successfully
How can I implement this in Class C ?
from beelan-lorawan.
Any idea ?
from beelan-lorawan.
Hi again @kadirozdinc !
We are reviewing the issue based on your last info in order to see where the issue could be originated.
As soon as we have information related to it, we will be writing back to you.
Thank you for your patience, collaboration, and information.
We are keeping in touch.
from beelan-lorawan.
Hi @kadirozdinc !
I have already run some tests for this issue.
Using OTAA, I was never able to receive any ACK message, after executing the uplink. I started trying with the same specifications you are using (Class C, I used US_915 FSB 2 for TTN and FSB 1 for ChirpStack). No success.
I tried using ABP mode.
1.- TTN: I registered a device to work with ABP mode, US_915, FSB 2, Class A. It worked.
2.- ChirpStack: I registered a device to work with ABP mode, US_915, FSB 1, Class A. It did not work.
I will attach a ZIP file where I added some screenshots.
ACK issue.zip
I wonder if you are able to execute a test maybe with TTN using the same specifications I did use. This way we can confirm that maybe the issue is with OTAA mode and, in addition, there is something else to do with ChirpStarck in order to get ACK using the same settings as TTN.
This library is based on version 1.0.3, it has been tested with version 1.0.4 and worked well, but some features may not be compatible or supported. I have already reported the issue. Now, I cannot assure a specific frame of time to resolve this issue. As soon as we have any updates, we will let you know.
We are keeping in touch!
from beelan-lorawan.
Hello @kadirozdinc
If you do not have more questions or findings at this moment, we will now close this issue.
Remember you can re-open it if you need further assistance.
Regards!
from beelan-lorawan.
from beelan-lorawan.
I apply the change #118 but it didn't work for me somehow. It would be perfect if there is an example about how read ack after sending uplink with classA and classC. I use ESP32-C3 model with RFM95 radio module and Chirpstack NS( multiscan,
sf7bw125, OTAA )
from beelan-lorawan.
Hi @kadirozdinc !
Thank you for your feedback!
We are still running some tests to get as much information as possible to find the best solution for this issue.
The last test we executed threw the results explained before.
However, we will be grateful for any progress made on your own and shared with us by making a pull request.
We will be informing you about any updates on the library.
We appreciate your collaboration.
from beelan-lorawan.
Related Issues (20)
- LoRaWAN protocol version? HOT 4
- Stuck at Joining... process HOT 13
- LoRaWAN downlink not working HOT 3
- ElectronicCats HOT 10
- Problem with US915 HOT 7
- Communication p2p HOT 1
- Soft WDT Reset on lora.sendUpLink() HOT 7
- Hello guy, I'm not able to send lora through SF12? Are there any errors here? HOT 12
- Stuck on joining network HOT 4
- .setChannel(<int>) doesn't appear to do anything HOT 17
- ElectronicCats HOT 4
- unable to join using OTAA HOT 5
- Can not send/receive data using OTAA Class-C HOT 35
- Join procedure EU HOT 13
- Issue setting up correct pins for ESP8266 HOT 11
- Method to get DevAddr, NwkSKey and AppSKey HOT 3
- IN865 band HOT 7
- Poor ESP8266 support since 2.0.0 and up HOT 2
- What is What , RFM_pins? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from beelan-lorawan.