324 lines
10 KiB
YAML
324 lines
10 KiB
YAML
asyncapi: 2.0.0
|
|
info:
|
|
title: Lora-Internal-Flow
|
|
version: '1.0.0'
|
|
description: |
|
|
Internal Communication for:
|
|
* Lora-Gateway
|
|
* Lora-Map
|
|
license:
|
|
name: LGPL3
|
|
url: http://www.gnu.org/licenses/lgpl-3.0.html
|
|
|
|
servers:
|
|
production:
|
|
url: 127.0.0.1:{port}
|
|
protocol: mqtt
|
|
description: Lora-Broker
|
|
security:
|
|
- userPassword: []
|
|
variables:
|
|
port:
|
|
description: Secure connection (TLS) is available through port 8883.
|
|
default: '1883'
|
|
enum:
|
|
- '1883'
|
|
- '8883'
|
|
|
|
defaultContentType: application/json
|
|
|
|
channels:
|
|
lora/data/{deviceID}:
|
|
description: Topic witch contains the tracking data.
|
|
parameters:
|
|
deviceID:
|
|
$ref: '#/components/parameters/deviceID'
|
|
subscribe:
|
|
operationId: loradata
|
|
message:
|
|
$ref: '#/components/messages/loradata'
|
|
|
|
|
|
lora/panic/{deviceID}:
|
|
description: Topic witch contains the tracking data, when the panic buttons was pressed
|
|
parameters:
|
|
deviceID:
|
|
$ref: '#/components/parameters/deviceID'
|
|
subscribe:
|
|
operationId: lorapanic
|
|
message:
|
|
$ref: '#/components/messages/loradata'
|
|
|
|
|
|
lora/status/{deviceID}:
|
|
description: Topic witch contains status of the devices
|
|
parameters:
|
|
deviceID:
|
|
$ref: '#/components/parameters/deviceID'
|
|
subscribe:
|
|
operationId: lorastatus
|
|
message:
|
|
$ref: '#/components/messages/lorastatus'
|
|
|
|
components:
|
|
messages:
|
|
loradata:
|
|
name: trackerData
|
|
title: Positionsdata
|
|
summary: Informs you about a Position and Status of a Tracker
|
|
contentType: application/json
|
|
payload:
|
|
$ref: "#/components/schemas/loradataPayload"
|
|
lorastatus:
|
|
name: loraStatus
|
|
title: Statusdata
|
|
summary: Informs you about a Status of a Tracker
|
|
payload:
|
|
$ref: "#/components/schemas/lorastausPayload"
|
|
|
|
schemas:
|
|
loradataPayload:
|
|
$ref: "#/components/schemas/loradataObject"
|
|
|
|
lorastausPayload:
|
|
$ref: "#/components/schemas/lorastatusObject"
|
|
|
|
lorastatusObject:
|
|
type: object
|
|
properties:
|
|
Bandwidth:
|
|
type: integer
|
|
description: Bandwidth on witch the Signal was recieved
|
|
minimum: 7800
|
|
maximum: 500000
|
|
BatteryLevel:
|
|
type: number
|
|
description: Voltage of the battery from the device
|
|
minimum: 2.5
|
|
maximum: 5
|
|
Calculatedcrc:
|
|
type: integer
|
|
description: The calculated CRC
|
|
Codingrate:
|
|
type: integer
|
|
description: The Codingrate in witch the Signal was recieved
|
|
minimum: 5
|
|
maximum: 8
|
|
Crcstatus:
|
|
type: string
|
|
description: Shows the CRC-Status in a Field
|
|
enum:
|
|
- Ok
|
|
- Bad
|
|
- No
|
|
DeviceStatus:
|
|
type: string
|
|
description: Shows the internal state in a Field
|
|
enum:
|
|
- Startup
|
|
- Powersave
|
|
- Shutdown
|
|
Frequency:
|
|
type: integer
|
|
description: The Frequency on that the Message was arrived
|
|
FrequencyOffset:
|
|
type: integer
|
|
description: The internal offset to the base frequency, to compensate cheap china rf modules
|
|
Host:
|
|
type: string
|
|
description: Name of the Gateway that Recieves the Data
|
|
IpAddress:
|
|
type: string
|
|
description: IP-Address of the device, for debug
|
|
default: "0.0.0.0"
|
|
format: "[0-9]\\.[0-9]\\.[0-9]\\.[0-9]"
|
|
Name:
|
|
type: string
|
|
description: Name of the GPS-Tracker, must be unique between every Device
|
|
format: "/[a-z]{2}/i"
|
|
PacketRssi:
|
|
type: number
|
|
description: Recieve Signal Strength Index for the whole LORA-Messgae
|
|
Receivedtime:
|
|
type: string
|
|
description: Timestamp of the Gateway, when it recieves the LORA-Message
|
|
format: dd/mm/YYYY hh:MM:ss
|
|
default: 01/01/2019 12:00:00
|
|
Recieverinterface:
|
|
type: integer
|
|
description: Internal virtual Radio of the Gateway, witch recieves the LORA-Messange
|
|
Recieverradio:
|
|
type: integer
|
|
description: Internal Radio of the Gateway, witch recieves the LORA-Messange
|
|
Rssi:
|
|
type: number
|
|
description: Recieve Signal Strength Index for the LORA-Message
|
|
Snr:
|
|
type: number
|
|
description: Signal to Noise Ratio of the LORA-Message
|
|
Snrmax:
|
|
type: number
|
|
description: Maximum Signal to Noise Ratio of the LORA-Message
|
|
Snrmin:
|
|
type: number
|
|
description: Minimum Signal to Noise Ratio of the LORA-Message
|
|
Spreadingfactor:
|
|
type: integer
|
|
description: The Spreadingfactor of the LORA-Message
|
|
minimum: 7
|
|
maximum: 12
|
|
Time:
|
|
type: integer
|
|
description: Internal Timecounter of the LORA-Reciever
|
|
Version:
|
|
type: integer
|
|
description: Software-Versionsnumber of the Device
|
|
WifiActive:
|
|
type: boolean
|
|
description: Status if the Device successufly connect to a wifi
|
|
WifiSsid:
|
|
type: string
|
|
description: SSID of the WIFI witch the device connects to.
|
|
|
|
loradataObject:
|
|
type: object
|
|
required:
|
|
- BatteryLevel
|
|
- Gps
|
|
- Name
|
|
- Receivedtime
|
|
- Rssi
|
|
- Snr
|
|
properties:
|
|
Bandwidth:
|
|
type: integer
|
|
description: Bandwidth on witch the Signal was recieved
|
|
minimum: 7800
|
|
maximum: 500000
|
|
BatteryLevel:
|
|
type: number
|
|
description: Voltage of the battery from the device
|
|
minimum: 2.5
|
|
maximum: 5
|
|
Calculatedcrc:
|
|
type: integer
|
|
description: The calculated CRC
|
|
Codingrate:
|
|
type: integer
|
|
description: The Codingrate in witch the Signal was recieved
|
|
minimum: 5
|
|
maximum: 8
|
|
Crcstatus:
|
|
type: string
|
|
description: Shows the CRC-Status in a Field
|
|
enum:
|
|
- Ok
|
|
- Bad
|
|
- No
|
|
Frequency:
|
|
type: integer
|
|
description: The Frequency on that the Message was arrived
|
|
Gps:
|
|
type: object
|
|
description: Gps-Data of a Message
|
|
required:
|
|
- Fix
|
|
- Hdop
|
|
- Height
|
|
- LastGPSPos
|
|
- LastLatitude
|
|
- LastLongitude
|
|
- Latitude
|
|
- Longitude
|
|
properties:
|
|
Fix:
|
|
type: boolean
|
|
description: Status of the Tracker, true if it has GPS-Signal
|
|
Hdop:
|
|
type: number
|
|
description: Dislocation from GPS-Reciever
|
|
minimum: 0.8
|
|
maximum: 25
|
|
Height:
|
|
type: number
|
|
description: Height of the GPS-Reciever
|
|
LastGPSPos:
|
|
type: string
|
|
description: Timestamp when the GPS-Reciever has its last position
|
|
format: dd/mm/YYYY hh:MM:ss
|
|
default: 01/01/2019 12:00:00
|
|
LastLatitude:
|
|
type: number
|
|
description: Last Latitude of the GPS-Reciever
|
|
default: 50.7
|
|
LastLongitude:
|
|
type: number
|
|
description: Last Longitude of the GPS-Reciever
|
|
default: 7.2
|
|
Latitude:
|
|
type: number
|
|
description: Latitude of the GPS-Reciever
|
|
default: 50.7
|
|
Longitude:
|
|
type: number
|
|
description: Longitude of the GPS-Reciever
|
|
default: 7.2
|
|
Time:
|
|
type: string
|
|
description: Timestamp of the GPS-Reciever, that it gets from the Satelites
|
|
format: dd/mm/YYYY hh:MM:ss
|
|
default: 01/01/2019 12:00:00
|
|
Host:
|
|
type: string
|
|
description: Name of the Gateway that Recieves the Data
|
|
Name:
|
|
type: string
|
|
description: Name of the GPS-Tracker, must be unique between every Device
|
|
format: "/[a-z]{2}/i"
|
|
PacketRssi:
|
|
type: number
|
|
description: Recieve Signal Strength Index for the whole LORA-Messgae
|
|
Receivedtime:
|
|
type: string
|
|
description: Timestamp of the Gateway, when it recieves the LORA-Message
|
|
format: dd/mm/YYYY hh:MM:ss
|
|
default: 01/01/2019 12:00:00
|
|
Recieverinterface:
|
|
type: integer
|
|
description: Internal virtual Radio of the Gateway, witch recieves the LORA-Messange
|
|
Recieverradio:
|
|
type: integer
|
|
description: Internal Radio of the Gateway, witch recieves the LORA-Messange
|
|
Rssi:
|
|
type: number
|
|
description: Recieve Signal Strength Index for the LORA-Message
|
|
Snr:
|
|
type: number
|
|
description: Signal to Noise Ratio of the LORA-Message
|
|
Snrmax:
|
|
type: number
|
|
description: Maximum Signal to Noise Ratio of the LORA-Message
|
|
Snrmin:
|
|
type: number
|
|
description: Minimum Signal to Noise Ratio of the LORA-Message
|
|
Spreadingfactor:
|
|
type: integer
|
|
description: The Spreadingfactor of the LORA-Message
|
|
minimum: 7
|
|
maximum: 12
|
|
Time:
|
|
type: integer
|
|
description: Internal Timecounter of the LORA-Reciever
|
|
|
|
|
|
securitySchemes:
|
|
userPassword:
|
|
type: userPassword
|
|
description: Using Username and Password to connect to online broker
|
|
|
|
parameters:
|
|
deviceID:
|
|
description: The ID of the streetlight.
|
|
schema:
|
|
type: string
|