Project showcase
IOT2020-Based Industrial Boiler Controller

IOT2020-Based Industrial Boiler Controller

I used C++, NodeJS, Node-Red, Python and Arduino Sketch on the same platform to control a boiler and connect it to the internet.

  • 2,716 views
  • 0 comments
  • 13 respects

Components and supplies

About this project

The IoT 2020 is based on the Intel Galileo 2 and is a flexible IoT Gateway for makers and comes with industrial Certifications. In this projects I wanted to demonstrate the flexibility of the platform in an industrial application and hence selected a simple Boiler Controller.

I used a water pump as a fuel pump and use gravity to turn a flow sensor for a steam turbine. It is simple but effective.

To demonstrate the flexibility of the system I am using 4 programming languages on the same platform simultaneously.

1. TCP Socket server and Serial Bridge

The first part is the Pump controller which uses an arduino with a Modbus like TLV protocol. An FTDI is used at the USB interface and I have written a TCP to Serial bridge that translates commands on a TCP Socket to serial or Modbus commands.

The code is written using the SDK provided by Siemens and is executed on the IoT2020 natively.

I tested it out using a python script that ALSO runs on the IoT2020 itself.

2. Arduino Sketch

I use a RGB Color LCD driven by an Arduino sketch using libraries provided by the manufacturer. This is simple and runs in parallel with the rest of the code.

3. MQTT and NodeJS

For remote sensors, I used an Arduino UNO with an ethernet shield to send data to an MQTT broker. Mosquitto runs on the Iot2020 and relays messages to a NodeJS service. Later I move the NodeJS service to Node Red but the Arduino sends data over the local network on a single topic.

This data contains temperature data from an LM35 as well as a flow sensor.

4. Node Red Gateway

I use Node Red To sort the data and trigger the automatic control. I used Javascript Code to parse data and trigger the pump. When a flow of less than 5 Liters/minute is detected, the pump is triggered. A delay preset delay is used to control the duration of the pump and is turned off after 2 seconds.

The system can be manually controlled as well using buttons on the local dashboard.

5. Initial State

The data is transmitted online for a dashboard. The data is pushed via curl commands as POST requests and is updated once every seconds. This can be changed in Node Red if required.

Video

Here is a small explanation and demo video of the code as well as every individual module.

Code

Schematics

Block Diagram
Iot2020 control tvcpuwah7z

Comments

Submitted to Contest

Weller WT 1013 Set, Soldering Station, 230V, +50°C to +550°C, RS Pro Multimeter IDM66RT 6000 Count, Knipex 8 Pieces Electronics Tool Kit (ESD), RS Pro 200mm Standard Plastic Anti-Static Solder Sucker with Silicone Rubber Nozzle, and Desco ESD mat

SIMATIC IOT2020

Author

Pic1 ujbjexjeul
Inderpreet Singh
  • 2 projects
  • 7 followers

Published on

September 19, 2018

Members who respect this project

JcNico icon2015 1DefaultProfilepicAdrianna potrace zbeo5722hpDefaultPhotoProfilepic

and 5 others

See similar projects
you might like

Similar projects you might like

Central Heating Boiler Control Box

Project tutorial by Peter Groeneveld

  • 9,829 views
  • 10 comments
  • 45 respects

Arduino Ethernet Controller

Project showcase by TATCO Inc

  • 5,684 views
  • 1 comment
  • 25 respects

RGB LED Strips Controller

Project tutorial by Philippe Libioulle

  • 17,399 views
  • 2 comments
  • 19 respects

Automatic Water Level Controller

Project showcase by karthickcj0083

  • 13,049 views
  • 6 comments
  • 20 respects

Making a Cheap Aquarium Parameters Controller

Project tutorial by Boisse Martin

  • 5,023 views
  • 3 comments
  • 16 respects

Arduino-Powered Pellet Boiler

Project showcase by Team Federico Aschero

  • 3,827 views
  • 0 comments
  • 10 respects
Add projectSign up / Login