Haxiot XON Cloud provides a feature called Stream to manage and forward device traffic to external applications in real-time. The stream is a cloud-to-cloud connector service that supports multiple protocol types (eg WebSocket, MQTT) and different cloud service providers (eg Microsoft Azure, Amazon AWS). Secondary Stream instances can be used to mirror messages without interrupting other Streams to/from external application servers. For example, an application and device stream that both contain the same device can operate at the same time.
The stream is hierarchical and can be implemented at the Gateway, Application, or Device level. The stream is dynamic, so will update in real-time with traffic as it is sent/received.
Figure 1: Stream Hierarchy
The example above shows two Applications that contain 5 devices in total. Application 1 shows two streams configured, an Application stream sending all messages for the application and a Device stream, which sends messages for a single Device.
Each Stream session is an encrypted TCP/TLS session from Haxiot Cloud to a customer application environment. The stream is a two-way protocol, so can be used for Uplink (device to cloud) or Downlink (cloud to device) messages. It is recommended that production cloud services use the Application level stream, as this uses the least server resources to create a single channel for all messages and devices within the application.
Gateway - Captures all LoRaWAN IoT traffic traversing a single Gateway
Application - Captures all LoRaWAN traffic for devices under that application
Device - Captures traffic for a single LoRaWAN device
Stream currently supports the following cloud-to-cloud transport protocols
- Secure WebSocket (WSS)
- MQTT over WebSocket
Stream provides various payload options for message data including JSON and XML, depending on your application. Haxiot provides the Transform feature to adapt payloads and message types.
Jul 02, 2021