xg590 / SX1276

MicroPython Library for SX1276 (A Long Range Radio Chip from Semtech)
Apache License 2.0
34 stars 8 forks source link

Multiple nodes sending to one node #6

Closed atonughosh closed 1 year ago

atonughosh commented 1 year ago

I have setup two or more nodes sending data to a single node. A lot of collisions occur and "PayloadCrcError" shows up. But why does it get stuck at this? In the image below, one node is sending a sequence number and "HelloWorld" and the other is sending "HelloWorld_1".

Also, is there a way to receive maximum data from multiple nodes?

image

xg590 commented 1 year ago

According to my understanding of LoRa theory, it is difficult to do collision detection before sending. If two senders contest the same channel, there will be PayloadCrcError. A simple search https://www.thethingsnetwork.org/forum/t/do-lora-wan-nodes-perform-any-activity-detection-and-or-collision-detection/1353/3 led to a similar conclusion. I think we have to do a retransmission if there is a CrcError.

In addition, there is a CAD mechanism for the SX1276 chip but I do not understand how it would be helpful. The datasheet says it listens the preamble of on-going transmission during CAD state but that elusive preamble only lasts for a few milliseconds. If one SX1276 is transmitting (preamble transmission is over), I don't think other SX1276 chips can detect the on-going transmission (payload is being transmitting). What do you think?

Best, Xiaokang.

On Wed, Dec 21, 2022 at 7:17 AM ATONU GHOSH @.***> wrote:

I have setup two or more nodes sending data to a single node. A lot of collisions occur and "PayloadCrcError" shows up. But why does it get stuck at this?

Also, is there a way to receive maximum data from multiple nodes?

— Reply to this email directly, view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_xg590_SX1276_issues_6&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=68-jaezqLTx9tGFv4ExwCQ&m=v_iPkGDQ_J2cUqZSk5qD0mX0va1rplvPuOUNilsoBfkVFlLSf_cIwGSfMuxgGjek&s=6FcI7ZUm3JjokO5Z-RFDBwQcL3LU7-ICXD4ReoivJQ8&e=, or unsubscribe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKJHY6HTCTHNAU5KCWMR4Q3WOLYNNANCNFSM6AAAAAATFR5QYE&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=68-jaezqLTx9tGFv4ExwCQ&m=v_iPkGDQ_J2cUqZSk5qD0mX0va1rplvPuOUNilsoBfkVFlLSf_cIwGSfMuxgGjek&s=oTrvpE4iSZ6uL2D-9TUPShwNCQBk8MlneAuYA7QPyHs&e= . You are receiving this because you are subscribed to this thread.Message ID: @.***>

xg590 commented 1 year ago

I believe "Transmit only if asked by a master node" is a good idea to gather data from multiple slave nodes.

On Wed, Dec 21, 2022 at 7:17 AM ATONU GHOSH @.***> wrote:

I have setup two or more nodes sending data to a single node. A lot of collisions occur and "PayloadCrcError" shows up. But why does it get stuck at this?

Also, is there a way to receive maximum data from multiple nodes?

— Reply to this email directly, view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_xg590_SX1276_issues_6&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=68-jaezqLTx9tGFv4ExwCQ&m=v_iPkGDQ_J2cUqZSk5qD0mX0va1rplvPuOUNilsoBfkVFlLSf_cIwGSfMuxgGjek&s=6FcI7ZUm3JjokO5Z-RFDBwQcL3LU7-ICXD4ReoivJQ8&e=, or unsubscribe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKJHY6HTCTHNAU5KCWMR4Q3WOLYNNANCNFSM6AAAAAATFR5QYE&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=68-jaezqLTx9tGFv4ExwCQ&m=v_iPkGDQ_J2cUqZSk5qD0mX0va1rplvPuOUNilsoBfkVFlLSf_cIwGSfMuxgGjek&s=oTrvpE4iSZ6uL2D-9TUPShwNCQBk8MlneAuYA7QPyHs&e= . You are receiving this because you are subscribed to this thread.Message ID: @.***>

atonughosh commented 1 year ago

I believe "Transmit only if asked by a master node" is a good idea to gather data from multiple slave nodes. On Wed, Dec 21, 2022 at 7:17 AM ATONU GHOSH @.> wrote: I have setup two or more nodes sending data to a single node. A lot of collisions occur and "PayloadCrcError" shows up. But why does it get stuck at this? Also, is there a way to receive maximum data from multiple nodes? — Reply to this email directly, view it on GitHub https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_xg590_SX1276_issues_6&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=68-jaezqLTx9tGFv4ExwCQ&m=v_iPkGDQ_J2cUqZSk5qD0mX0va1rplvPuOUNilsoBfkVFlLSf_cIwGSfMuxgGjek&s=6FcI7ZUm3JjokO5Z-RFDBwQcL3LU7-ICXD4ReoivJQ8&e=, or unsubscribe https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AKJHY6HTCTHNAU5KCWMR4Q3WOLYNNANCNFSM6AAAAAATFR5QYE&d=DwMCaQ&c=slrrB7dE8n7gBJbeO0g-IQ&r=68-jaezqLTx9tGFv4ExwCQ&m=v_iPkGDQ_J2cUqZSk5qD0mX0va1rplvPuOUNilsoBfkVFlLSf_cIwGSfMuxgGjek&s=oTrvpE4iSZ6uL2D-9TUPShwNCQBk8MlneAuYA7QPyHs&e= . You are receiving this because you are subscribed to this thread.Message ID: @.>

Exactly what I was thinking. Thanks