DRAGINO problems and solutions topic part 1

this topic is to share information about all the DRAGINO problems and solutions.

part 2 is HERE

2 Likes

Hello,

I’m new here and I hope someone could help me, In follow configuration I have some problems:
http://wiki.dragino.com/index.php?title=Connect_to_TTN

The Problem:

  • I only can send the first package, but on the node I don’t recive “EV_TXCOMPLETE”

  • The count don’t change

In both devices are configuraded in interfaces as:

  • For the gateway I’m using: single_chan_pkt_fwd

  • For the node I’m using: lmic_pi-master (ABP)

The gateway looks to be working

(Only for the first package)

But for the node, I Always send only the first package or recive a error or “OhOh. Unknown interrupt flags for FSK”. I don’t know what to change to made it Works

On the configuration I use the following formats in TTN:
DEVADDR - HEX
NWKSKEY - MSB
APPSKEY -MSB

On TTN I can see:

I am working with Dragino Lora shield v1.3 and Raspberry Pi 3 in building a single channel gateway and connected to Things network.

But my gateway shows that the status as not connected.

The server address I have tried with are 54.72.145.119, 52.169.76.203, 54.229.214.112. But the problem still exist. Can anyone help me please?

Yes, I tried but it isn’t working on Dragino LoRa GPS hat. I contacted the developer and spoke to him but for now he hasn’t the time to look after the code. Maybe it helps if you contact him, too.

The dual channel code is only working with Uputronics board with 2 mounted RFM95 modules. If only 1 module is soldered, you can make a little change to the code to get it work.

I have a Dragino Lora Mini http://wiki.dragino.com/index.php?title=LoRa_Mini that I am really having a hard time connecting it to TTN.

The sketch compiles and uploads fine, but nothing happens after “-- STATUS” is printed t the console. The TTN gateway does not show any traffic.

This is my sketch

#include <TheThingsNetwork.h>
#include <CayenneLPP.h>
#include <SoftwareSerial.h>

// Set your AppEUI and AppKey
const char *appEui = "{MY_APP_EUI}";
const char *appKey = "{MY_APP_KEY}";

#define debugSerial Serial

SoftwareSerial loraSerial(10, 11); // RX, TX

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan TTN_FP_EU868

TheThingsNetwork ttn(loraSerial, debugSerial, freqPlan);
CayenneLPP lpp(51);

void setup()
{
  loraSerial.begin(9600);
  debugSerial.begin(9600);

  // Wait a maximum of 10s for Serial Monitor
  while (!debugSerial && millis() < 10000)
;

  debugSerial.println("-- STATUS");
  ttn.showStatus();

  debugSerial.println("-- JOIN");
  ttn.join(appEui, appKey);
}

void loop()
{
  debugSerial.println("-- LOOP");

  lpp.reset();
  lpp.addTemperature(1, 22.5);
  lpp.addBarometricPressure(2, 1073.21);
  lpp.addGPS(3, 52.37365, 4.88650, 2);

  // Send it off
 ttn.sendBytes(lpp.getBuffer(), lpp.getSize());

 delay(10000);

}

http://wiki.dragino.com/index.php?title=LoRa_Mini

1 Like

@rocketfarm
you’re using a sketch with TheThingNetwork library which use a LoraWan device RN2483 (serial) Dragino Lora Mini has RFM95 device inside, so you must use LMIC stack as @BoRRoZ give you example

1 Like

Hey I just got the hat working and I can see the same data as you. I wanted to know how do you read the payload? Is it the actual data sent or do we have to convert it from ASCII to text? Also I have seen the data changes at the last byte/bytes, is there a reason for it? Because I thought the code sends the same data each time.

I did contact him, haven’t received a reply yet. Did you manage to get the downlink working on the lora gps hat? Also I might sound like a noob, but on the application console on TTN, I have noticed a couple of byte changes on the payload. Why does this happen? Shouldn’t the node send the same data at all times?

When you talk about read the payload, is about the Picture on Application Data? If yes, on the code of GitHub - ernstdevreede/lmic_pi: Raspberry Pi port LoRaMAC in C / LoRaWAN in C http://www.research.ibm.com/labs/zurich/ics/lrsc/lmic.html, is implemente to return on the App in format HEX. Or if you talking about the data in the output of the gateway (Base64) you can decoder with this: https://lorawan-packet-decoder-0ta6puiniaut.runkit.sh/.
From what I read, there is no data being sent in ASCII format because it requires a higher bandwidth.

I’m no sure, but I think is for that:

  • The data and a count sent:

  • On the function do_send():

The diference about the data sent is the conter, because Always the code repeat the “Hello world!” + cntr and after save the data in the buf variable, the cntr change.

Thank you so much. I was able to convert the app payload and gateway traffic.

1 Like

Now, I’ve got the code working. The point is that in global_conf.json you have to set pin_rst to 3 instead of 0 as in README.md. Pins for Dragino hat are:

"pin_nss": 6,
"pin_dio0": 7,
"pin_nss_2": 6,
"pin_dio0_2": 7,
"pin_rst": 3,

The other pins can remain untouched.

As Dragino hat has only one RFM95 module you will get a single channel gateway, not a dual channel gateway (with up- and downlink). Therefore you have to comment out line 552 in LoraModem.c:

// Die("Unrecognized transceiver");

After that the GW will work fine.

1 Like

Hey, I am using the lora hat as a gateway. I know there has been some issues with using the hat as a gateway and the single packet code doesn’t support downlink. But is there any way I can check if downlink packets reach my gateway or not? I tried sending a downlink data from the ttn console but it is just scheduled (as expected) but shouldn’t it atleast try to send the data to the gateway? Does this have anything to do with the Fair access policy.

A gateway needs to poll the back-end periodically for downlink packets (this ensures firewalls keep the connection active) Does the single channel gateway poll?

I am not sure, I am using the single_ch_pkt_fwd on the dragino gps hat.

1 Like

Then may-be you need to check/investigate. Or do you expect us to do the work for you?

I am able to receive packets from the ttn on my gateway. But it is the response packets sent after I send a packet received from the node. I am also able to ping my gateway pi, from a different device on a different network. How do I know if on sending a downlink packet the ttn sends a packet to my gateway pi?
There is no firewall setting in place, I have the DMZ setup to forward all packets to my gateway pi, so it shouldn’t block anything. I am sorry but I do not know how to check if the gateway polls ttn or not, as I can see any packets between the gateway and ttn except while sending packets received from the node.

You could check the code to see if it includes a downlink poll.

Hi! My friends! @telkamp @BoRRoZ @BjoernA @Harald_Naumann
I have added the line in the crontab however, if you know any other possible way to keep it running. Many thanks in advance.

Note : Raspbian plus LoraHAT (rpi3)

Method 1 : which stops working once press ctrl+C or reboot system
#sudo /home/pi/lorawan_gateway/single_chan_pkt_fwd/single_chan_pkt_fwd

Method 2: looking for a method to keep it running in the background…

I added below in # sudo crontab e (unsuccessful)

*/2 * * * * sudo /home/pi/lorawan_gateway/single_chan_pkt_fwd/single_chan_pkt_fwd

OR

*/2 * * * * /bin/sh -c sudo /home/pi/lorawan_gateway/single_chan_pkt_fwd/single_chan_pkt_fwdPreformatted text