Hi Guys,
firstly, I will like to appreciate the support you are offering mostly to us computer science student and to those who want to try new IoT related technical stuff.
I have a question or rather a groups of subjects. Before going into my questions, let me give you guys the background of my issues.
I was required, in the context of my thesis, to create a bi-directional communication over the LoRa modulation. The interface is between two “smart devices” consisting of a Raspberry Pi 3 and a LoRa /GPS HAT based on the SX1276 LoRa Transceiver. Both devices will act as Server and Client interchangeably. On both devices will run a packet forwarder the enables them forward data to a local TCP server for further processing.
Presently, both devices can send and receive data from/to each other using the RPI-transceiver software as described in (https://github.com/dragino/rpi-lora-tranceiver). I found a packet forwarder software at (https://github.com/kersing/packet_forwarder), this, however, is not designed for the Lora Transceiver x1276/SX1272 but for the concentrator based on SX1301, which is a multi-channel full gateway devices. It is evident that the software does suit my use case ( in my opinion). I will like someone to either point me to a source of software that could help me achieve the goals described earlier or give me some tips in modifying ( adapting) the existing software to my need. Thank in advance.
I suggest you do a search for single channel gateway … here on the forum or google.
A single channel gateway can connect to The Things Network and can work with a piece off code named LMIC
Your use case does not match LoRaWAN. For LoRaWAN one device is always a gateway and the other always a node. If both devices have a permanent IP connection there is no need for LoRaWAN.
Also, packet forwarders will not talk to other packet forwarders, a packet forwarder never sends any data without the back-end telling it to do so and the back-end does not push data to a gateway if it has not seen data from a node arriving. (And then it might send a reply packet to that node)
Using plain LoRa (or with your own protocol) sounds a lot more achievable. If you do so, please choose a frequency not being used by TTN (or other LoRaWAN providers) in your vicinity.
SPI communication seems ok, however, lgw_connect function fails. I enabled all the available debug options in order to get more information. It seems that the hardware I’m using is not supported:
Note: SPI port opened and configured ok
Note: SPI read success
lgw_connect:532: INFO: no FPGA detected or version not supported (v35)
Note: SPI read success
lgw_connect:555: ERROR: NOT EXPECTED CHIP VERSION (v128)
ERROR: FAIL TO CONNECT BOARD
ERROR: [main] failed to start the concentrator
Yes. Read this thread. The dragino shield can only be used for single (and some boards dual) channel gateways. The code you build requires a full gateway with sx1301. The solution is to use the right code for your hardware.
I had similar issues. If you read the requirements and description of the code you used, you will realize that it is destined for full gateways/concentrators to build in the SX1301 concentrator while yours is based on the 1276/72 transceiver that can act as a single channel gateway ( with a lot of limitations). I solved the problem by using this code —> (https://github.com/tftelkamp/single_chan_pkt_fwd/blob/master/main.cpp). It will work like magic.
Thank you all so much for shedding some light
There are so many different implementations that it is not that easy to understand the proper software/hardware combinations.
@bauvill
Firstly, I tried the same code you indicated. However, as I read that is deprecated, I tried to find a newer one. That’s why I ended up experimenting with the repositories I mentioned in my first message.
Hi Guys,
I have one additional question, this refers to the design and implementation of the communication network over Lora, as I described in my previous post. My devices (2 x ( RPI+LoRa Dragino/GPS Hat) ) are communicating over Lora modulation. Now I wanted to design a Network server that will take care of authentification, and End-devices identification … for the network locally. The point is, I don’t want to connect it to any Cloud service now. I found a Lora-Server API ( at https://www.loraserver.io/loraserver/overview/) that is supposed to do the job.
My question is:
a)Has someone here implemented or used the API or a similar API to create a local network server?
b) Has someone better implementation for this use case.
The Truth is that it is part of the system requirements to run the network server locally.
Any help will be welcome. Once more Thanks in advance.
1- Yea, that should be okay. All you have to do is verify that the Server address points to your region.
2- As far as I know TTN has stopped showing activities of single gateways on their platform. Since single channel gateways are a very limited type of gateway and can’t be truly considered as such. So you would see your gateway as connected on the TTN console.
Unless things are different for NA from the Europe servers he should still see his Dragino Lora HAT gateway as connected. At the very least I still see mine as connected, so there’s that at least.
Ok, can you give some more info about what you are actually seeing, what code you are using, etc. If you aren’t seeing any more payloads in your console, did you stop seeing them after you powered off or restarted the node or before? And if it was after, did you reset the frame counter for your device?
You are going to need to give us some more information on the problem if you want more help.
i use the arduino-lmic library.
after testing with the board, i power it off. (since there, in the console i see the updates from board)
day after i powered it up and see nothing more in the console.
i didn’t reset any counter.
is this necessary to reset the counter before connect again?
Are you using ABP or OTAA?
If you’re using ABP you have to preserve the frame counter. If you can’t or don’t want to preserve the counter when powering the device off and on again, you have to disable frame counter check on console.thethingsnetwork.org for this specific device.
If you’re using OTAA you can send a new join request after power on, so you don’t have to preserve data between power off and on. If this only happens rarely, it is OK to send a new join request. If this happens regurarely, you should store all LMIC infos needed for communications between power off and on.
I am running a Draguino Shield with an Arduino Uno. I have had this running for several days now, but somehow I’ve changed something. Now when I run it i get the following message on the local terminal.
FAILURE /Users/herbblair/Documents/Arduino/libraries/IBM_LMIC_framework/src/lmic/radio.c:328
Any ideas on what’s going on?