INTERNET OF THINGS (IoT)
How we built a custom dashboard to enable admins to quickly configure various Bluetooth and wifi devices and integrate them with a cloud-based iOT system.
BLEacon hired AccelOne for the development of an Internet of Things (IoT) dashboard and administration panel. BLEacon was creating this platform, marketed towards individuals and businesses, to enable movement and activity tracking of things such as shopping carts, shoppers, employees or products within digitally fenced environments like buildings, shopping malls, concert halls or retail stores.
An organization using this platform could place small, battery operated Bluetooth Smart embedded modules, called Locators, in a physical (or fenced) area to monitor variables, such as movement, temperature activity types and behavior, emitted by assigned Bluetooth Low Energy embedded devices. These devices may include digital bracelets, collars or tags worn by humans, or other labels or tags placed on moving objects within that area. Through wireless signals, real-time data on the movement, activity, and behavior of things acting within the fenced environment is emitted to base station computers.
The purpose of the dashboard and administration panel that BLEacon hired AccelOne to create was two-fold. The administration panel would allow the initial configuration and set-up of the IoT environment while the dashboard would allow the data to be rendered in a single control panel. This panel would allow administrators to configure the devices remotely as well as monitor and visualize the data on either a macro or micro scale.
A variety of users and departments could access and interpret the data for application in many business operations including security, marketing, VIP customer services, systems automation and more.
There were 3 key goals of the project:
Feature a clean, simple, UX/UI dashboard for micro and macro visualization of each of the devices’ status and the IoT system as a whole.
Allow access by various users with different permission levels.
Enable the administration of the IoT devices themselves, which would allow a user to configure and deploy the devices.
We based the entire solution concept on flexible, movable widgets displayed within a dashboard. Each device had its own widget, which would display the device status and alerts. Each widget could be minimized to show only the device name and status or maximized to show greater detail. Each widget was clickable to gain further visualization into all device parameters.
We also proposed the enabling of different user levels and permissions and enabling each user to customize the interface of their own dashboard by simply dragging the widgets around the screen and minimizing and maximizing the widgets which were most valuable to them. Each user’s dashboard layout would be automatically saved so that each time they logged into the system they would see their own custom dashboard view.
We also created an innovative solution to allow each of the widgets to function in two separate modes. A user could work either in “Dashboard” mode for monitoring and visualization or “Configuration” mode - all without leaving their current view.
Python and AngularJS were chosen for development, and we hosted the entire product within the Amazon Web Services (AWS) cloud. Amazon SQS was chosen to integrate and synchronize the front and back ends.
Finally, working with the guidance of our UX/UI design expert, we based our solution in a responsive, UX/UI friendly design, which could be easily accessed from a tablet for users working in the field or on desktop for office for central monitoring. Close attention to a customer-centric and user-friendly design would be paramount to the success of this solution in order to be marketable to a wide variety of users.
"We had to learn all of the devices and all of the parameters to ensure every scenario was covered."
The project was planned and managed using the Agile framework. We split the project into 3 iterations: Startup, Development and Closure, which were each divided into multiple Sprints to accomplish the deliverables of each iteration.
In order to execute the planned solution we put together the following team configuration:
Architect & Database Designer
Senior Front End and Back End
AWS Certified Architect
Once the team was assembled, we had to do extensive research to understand the purpose of each type of available Bluetooth and Wifi hardware device and all of their parameters so that we could make them compatible with our solution.
We also had to build an internal simulator to provide our product with real-time data under different variables and conditions so that we could test the functionality of our product in the absence of an actual IoT network.
Finally, to conclude the project we built a separate testing interface to validate that the dashboard was fully functional through the application program interface (API).
The most complex technical challenge of this project was creating an organized and simple visualization of the incredibly large amount of data which was coming in from real-time events on the devices.
Our final product allowed for the widgets to be moved, sorted, grouped by types, minimized, maximized, etc. for the convenience of each user. Additionally, we created real-time graphs, which were automatically rendered and scaled in relationship with many parameters such as time, date, location, etc.
The end result for the customer was a very technologically advanced, cloud-based product with a very clean and easy-to-use interface and flexible applications. This MVP version is currently on the market for licensing and in-use by many major organizations.
"The most complex technical challenge was creating an organized and simple visualization of the incredibly large amount of data, which was coming in from real-time events."