lanserver

command module
v0.0.0-...-71b0d36 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2020 License: GPL-3.0 Imports: 1 Imported by: 0

README

Lanserver

Drone (cloud)

Introduction

Implementation of Ad-hoc standard for managing Ethernet-based things similar to LoRa specification. It uses JWT Tokens for device authorization on the uplink. Devices send uplink and receive downlink via MQTT protocol. Lanserver provides two interfaces for application: HTTP for management and MQTT for data.

Lanserver implementation did not cover any IoT protocol specification. It assumes your device is connected directly into Ethernet without any gateway. If you want to have specific IoT protocol and control on each aspect of that protocol this project is not suitable for you, please search more. 🙈

Specification

First of all, you must register your device in Lanserver and after that Lanserver gives you the token. Use the provided token on your LAN device to transmit data into Lanserver.

Following MQTT topics are used in Lanserver for communicating via devices:

  • /log/{deveui}/send: this topic is used to transmit data into Lanserver with the following structure:

[models/messages.go/LogMessage]

{
    data: {base64 encoded data}
    token: {token}
}
  • /notification/{deveui}/request: this topic is used to recieve data from Lanserver with the following structure:

[models/messages.go/NotificationMessage]

{
    data: {base64 encoded data}
}

In the application layer following MQTT topics are used in Lanserver for communicating via applications:

  • /device/{deveui}/rx: this topic used to transmit data into application with the following structure:

[models/messages.go/RxMessage]

{
    data: {base64 encoded data}
    deveui: {device identification}
}
  • /device/{deveui}/tx: this topic used to transmit data from application to devices with the following structure:

[models/messages.go/TxMessage]

{
    data: {base64 encoded data}
    fport: {TBD}
    confirmed: {true = at least once, false = at most once}
}

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL