SimpleIoTSimulator supports many of the common IoT protocols. They include:
-
MQTT is a publish/subscribe based protocol. Both MQTT ver 3.1 and ver 3.1.1 clients are supported and simulated sensors can be setup to periodically publish messages to a specified broker. A built-in learner utility is also included that subscribes to a broker and learns messages for subseqent replay.
-
MQTT-SN is a variation of MQTT for Sensor Networks that has a more compact packet encoding. Like MQTT, simulated sensors can be setup to periodically publish MQTT-SN client messages to a specified broker and a built-in learner utility is included to learn messages for subsequent replay.
-
MQTT-Broker receives MQTT subscribe requests from applications within the cloud/platform and sends publish messages to them. The simulator supports this functionality to simulate thousands of gateways. Optional bridging to another MQTT-broker in the cloud is also available.
-
CoAP is an IETF proposed standard for retrieving and managing information for sensors and devices in a constrained environment. Using patented technology, the simulator can "learn" from existing CoAP sensors/devices to duplicate customer environments, or use the learnt data as a template to create thousands of sensors and gateways.
-
HTTP/s client sends periodic XML/REST requests to cloud/platform servers. The simulator includes learner applications to learn http requests and periodically send them to specified servers for simulating thousands of gateways.
-
HTTP/s server responds to incoming HTTP requests with responses. The simulator can be setup using learnt data for simulating gateways that support this functionality.
-
Modbus over TCP encapsulates Modbus, the industry's serial de facto standard since 1979, within TCP packets to enable communcation with automation devices. The simulator can "learn" from existing Modbus over TCP servers to duplicate customer environments, or use the learnt data as a template to create thousands of Modbus managed devices.
-
BACnet/IP server responds to incoming BACnet unicast and broadcast requests with responses. The simulator can be setup using learnt data for supported objects and their properties. A few services (Who-is, I-am, ReadProperties, ReadPropertiesMultiple) are currently supported. A learner utility is also included.
-
LoRa Gateway receives LoRa frames (PHYPayload) from LoRa devices over UDP and encapsulates them into Semtech UDP Packet forwarder (Gateway Message Protcol-GWMP) packets or Semtech Basic Station (WebSockets) packets and sends them to a designated LoRa Network Server. Upon receiving downstream messages from Network Server, it extracts the frame payload and forwards it to the appropriate device over UDP.(application notes)
-
LoRa Device currently supports both LoRaWAN 1.0.3 and 1.1 specification for Class A and C devices and transmits created LoRa frame (PHY Payload) to one or more associated LoRa Gateways over UDP. It supports activation by both Over-the-air-activation(OTAA) and Activation-by-personalization(ABP) methods for setting up security keys. The signal strength, signal-to-noise and channels can be specified when talking with specific gateways. The data payload can be modified by scripts to exhibit different sensor behavior.(application notes)
SimpleIoTSimulator enables IoT platform and gateway vendors to improve product quality and significantly shorten their time-to-market without incurring large capital expense for creating test infrastructure. Both IPv4 and IPv6 sensors are supported and the simulator includes built-in support for lossy behavior in constrained environments. It can also create scripted error scenarios on demand. Example scripts to work with popular platforms like Azure IoT, Amazon AWS, IBM Bluemix and others are available to facilitate quick setup.
|