Description

Configuration interfaces

Two interfaces are available to customize µWiotys.

  • FTP interface for:

    • Management of the device fleet

    • Configuration of outputs

    • Support

  • Web Interface for:

    • Network configuration

    • LoRa Downlink management

    • Support

Gateway

The Gateway needs a dedicated IP address on the same VLAN as the Modbus automate. It can be set up as DHCP or static IP.
The default configuration is static IP:

  • address: 192.168.1.100

  • netmask: 255.255.255.0

  • gateway: 192.168.1.1

The Gateway should be synchronized to a NTP server in order to have valid timestamps of the Lora payload.
The default NTP servers configured are 0.pool.ntp.org and 1.pool.ntp.org, however this won't be valid if the Gateway doesn't have internet access.

You can modify NTP configuration using Web interface Administration > Gateway

µWiotys will use the following port :

Fonction

Port

Fonction

Port

Modbus

502

Bacnet

47808

FTP configuration

2222

Web configuration

80

Application HTTP

Specific port to each application

Support Wi6labs

81

Support Wi6labs

22

Support ports are only used if you need a remote support session from Wi6labs support team

LoRaWAN devices

The device must be declared in µWiotys with following parameters:

  • Device EUI (DevEUI)

  • Application Type (OTAA/ABP)

  • Application EUI (AppEUI)

  • Application key (AppKey)

  • Manufacturer model reference (see list device)

  • Modbus Slave number [1 to 200]

Only class A and C devices are supported. OTAA configuration is the default configuration. All advanced LoRa parameters are managed by Wi6labs.

See FTP configuration for LoRaWAN device provisioning.

Once the configuration is loaded on the Gateway, all devices and corresponding Modbus tables will initialise after reboot.

Output Data

Modbus

The modbus starts on the VLAN IP address with the standard modbus port 502. Each device will be seen by the controller as an individual slave, available slave ID are 1 to 200.

µWiotys can be requested by several controllers, however keep in mind that it is useless to pull the registers too often. The LoRaWAN devices will update the registers approximately between 1 hour and 1 day depending on their configuration and type.

µWiotys supports read holding register (function code 3)

µWiotys supports write single register (function code 6) only for several registers (see Modbus table )

Writing register will trigger LoRaWAN downlink. Please kindly wait ~10s between each command in order to avoid radio collision.

Note that our µWiotys Modbus registers are formatted with Big-Endian Representation & Zero-based numbering

Type of value used

Data type

register size

description

range

Data type

register size

description

range

U16

1

unsigned integer

[ 0 : 65 535 ]

U32

2

unsigned integer word swapping

[ 0 : 4 294 967 295 ]

U64

4

unsigned integer word swapping

[ 0 : 18 446 744 073 709 551 615 ]

S16

1

signed integer

[ -32 768 : +32 767 ]

S32

2

signed integer word swapping

[ -2 147 483 648 : +2 147 483 647 ]

S64

4

signed integer word swapping

[ -9 223 372 036 854 775 808 : +9 223 372 036 854 775 807 ]

Float (F64/F32)

2

Floating point non-swap (abcd)

NA

To read float, see an exemple at FAQ.

Byte order representation

Swap Mode

Source 4-Byte

Target Bytes

 Modbus Register Order

N/A

[ a b c d ]

[ a b ][ c d ]

=> Wi6labs format

Swap Mode

Source 4-Byte

Target Bytes

 

N/A

[ a b c d ]

[ a b ][ c d ]

=> Wi6labs format

Swap Byte

[ a b c d ]

[ b a ][ d c ]

 

Swap Word

[ a b c d ]

[ c d ][ a b ]

 

Swap Byte and Word

[ a b c d ]

[ d c ][ b a ]

=> Representation of Float < v3.5.0


(MSB)

Big-Endian Modbus Representation

(LSB)

Byte

7

6

5

4

3

2

1

0

Modbus Register Order

a

b

c

d

Common table

All slaves share a common table with these informations:

  • DevEUI

  • Reference ID

  • Last timestamp

Measurement table

The Measurement table is specific to each device type (Temperature, Industrial,...) without any differences between manufacturer. The data specific to each device type (temperature, voltage,...) will only be available after the first Lora payload is received and will be updated with each new payload.

All the register information is defined in modbus dictionary.

BACnet

µWiotys supports BACnet protocol (from version 3.4.0).

There is no specific operation to do for adding a BACnet sensor once you have a valide licence with BACnet enabled.

The BACnet network can be seen using an external tool as the freeware YABE (Yet Another BACnet Explorer).
And of course, other tools exists and can be used as soon as they are compatible with the BACnet protocol. (Home - BACnet Committee)

 

image-20240416-083106.png
BACnet device virtualization principle

Adding a sensor in Bacnet

There are no specific operation to do to add a new sensor for BACnet. You can use the Online support interface (µWiotys config ) to create your infrastructure.

Only Analog input (AI) and Analog values (AV) are currently supported.

Analog inputs are used for data coming from the sensor.

Analog values are used to send information to the sensors. Only Classe C sensor are currently supported for this mode.

HTTP REST data server

µwiotys provide an http rest output. This output is configurable by FTP (see Output configuration). An HTTP request will be sent for each frame received in µWiotys, your server must respond with 200 OK.
The json sent will contain informations of the common table and the measured value.

{ "RSSI": -22, "SF": 12, "SNR": 9, "deveui": "0000000000000008", "device_battery_percent": 99, "error": "", "id_reference": 78, "payload": "048ea5942c000044444444", "temperature_0": 199, "temperature_1": 5119, "timestamp_uplink": 1709051995, "uplink_fcnt": 1, "version": 30300 }

If your server miss the request, all the data sent can be retrieve using the FTP in /uwiotys/log/uwiotys_functionnal.log or using the data logger CSV output.

Data logger

µWiotys provide a CSV output. This output is configurable by FTP (see output-configuration).

You can retrieve the CSV files in the FTP under /uwiotys/log/$END_DEVICE_ID/. Each sensor has its own folder with its own data.