Giter Club home page Giter Club logo

Comments (12)

kadirozdinc avatar kadirozdinc commented on June 28, 2024 2

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.

AndreaZGuz avatar AndreaZGuz commented on June 28, 2024

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.

kadirozdinc avatar kadirozdinc commented on June 28, 2024

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.

AndreaZGuz avatar AndreaZGuz commented on June 28, 2024

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:

  1. Are you still using Class C as your code is written?
  2. Did you confirm that downlink messages are being sent every time the server receives data from your node?
  3. Are the uplink messages stable and continuously reaching the server?

from beelan-lorawan.

kadirozdinc avatar kadirozdinc commented on June 28, 2024

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.

kadirozdinc avatar kadirozdinc commented on June 28, 2024

Any idea ?

from beelan-lorawan.

AndreaZGuz avatar AndreaZGuz commented on June 28, 2024

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.

AndreaZGuz avatar AndreaZGuz commented on June 28, 2024

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.

AndreaZGuz avatar AndreaZGuz commented on June 28, 2024

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.

sabas1080 avatar sabas1080 commented on June 28, 2024

#118

from beelan-lorawan.

kadirozdinc avatar kadirozdinc commented on June 28, 2024

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.

AndreaZGuz avatar AndreaZGuz commented on June 28, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.