Remotely Controlling Water Treatment Systems For Commercial Buildings
Client: Aquanomix, a New York-based company specializing in resource optimizations for water treatment solutions.
Overview
Aquanomix, a leader in maximising resource utilization for water treatment systems, approached us with a requirement to develop a system that would enable remote control and monitoring of their water treatment operations across multiple sites. Their challenge was to manage various controllers located in dispersed locations effectively and ensure that operators could access and control these systems from anywhere. To solve this, we designed and developed the Controlling the Controller (CTC) system.
Project Goals
The primary objectives were to:
- Enable remote operations for Aquanomix's water treatment systems.
- Provide a centralized platform for managing controllers on various sites.
- Implement secure and scalable architecture for data exchange between controllers and the dashboard.
Solution
We designed and implemented a comprehensive CTC system consisting of multiple components for remote operation and control of water treatment systems. The system architecture comprises the following key components:
- JACE (Java Application Control Engine): Each Aquanomix site uses JACE devices to manage local water treatment systems. These devices are integrated into the system and can be controlled remotely via the Supervisor.
- Supervisor: The Supervisor manages the network of JACEs across different sites and serves as the communication hub between the CTC server and individual controllers. It connects to JACEs at various sites using MQTT protocols.
- AWS IoT Core: AWS IoT Core facilitates secure and scalable communication between the Supervisor and the CTC Server. It enables remote data exchange without managing infrastructure, thus allowing Aquanomix to focus on operations.
- CTC Server: The server, built using Node.js and TypeScript, fetches the latest data from JACEs via the Supervisor and provides an API/WebSocket-based interface for the users. The server also leverages AWS IoT Core to publish and subscribe to messages, allowing real-time communication between all components.
- CTC Dashboard: A user-friendly React-based dashboard enables site admins to monitor and update JACE states. It provides features like data point updates and the ability to trigger specific routines remotely.
Key Features
- Remote Control: The CTC system allows users to view real-time data and update settings on any JACE device, regardless of location.
- Routine Automation: One of the routines included is the CalculateWaterVolumeAndBleedRate. This routine injects a tracer chemical into the system, allowing the system to calculate and monitor water volume based on the concentration of the tracer.
- Secure Communication: Communication between the CTC server and JACE devices is secured via AWS IoT Core and authenticated using JWT tokens for access control.
- Scalable Architecture: The system can handle numerous Aquanomix sites across various locations without degradation in performance, thanks to the use of cloud-based infrastructure (AWS IoT Core and AWS EC2).
Technical Details
- Node.js & TypeScript: The server-side components were implemented using Node.js, ensuring asynchronous handling of tasks, while TypeScript provided type safety.
- AWS IoT Core: Used for managing communication between devices (JACE, Supervisor, CTC Server) through MQTT topics.
- React & WebSockets: The dashboard is built with React and uses WebSockets for real-time updates, ensuring users are always aware of changes to their systems.
- Docker: Docker was used to containerize the server and ensure consistent deployment across different environments.
Challenges Overcome
- Secure Real-time Communication: Achieving secure real-time communication between cloud infrastructure and on-premise devices required careful consideration of encryption, token-based authentication, and certificate management.
- Scalability: The architecture was designed to handle the current number of Aquanomix sites while allowing for easy scalability in the future without requiring significant changes.
Results
With the implementation of the CTC system, Aquanomix successfully achieved:
- Improved Efficiency: Site administrators can now remotely control and monitor water treatment systems, reducing the need for on-site personnel.
- Centralized Control: The dashboard provides a single view of all sites, allowing admins to make informed decisions and trigger system actions from anywhere.
- Increased Security: The system's integration with AWS IoT Core and the use of JWT authentication ensures data is exchanged securely.
Conclusion
This project provided Aquanomix with the tools needed to remotely manage water treatment systems across multiple sites, improving operational efficiency and scalability. The CTC system has also laid the groundwork for future expansion as Aquanomix continues to grow its operations.
Technologies Used: Node.js, TypeScript, React, AWS IoT Core, Docker, WebSockets, MQTT
Key Components: JACE devices, Supervisor, CTC Server, CTC Dashboard
Security Features: AWS IoT Core, JWT-based authentication