Managing and Monitoring Devices Using RoboMQ Device Manager
See how RoboMQ's device manager can link your IoT devices for easy monitoring, updates, and security.
Join the DZone community and get the full member experience.Join For Free
RoboMQ Device Manager provides the features you need for monitoring, controlling, and managing your (IoT) devices. Because it is the Internet of Things, that includes all your things — devices, sensors, gateways, and even systems and applications.
The device manager allows you to manage the full lifecycle — including bootstrapping, registration, security, and Role Based Access Control (RBAC), health checks, scheduled and on-demand diagnostics, alerts and notifications, firmware upgrades, and even remote wipe off — all from a single control panel with a few clicks.
Once the device manager client is set up on the device, your work is done! It will monitor all the things you care about, and you will get notified if and when anythings goes wrong. Push the button, and the device manager will fire a command to the group and execute it on all its members.
Considering the following use case:
“You are running a retail store. Several motion sensors are installed covering the whole shop to collect information about the customer traffic flow. By analyzing the data collected by these sensors, you get a good idea about how many people are entering the store, which entrances they are using, and what items get the most attention. This information significantly helps to decide how to organize items and where to place the promotions.”
How can you make sure that all the sensors are working properly? What do you do when there’s a software update needed on the sensors? What if you want to change the settings on the sensors? How do you add new sensors to the existing infrastructure?
Having a maintenance team manually complete these tasks on each device is one painfully slow and costly option, even if you have a dozen devices. What if you have hundreds or thousands of devices? It's nearly impossible to manage them. What about security, registration, and device wipe off in case of a security compromise?
Now let’s see how these problems are solved by RoboMQ Device Manager.
Devices using RoboMQ are shipped pre-installed with the Device Manager clients. This means they are ready to work right out of the box. As soon as they are turned on for the first time, devices will register themselves and become part of your trusted device network after completing the Authentication, Authorization, and Auditing (AAA) process. Think of it like turning on your cell phone and how it registers with the carrier network. Once RoboMQ Device manager validates the identity and the ownership, the device will show up on Device Manager Dashboard. Optionally, a device registration email/SMS notification or a custom business process can be executed when the devices activate on your IoT device network for the first time.
Fig 1: Active devices on your IoT network
Only authorized users are allowed to access the dashboard and view status of devices. On the control panel, you can configure a set of pre-defined or custom health checks and monitors to run on your devices or a subset (or sub-network) of your IoT Devices. Scheduled checks and commands are automatically issued to a specific group of devices at a pre-defined interval to monitor devices’ health and operating state.
Fig 2: Heartbeat and memory check running on set of devices
Let’s say we want to keep the memory usage on device lower than 60% to ensure that the device always has enough resource to handle events of motion detection. A simple memory check command can be configured to check device every five seconds. If a device’s memory usage is higher than 60%, a ticket could be created and an alert email/SMS could be sent to the maintenance team. You can optionally define your own handlers to react to such events. Once the memory usage settles back to less than 60%, Device Manager will mark the ticket as “resolved” and send a confirmation email/SMS to the maintenance team.
Similarly, a heartbeat check makes sure that the IoT devices is up and running and can take action upon the device re-joining the network or exiting the network.
Fig 3: Detailed diagnostics information of memory check
You are not limited to running pre-defined checks. You can actually integrate the devices in your network. Let's assume one of the devices becomes faulty and you need to collect detailed information that you didn't think of earlier. You could simply ask the device to download a check from a trusted location, execute it, and the diagnostics will be available to you on the Device Manager console.
Special commands and actions can be issued with just a single click. For example, after business hours, staff can shut down devices by pressing a shutdown button and issuing a “power off” command.
RoboMQ Device Manager allows software upgrade of the firmware, device operating system, as well as the software code. When a software update is available, the maintenance team can issue an “update” command for the devices to update their software automatically.
In addition, the device manager has the capability to take corrective actions if the device goes rogue, gets compromised, or is in physical possession of some untrusted party. From the device manager console, you could remove the device from the trusted network. Upon taking this action, the device is reset back to factory mode and it has to go back through the initial registration process, which, in this case, will be denied. You may optionally execute a remote wipe-off on the device much like you could wipe an iPhone if it is lost or stolen.
Published at DZone with permission of Victoria Gosalvez, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.