Innovative Sensor Gateway Upgrade Project
Company’s Request
Technology Set
The project began with the selection of a new, advanced gateway device equipped with built-in sensors for temperature, humidity, light, and motion detection. This hardware platform brought enhanced computational power and allowed for comprehensive environmental data collection.
To harness the new hardware’s capabilities, our team developed customized, lightweight drivers. These drivers were designed to communicate with each built-in sensor, translating sensor data into standardized digital formats for easy processing and analysis. Simultaneously, we created a series of intuitive web pages for configuring and monitoring the sensors. This web interface utilized AJAX and HTML5 to provide real-time updates and configurations without refreshing the page, making system interactions seamless and responsive.
A core technical challenge was making sure the new hardware was compatible with the existing MQTT-based data transmission system. We adapted the MQTT topics and payload structures to align with the new sensor data formats and transmission frequencies. This required writing additional middleware to dynamically translate data from the new sensor formats into the expected MQTT formats without data loss or delay.
The integration of Telit LTE functionality added another layer of complexity. This feature was essential for enabling the gateway to communicate over cellular networks, for remote deployments or areas without stable internet connectivity. Integrating this functionality required close collaboration with cellular service providers to obtain necessary certifications and provide compliance with network standards. Additionally, we developed an error-handling framework to manage intermittent connectivity and variable network speeds commonly experienced with cellular communications.
Further complications arose with integrating existing software modules like Node-Red, used for connecting hardware devices, APIs, and online services in innovative ways. We encountered compatibility issues between Node-Red’s deployment environment and the updated Node.js and Docker configurations on the new hardware. This required a deep dive into the Node-Red custom nodes, debugging flows, and scripts to accommodate the updated backend infrastructure for stable inter-module communication.
Moreover, the project’s Docker environment needed optimization to enhance system reliability and ease of maintenance. We simplified the Docker images, reducing their size and dependencies, and significantly improving deployment speeds and system stability. This optimization also involved scripting Docker container orchestration to automatically handle service failures and system updates without manual intervention.