Text by: Chaudhary Muhammad Aqdus Ilyas – University of Cambridge
The process of integration is more like riding a smart bike in a busy street where you have to navigate through obstacles, keeping a balance and safety of the rider and the environment to whom it is interacting. As it is a smart bike, it is constantly receiving and sending information (such as people density, location, path, shops, hazards info, etc.) to the environment and interacting with it accordingly. Similarly, while performing the integration process you have to face similar challenges like how to make an application convenient for the users, with data security, user privacy, reliable communication path and to achieve the intended outcome of that application. In this blog, I will discuss the WorkingAge sensors integration journey for us the UCAM Team, which highlights the backend process.
The concept of sensor integration is close to the sensor fusion term, which is defined as “the art of processing data from multiple sensors with an aim to replicate a physical environment or induce intelligence to control a phenomenon with increased precision and reliability”  .
The WorkingAge (WA) system broadly can be distributed into four working parts; Communication component, DSS (Decision support system) component, Registration component and User Interface component. All of these parts are linked together to send and receive information from various channels and sensors. The integration of sensors into WorkingAge (WA) applications and system (WAOW Tool) intends to increase the capacity to measure, analyse and aggregate the data at a localized level. Built on the increasing capabilities of fixed-access and wireless networks, smart sensor developments allow the collection of raw data, which is processed into information and conveyed via a network connection into a secured cloud.
In the case of WAOW Tool, two communication typologies are used: raw data and high-level data. Raw data is collected by sensors (Face, Body, Speech, Muse, Empatica) to send to Cloud server and WA App by predefined protocols. High-level data is sent from Cloud server to WA App via publish/subscribe mechanism implemented with ZEROMQ. Sensors working and communication is managed by “sensor.management” functionality that manages the messages between Cloud server and WA App.
I would like to walk you through the whole process of integration of a sensor for facial feature analysis, a camera with facial emotional recognition application in the WAOW tool. First of all, it is required to “register” a user into the WAOW tool, but this user must be linked to a particular sensor, in our case a camera. Therefore, we need to link a “user ID” with a “sensor ID”. The process of user registration is not as simple as it seems, it requires certain steps or protocols to follow :
- To maintain the privacy of a user, and security of a communication, WA App generates a pair of public/private keys and random user pseudo ID.
- On the other hand, the cloud server must receive this information and send acknowledgement that the user has been added and linked to the sensor. This is done by saving the user pseudo ID with the sensor ID concatenated with a generated key and sending the acknowledgement message to a user through WA App. One important point to consider is you need to first register sensor ID followed by the user ID, otherwise communication will be faulty.
- WA App setup communication with Cloud server through publish and subscribe ports through ZeroMQ proxy.
The registration of a user is validated if WA App receives all the configured messages during the process of registration. After receiving the acknowledgement, a user can start or stop using a sensor and it is managed by “sensor management” functionality. This functionality provides control and trust to the WA App.
This is only the first part of our integration journey. Watch this space when we come back to explain the second part!
1 – Morales-Herrera, R., Fernández-Caballero, A., Somolinos, J. A., & Sira-Ramírez, H. (2017). Integration of sensors in control and automation systems.