Suggestion on references for working on Seeeduino board with gps with loriot server(raspberry pi3 as gateway)

Hi, I’m currently working on a similar project (I have Lora/LoRaWAN Gateway Kit + Raspberry Pi 3 + Seeeduino LoRaWAN W/GPS). I need to be able to get my GPS coordinate and other sensor data from the end node to the loriot server side and receives the data from the loriot server side to my simple mobile apps. Currently, I managed to follow the tutorial on configuring the gateway, register the gateway in loriot server and add the end node to the loriot server. (I followed this tutorial: http://wiki.seeedstudio.com/LoRa_LoRaWan_Gateway_Kit/ and http://wiki.seeedstudio.com/Seeeduino_LoRAWAN/). But the testing on sending data from the end node to loriot server through the serial monitor in Arduino, I managed to get it to work the first time only after that rerun the procedures it didn’t work. For example, after I shut down the gateway for today and open again next time and rerun the procedures in those tutorials I mentioned before, it didn’t work anymore. Later, I found out that the serial monitor for seeeduino board is not stable. The board driver will disappear by itself after some time.

Thus, I would like to ask what is the right approaches to target my problem and where can I learn and get the reference for the part on the data communication between end node to loriot server and gateway wirelessly?

Hope can get some insight while I looking for solution.

Thank you so much.

For your first question, when rerun the procedures, your board didn’t work. That is because your board would not connect the server automatically unless your write setup code for it. You can refer to the following code.

[code]void setup(void)
{
dht.begin();

SerialUSB.begin(115200);
//while(!SerialUSB);

lora.init();

memset(buffer, 0, 256);
lora.getVersion(buffer, 256, 1);
SerialUSB.print(buffer); 

memset(buffer, 0, 256);
lora.getId(buffer, 256, 1);
SerialUSB.print(buffer);

lora.setKey("2B7E151628AED2A6ABF7158809CF4F3C", "2B7E151628AED2A6ABF7158809CF4F3C", "2B7E151628AED2A6ABF7158809CF4F3C");

lora.setDeciveMode(LWABP);
lora.setDataRate(DR0, EU868);

lora.setChannel(0, 867.7);
lora.setChannel(1, 867.9);
lora.setChannel(2, 868.8);

lora.setReceiceWindowFirst(0, 867.7);
lora.setReceiceWindowSecond(869.5, DR3);

lora.setDutyCycle(false);
lora.setJoinDutyCycle(false);

lora.setPower(14);

}
[/code]

For your next question, instability of Monitor is not a problem with your board. All the arduino board sometimes would reset because of reasons like mistakenly touching the pad of reset, low quality of wire, unstable power supply, and things like that.

And when it happens, your Seeeduino board would miss the connection with your computer for a second or more. But the serial of Arduino only works after detecting that the computer had opened the serial port. The serial monitor of Arduino IDE does not reopen the serial port when missing the connection with the board, and the connection

Therefore, you just need to close the serial monitor and reopen it, the serial connection will work again. If such things happen too often, change a data line, and check if there is anything has a short circuit on your board, especially the pad of reset.

And for your third question, I do not suggest you spend too much time on studying theoretical knowledge of Loriot server or gateway for no certain target, the example code given by Seeed’s official website is enough to implement things like widgets. When you need to implement a special function, just search for the related tutorial on google.