- 1 Introduction
- 2 Mechanical
- 3 MQTT over GSM
- 4 Topology
- 5 Dashboard
- 6 Modbus
- 7 MQTT Topics
- 8 Ports
- 9 HTTPS & Reverse Proxy
- 10 Node-RED
- 11 Retro-Fit Connections
- 12 HIUs
The Node-DP system is designed to make differential pressure control on a heat network as simple to implement as possible.
It uses a unique combination of technologies to provide a retro-fit wireless solution that will interface with existing control systems, will work on almost any phone network, and has a low cost data tariff.
- Raspberry Pi computer with GSM modem
- MQTT over GSM SIM card from Thingstream
- Grundfos DPS/RPS temperature and differential/static pressure sensors
- DS18B20 digital temperature sensors
- Node-RED programming environment
Node-DP controls are located at the edge of the peripheral zone, typically on 28mm pipework before it reduces to 22mm.
The installed system comprises of:
- The electronics (requiring 5vdc 3.5A power)
- 1/2"/15mm connection pipes to network flow and return
- 2x 1/2" cross tees with ports:
- network connection via union
- binder test point
- DP sensor 6mm capillary connection
- temperature sensor probe (opposite network connection with probe inserted into water flow)
- DP sensor with 6mm capillary to each cross tee
- Optional 50°C thermal bypass valve
MQTT over GSM
Thingstream’s platform enables devices to connect to the strongest GSM network available, almost anywhere in the world, and communicate using IoT Messaging – a unique combination of MQTT and USSD messaging protocols. Connectivity is available in over 190 countries across 600+ networks, including Vodafone, O2, EE, T-Mobile, Telenor, 3, KPN, AT&T, Rogers & Three UK.
- A unique approach to enabling MQTT over GSM without the need for cellular data
- Immediate global coverage, across 627 GSM networks across 190+ countries
- No TCP-IP (internet) for an inherently more secure connection
- Longer reach to base stations than cellular data, to better service remote locations
- A scalable, low power and cost efficient way to connect devices, designed for constrained devices and low-bandwidth, high-latency or unreliable networks
- Low power with: 93x faster throughput, 11.89x less battery to send, 170.9x less battery to receive, 1/2 as much power to keep connection open, 8x less network overhead
Cloud MQTT Server
Plantroom MQTT Server
Modbus Master Pump Control
Modbus Slave Request Log
|Function Codes||3 (read), 6 (write)|
|Lowest differential pressure||1||kPa [x10]|
|Age of Lowest||2||seconds|
|Highest differential pressure||3||kPa [x10]|
|Age of Highest||4||seconds|
|State / Error code||9|
|Location 1 differential pressure||11||kPa [x10]|
|Location 1 flow temperature||12||°C [x10]|
|Location 1 return temperature||13||°C [x10]|
|Location 1 age||14||seconds|
|Location 2 differential pressure||21||kPa [x10]|
Where no DP reading is available a value of 999 will be reported
We use a common MQTT topic structure across all projects.
Topics are split into 5 levels:
network / node / device / group / key
These levels allow us to organise data in a standard structure, and to set permissions accordingly.
|network||A unique identifier for the heat network|
|node||An unique (for each network) identifier for each system running Node-RED on a network, MAC address, or a fixed LAN ip address|
|device||An identifier for each connected device or sub-system, or "system" if node related|
|group||The type of data|
|key||An identifier for the data|
The following table shows the structure of standard topics.
|Analoge input 0||network1/riser1/usb0/ana/a0|
|Analoge input 1||network1/riser1/usb0/ana/a1|
|DP Sensor Temperature||network1/riser1/usb0/dps/tHx|
MQTT is a publish/subscribe system, and devices can subscribe to topics using wildcards.
|All network data (admin level)||network/#|
|All data from a unique node||+/node/#|
|All differential pressure data on the network||network/+/+/+/dpH|
|All DS18B20 temperature sensors on network||network/+/+/ds18b20/#|
|All Alarms from network||network/+/+/alarm/#|
|Node-RED||1880 *see Reverse Proxy below|
|VPN server (optional)||1194|
HTTPS & Reverse Proxy
Where Node-RED services are exposed to the internet on port forwarding to 1880, a reverse proxy is used to act as a filter and SSL certificates are generated to provide a secure connection.
Possibly the most user-friendly programming environment ever developed, Node-RED from IBM is an open-source visual wiring tool for signal processing, storing, and routing.
It can interact with pretty much any system, using any open protocol, and is becoming the standard user logic platform for a growing number of equipment manufacturers and service providers. It comes as standard on the Raspberry Pi, but can also be hosted in the cloud by a number of providers.
Using Node-RED we can maintain a standard environment from end-to-end, with Node-RED running on the sensor nodes, on the Thingstream Cloud, and on the Modbus interface. Node-RED is used to:
- Read sensor data
- Communicate with MQTT-over-GSM network
- Route Thingstream data to MQTT
- Communicate with cloud MQTT server
- Perform all logic and calculations
- Identification of index sensor (lowest DP as primary register)
- Store sensor data and Modbus registers
- Communicate with Modbus master
- Host local MQTT server in plantroom
- Host browser dashboard interface
- Update No-IP DNS server
- Identify and route alarms via email or SMS
Where there are no connections into pipework to add DP sensors, the Flamco T-Plus offers a solution to add new connections while the system remains live and operational.
Our range of electronic HIUs can feed DP and temperature data into the system, alongside riser sensors.
This can be useful for monitoring the final index point.