Demo Purpose
🔤 Acronyms? See the Glossary
DLMS to HES Communication​
This third use case illustrates an end-to-end communication from a DLMS metering device to a DLMS Head-End System (HES).
At both ends of the communication, an IP tunnel (IP/tun controller) is required to establish a network communication channel between IP and the other protocols and create a Linux interface on the computer.
Acklio FullSDK is embedded into the AT Modem application.
In this Demo example, in order to avoid routing issues, the combination "DLMS server and tun controller" must be running on a different machine than the combination "VPN agent and HES".
Recommendations​
- Python 3
- DLMS library by Gurux with Java support and Maven
- Tun controller
- AT Modem by NET with serial port terminal (such as minicom)
- Board – Use either:
- Shield Semtech LR1110DVK1TBKS with development kit or sx1261
- A LoRa Network Server and a LoRa gateway
- Ubuntu 20.04 LTS to run Acklio Software
- Acklio IPCore and Acklio VPN Agent
Demo Functioning​
The Gurux DLMS example demonstrates how a DLMS Head-End System can request values to a DLMS server and get responses.
This Demo repository provides a device application (the DLMS server) simulating the DLMS meter and a DLMS client simulating the Head-End System.
The DLMS Client periodically starts sending a series of DLMS requests in order to get information from the device application. The example demonstrates how Acklio FullSDK allows the device application to exchange IPv6/UDP/DLMS frames with the Head-End System through the use of AT commands.
In this example the IPv6, UDP, and DLMS wrapper headers are compressed, limiting over-the-air transmission to the DLMS payload. This represents 56 bytes (40 + 8 + 8) less for each message.
In the case when fragmentation is also necessary, Acklio FullSDK uses the Ack-On-Error mode, as described in the SCHC template configured in Acklio IPCore.