Platform behaviour at scale cannot be inferred from a bench with three devices on it. Ingest saturation, alerting storms, database growth, dashboard performance under load and the behaviour of retry logic when a thousand devices reconnect simultaneously are all emergent, and all expensive to discover in production.
The simulator generates the population instead. Multiple simulated sensors and gateways on one computer, publishing at configurable rates with scripted payload behaviour, so a device fleet exists in test long before it exists in the field.
On the LoRa side, simulated devices generate frames that a gateway encapsulates and forwards to a network server, with downstream payloads extracted and returned over UDP. Signal strength, signal-to-noise ratio and channel can be specified per gateway, so degraded conditions can be reproduced deliberately rather than waited for.