LoPy-nano-gateway-wan-private: Difference between revisions

From UNamur InfoSec
Jump to navigation Jump to search
Line 73: Line 73:
[https://github.com/brocaar/loraserver-setup LoRa Server Setup Guide]
[https://github.com/brocaar/loraserver-setup LoRa Server Setup Guide]
[https://forum.pycom.io/topic/810/new-firmware-release-1-6-7-b1-lorawan-nano-gateway-with-ttn-example LoPy as Nano Gateway]
[https://forum.pycom.io/topic/810/new-firmware-release-1-6-7-b1-lorawan-nano-gateway-with-ttn-example LoPy as Nano Gateway]
*Note:
1. We modify the code from [https://forum.pycom.io/topic/810/new-firmware-release-1-6-7-b1-lorawan-nano-gateway-with-ttn-example LoPy as Nano Gateway] to use 250khz bandwidth as we fail when testing 125khz bandwidth
2. After setup [https://docs.loraserver.io/loraserver/ LoRa Server] with [https://github.com/brocaar/loraserver-setup LoRa Server Setup Guide] we fail to find application ID to subscript to it MQTT topic to get data from node. And later find out that the application id is an auto increment number (Reference [https://docs.loraserver.io/lora-app-server/mqtt-topics/ LoRa App Server MQTT].
  mosquitto_sub -t "application/1/#" -v


== LoPy Nano-gateway and private Lora-server experiments ==
== LoPy Nano-gateway and private Lora-server experiments ==

Revision as of 12:23, 10 March 2017


Link title

LoPy Nano-gateway and private lora-server installation

In this page we are going to:

1.Install open source private LoRa server (by Orne Brocaar)

2.Setup LoPy as single channel nano gateway

3.Send data from LoPy node


1.Install private LoRa server:

We use LoRa Server Setup Ansible playbook to install all the LoRa server component:

For testing use vagrant to install the server to virtual machine in our local pc (We will update the guide to deploy later):

 git clone https://github.com/brocaar/loraserver-setup.git
  • Go to loraserver-setup folder (In terminal or CMD)
 cd loraserver-setup
  • Run vagrant up
 vagrant up
  • The virtual machine will boot and install all the component (This can take a while)
  • Note: we can access the server web interface at https://localhost:8080/ (As a self-signed certificate is used, your browser will prompt that the certificate can't be trusted. This is ok for testing)
  • We can use our machine IP address and port 1700 for our gateway to forward the package (We do this later in setup LoPy as Nano Gateway below)

2.Setup LoPy as a Single channel nano gateway: (Reference Pycom Forum Github Code

  • Update LoPy firmware to 1.6.7.b1
  • Download the code
  • Edit the config.py file to setup: Gateway ID, Server IP, Server Port, Wifi Access Point for LoPy to connect to the network.
 GATEWAY_ID = '11aa334455bb7788'
 SERVER = 'ip.address.here'
 PORT = 1700
 WIFI_SSID = 'my-wifi'
 WIFI_PASS = 'my-wifi-password'
    • Note: We can get gateway id by execute these code in LoPy (Referenece TTN):
 from network import LoRa
 import binascii
 lora = LoRa(mode=LoRa.LORAWAN)
 print(binascii.hexlify(lora.mac()).upper().decode('utf-8'))
  • Copy the code to the 'flash' folder of LoPy:
 Via FTP:
 Follow this reference to connect to LoPy via FTP pycom
  • Reset LoPy

We should be able to see the message from gateway from MQTT server with this topic (Reference loraserver):

mosquitto_sub -t "gateway/#" -v

3.Send data from LoPy node:

  • Register node in server
  • Send data from node (LoPy)
  • Subscribe to node data from server:


References

The above guide follow these two main tutorial

LoRa Server Setup Guide LoPy as Nano Gateway

  • Note:
1. We modify the code from LoPy as Nano Gateway to use 250khz bandwidth as we fail when testing 125khz bandwidth
2. After setup LoRa Server with LoRa Server Setup Guide we fail to find application ID to subscript to it MQTT topic to get data from node. And later find out that the application id is an auto increment number (Reference LoRa App Server MQTT.
 mosquitto_sub -t "application/1/#" -v

LoPy Nano-gateway and private Lora-server experiments