Loraserver.io & Pycom Source Code

  • Hi @jmarcelino

    You tweeted about a joint event with Loraserver.io

    Did you have to do anything fancy with the nanogateway code to make it compatible with Loraserver.io ?


  • @gnm Im glade to helping you

    BTW gotthard is a private server to... and Petr Gotthard , the guy that build this server , is a very nice man , all time happy to helping you when u need something ... same kind of person like @jmarcelino


  • Hi @chumelnicu

    Thank you for the information, I find it very usefull. I will keep trying a bit more in my free time to figure out the way to make a small private and local (not in the cloud) LoRaWAN network using nano-gateway. If I can't do it with loraserver.io I will make an attempt with https://github.com/gotthardp/lorawan-server

  • @ahaw021 Hi

    At this time the lora server have been radically rebuilt.... now additional network-server and channel manager have been introduced.

    Although previous releases go out of the bo,x at this point, it does not go even if u use a SX1301 based concentrator. I try personal that.

    This is because some automates flows were introduced through the network server and I think there is a module called channel-manager that needs to be installed on the concentrator and is for multichannel lora concentrators

    An idea would be to use a distribution older than October 2017 of the lora server and should go with the lorawan nanogateway ... but you have to consider that it is still a single-channel concentrator ...

    Or if you want to use a private lora server, that works with nanogateway try :


    Beware .... the UDP port for up and downs , is 1680 on this server

    Good luck!

  • Hi,

    I have tryed a lot of combinations (but not all) of users (loraroot, loragw, loraserver, loraappserver) in backend.mqtt, network_server.gateway.backend.mqtt and application_server.integration.mqtt , obtaining exactly the same result every time:

    • list itemThe log when running the "journalctl -u loraserver" command contains the following error message (logs without error are not shown for clarity):

    raspberry loraserver[4700]: time="2018-02-17T13:57:01-03:00" level=info msg="finished unary call with code NotFound" error="rpc error: code = NotFound desc = object does not exist" grpc.code=NotFound grpc.method=DeactivateDevice grpc.service=ns.NetworkServer grpc.start_time="2018-02-17T13:57:01-03:00" grpc.time_ms=3.212 peer.address="[::1]:42268" span.kind=server system=grpc

    • list itemThe log when running the "journalctl -u lora-app-server" command througs the following error messages (only error messages are shown for clarity):

    raspberry lora-app-server[11045]: 2018/02/17 11:45:12 http2: server: error reading preface from client read tcp> read: connection reset by peer
    raspberry lora-app-server[11045]: time="2018-02-17T11:45:46-03:00" level=info msg="finished unary call with code Unauthenticated" error="rpc error: code = Unauthenticated desc = authentication failed: jwt parse error: token contains an invalid number of segments" grpc.code=Unauthenticated grpc.method=Profile grpc.service=api.Internal grpc.start_time="2018-02-17T11:45:46-03:00" grpc.time_ms=0.227 peer.address="[::1]:41694" span.kind=server system=grpc
    raspberry lora-app-server[11045]: time="2018-02-17T11:45:46-03:00" level=info msg="finished unary call with code Unauthenticated" error="rpc error: code = Unauthenticated desc = authentication failed: jwt parse error: token contains an invalid number of segments" grpc.code=Unauthenticated grpc.method=List grpc.service=api.Organization grpc.start_time="2018-02-17T11:45:46-03:00" grpc.time_ms=0.483 peer.address="[::1]:41680" span.kind=server system=grpc
    raspberry lora-app-server[11045]: 2018/02/17 11:45:56 http2: server: error reading preface from client timeout waiting for client preface
    raspberry lora-app-server[11045]: time="2018-02-17T11:47:37-03:00" level=info msg="finished unary call with code InvalidArgument" error="rpc error: code = InvalidArgument desc = passwords must be at least 6 characters long" grpc.code=InvalidArgument grpc.method=UpdatePassword grpc.service=api.User grpc.start_time="2018-02-17T11:47:36-03:00" grpc.time_ms=13.703 peer.address="[::1]:41692" span.kind=server system=grpc

    The problem/s seem to be releated with some wrong password, but I can't figureout wich of them.
    Maybe the problem is releated with the application creation/configuration...but the only password y changed was the login password.

    I don't think it matters but maybe it worths mentioning that the raspberry is cabled to my router (wifi disabled)...however, I think it doesn't matter.

    Thanks in advance guys

  • Thanks @Xykon for your advice!!
    I introduced the raspberry's IP in SERVER in config.py buy it still doesn't work.
    I will try to change the users in packet_forwarder.username, network_server.gateway.backend.mqtt.username and application_server.integration.mqtt.username (the last one seems to be ok...) and I will let you know.
    Tks again!!

  • administrators

    @gnm said in Loraserver.io & Pycom Source Code:


    I don't know much on the subject but SERVER='' will not work.

    You need to set the IP address for the Raspberry Pi instead.

    packet_forwarder.udp_bind='' means list on all IP interfaces on this host (on udp port 1700).

    Still the nano gateway needs to send the data to a specific host.

  • Hi @ahaw021 @jmarcelino @gas

    I have the nanogateway running with TTN, but now I am trying to use loraserver.io running in my raspberry. I have followed (almost) all the steps in https://docs.loraserver.io/install/quick-install/ (the default option, with the bridge running in my py, not in the nanogateway), except for the SST/TLS certificates since I don't understand much the subject and I understand it is optional. But when I try to join (ABP) and send messages from the node I don't see anything in the raspberry (I am executing the command 'mosquitto_sub -v -t "#" -u loraroot -P {password} -h localhost -p 1883' as suggested in the quick-install, with the password I created for loraroot during the installation).

    As I'm new and I don't know about internet protocols, I am not sure about some steps:

    1. in config.py I setted SERVER='' and PORT=1700 because in /etc/lora-gateway-bridge/lora-gateway-bridge.toml I have configured packet_forwarder.udp_bind=''
    2. in /etc/lora-gateway-bridge/lora-gateway-bridge.toml I configured packet_forwarder.username = "loraserver" (and its password), but I am not sure if it should be someother password created during the "Mosquitto authentication" step (i.e., "lorawg" or "loraappserver")
    3. in /etc/loraserver/loraserver.toml I configured network_server.gateway.backend.mqtt.username="loragw" (and its password), but again I am not sure of what of those created during the "Mosquitto authentication" step should be.
    4. at /etc/lora-app-server/lora-app-server.toml I configured application_server.integration.mqtt.username="loraappserver" (and its password), but I am not sure about it
    5. at /etc/lora-app-server/lora-app-server.toml I didn't configure application_server.api.bind = "localhost:8001" and I left it with ""
    6. at /etc/lora-app-server/lora-app-server.toml I didn't configure application_server.external_api.bind = "" and I left it with the default data

    Those are some of the steps I have doubts with, but maybe the problem is somwhere else. I would really apreciate any help, and I think that if you could share your .toml files and config.py whold be very helpfull.

    Thanks in advance.

  • Hi @ahaw021

    I have this server running since few month with nanoGateway and pi
    I also used the lopy as sensor node and as 1 channel nanogateway (i have also 2 other gateways running on the same server at the same time )
    let me know if you need anything I'll try to find some time to write up a tutorial

  • Hi @ahaw021 ,

    I haven't done it recently - do plan on trying it again soon, would love to make nice guide on it - but last time I tried everything connected smoothly.

    You just need to run the LoRa Gateway Bridge component on your server and the LoPy Nanogateway only "speaks" the packet-forwarder UDP protocol.

    Then you point the nanogateway to that.


Pycom on Twitter