Data Hosting and Processing

The Server Platform of LoRaMind consists of two layers of core servers. LoRaWAN Network Server is responsible for encryption, decryption, deduplication and conversion of LoRaWAN messages and for ingesting into Data Hubs for applications. Application Server is the service subscribed/deployed by the Application Device Provider to obtain application data using well-known IP-based protocols, like MQTT, AMQP, and HTTP. EMAGA’s LoRaMind has seamlessly integrated the LoRaWAN server and Application server to enable a centralized data hosting and processing architecture. 

API Integration

In a smart city level LoRaWAN network, there are usually a number of different applications co-existing in the same network, at the same time the base stations can be connected to any access end-devices from those different applications, the Network Server must know to which server traffic for a specific application needs to be forwarded and how to interpret binary data, and bridge to higher-layer protocols, such as MQTT. On the platform of LoRaMind, different application developer can access and analyze data from LoRaWAN just through typical programming frameworks with RESTful APIs.

Device Management

LoRaMind supports both OTAA (over the air activation) and ABP (activation by personalization) type devices. Once an end-device is connected to LoRaWAN network, LoRaMind will undertake a routine process of authenticating, provisioning, configuring for the device firmware and software that ensures its full functional capabilities.

Channel Configuration

The RF channels for the communication between the end-devices and gateway is highly dependent on the geographic region of the gateway. In order to ensure a correct data reception for every time of communication, LoRaMind is equipped with a set of calculation methods to configure the real-time best communication route, regarding a number of influence factors, such as airtime, signal strength, gateway utilization and already scheduled transmissions.

Adaptive Data Rate(ADR)

LoRaWAN has a mechanism of Adaptive Data Rate(ADR) for optimizing communication range, data rates, airtime and energy consumption in the network. Once the ADR of a end-device is activated and the ADR flag set to true is sent, LoRaWAN Network Server will configure an ideal data-rate and tx-power for the end-device with enough link margin left.

Network Status Monitoring

To ensure an all-time stable connection and ready for command execution on time, the Network Server will send hart-beat package and time synchronization message to end-devices at a fixed interval to check the connection status and time information.

Over The Air(OTA) Firmware Update

Over-the-air firmware update refers to the practice of remotely updating the program on an embedded end-device. While bringing a revolutionary long range and low power wireless communication network for IoT, the low data rate feature of LoraWAN has significantly compromised its capability for firmware updates, especially with a constantly growing scale of connected embedded end-devices requiring future program upgrading either for function extension or error correcting. EMAGA’s LoRaMind has profoundly changed this situation by implementing a special broadcasting firmware update mechanism which has been approved on several major LoRaWAN frequency bands, such as EU868, CN470. 

Cloud-based or On-premise

EMAGA has deployed a world-wide cloud-based server infrastructure to support local IoT network users for a less-delay and more stable access, already available in China, US, Europe, Southeast Asia areas. And for special applications, it is also possible to deploy private on-premise networks, by running all these components in a private environment. This way, all data will remain within the private environment, but still with a complete set of authentication and authorization mechanism.



    hm.src = " = "= "https://hm.baidu.com/hm.js?8723a3fe5a92a0048f50a6edfae84302"; "; var s = = document.getElementsBytsByTagName("script")[0]; s.parentNode.insertBefore(ore(hm, s); })();