TCP-to-serial DLMS modem simulator for GPRS polling validation
Bridge a physical DLMS meter to the platform's modem gateway service without real GPRS hardware, shortening test cycles and reducing field risk.
What it is
DLMS Modem Simulator (Single Port) is a standalone Java application that emulates a GPRS modem by accepting TCP connections from a DLMS GPRS client service and forwarding polling commands to an actual DLMS smart meter connected via serial port (COM port). The tool accepts multiple modem and polling client connections on a single TCP port (7777 by default), pairs them dynamically, manages per-meter serial communication, and simulates realistic modem behavior including connection cycles. It bridges development environments and physical meters, eliminating the need for real GPRS modems or cellular networks during testing and integration.
Key benefits
Test without carrier hardware
Validate meter polling logic against real DLMS devices using TCP sockets. No GPRS modem, carrier SIM, or active cellular connection required. Reduces test bottlenecks and accelerates integration cycles.
Realistic modem lifecycle
Simulator includes configurable connect/disconnect cycles (default: 15 min connected, 1 min disconnected) to exercise reconnection logic and edge-case handling in production code.
Single-port multi-meter bridging
Queries the platform database at startup for all active DLMS GPRS controllers and spawns per-meter bridges automatically. One simulator instance handles many meters on one TCP port.
Production-grade safety validation
Exercise the full polling stack against real device behavior—APDU framing, segmentation, authentication—before live deployment. Catches edge cases that simulated responses miss.
Capabilities
- Accept TCP modem connections with device identification handshake (0xFFFFFFFF prefix + serial number)
- Forward DLMS polling commands over serial link (jSerialComm) to physical smart meters at 9600 baud
- Dynamically pair incoming TCP modem and polling client connections via listener callbacks
- Simulate modem disconnect/reconnect cycles with configurable timings
- Query platform database for active DLMS GPRS controller configuration at startup
- Run on Windows and Java-compatible Unix systems with serial port drivers
- Log all activity (connection, commands, responses, errors) to platform logging system
