rajeev1986 / contikios-for-lora

ContikiOS running on Semtech SX1276/77/78/79 LoRa module
https://contikios4lora.github.io/contikios-lora/
Other
19 stars 8 forks source link

How to design the TCP/IP protocol stack for LoRa? #1

Closed lihk closed 5 years ago

lihk commented 5 years ago

It's really a salient work by building the full networking stack for LoRa platforms. The current Contiki port seems to only support Rime protocol and MSP430 MCU. If the LoRa nodes want to communicate with each other by TCP and IP protocols (e.g., IPv6), how to design the protocol stack by reusing the existing Contiki stack. Moreover, if i want to develop the LoRa applications by using the Arduino UNO board, how to port the current codes that runs on MSP380 MCU. Now, I am stuck by the problem of combing the Contiki stack with LoRa PHY protocol, and the call relationships between the APIs in these protocols. If you could share a hint I would be grateful.

rajeev1986 commented 5 years ago

@lihk As it is, the port should be able to work with IPv6 stack of Contiki. However, I have not tested this and not 100% sure. The main idea was to provide the low-level stack so that the community and researchers could build on top. If not, then this will require some minor changes to the sx1276-arch.c layer of the port and the radio driver. I also came across this article where authors claimed they have IPv6 stack running atop LoRa. Maybe the two, RIME and IPv6 can be combined to have the complete stack up and running. I would have loved to do the full integration, but as the projects changed, so did my work schedule and I was unable to complete this. For the Arduino support, I do not have the idea on the porting side as the MCUs are of different architecture. I am more familiar with TI's MSP430 while the Arduino uses ARM. Looking at the libraries here, you should be able to figure out the physical layer porting for Contiki with Arduino. Hope this helps...

lihk commented 5 years ago

Thank you for your timely reply. These suggestions are very useful for my work. I will study them earnestly.