Close
0%
0%

IoT Control Center

IoT Control Center using MQTT/JS/AdminLTE

Similar projects worth following
IoT JSON comunication protocol via MQTT broker.

In november 2016 I wanted to remote control and automate some tasks like watering my greenhouse, turn off/on lights/heating on a country house.

I was playing with Arduino/ESP8266/Raspberry Pi for some time now and I started thinking and researching a way to do it. After a few days I decided to use a combination of Raspberry Pi as a server with a MQTT broker and NodeMCU.

I had in mind a JSON based protocol for communication via MQTT. Then I searched the net to see it this was done before and I found IoT Manager. I tried it for a few days for night heating my two dogs. I had a few problems with it and decided to build my own control center.

# IoT Control Center

IoT JSON comunication protocol via MQTT broker.

In november 2016 I wanted to remote control and automate some tasks like watering my greenhouse, turn off/on lights/heating on a country house.

I was playing with Arduino/ESP8266/Raspberry Pi for some time now and I started thinking and researching a way to do it. After a few days I decided to use a combination of Raspberry Pi as a server with a MQTT broker and NodeMCU.

I had in mind a JSON based protocol for communication via MQTT. Then I searched the net to see it this was done before and I found IoT Manager. I tried it for a few days for night heating my two dogs.

I had a few problems with it and decided to build my own control center with ideas like :

- web compatibile. I wanted to be able to use it in a browser

- TODO: build for it an Electron shell

- TODO: iOS and Android progressive web apps

- use an opensource interface. I tried a few, but I decided to use AdminLTE with OnsenUI components

- templatable widgets

- TODO:anyone to be able to use external CSS/JS/templates/images for widgets

- all open control interfaces to show the same data/statuses without the need for refresh

- TODO: create `scenarios` based on IoT data. if sensor1Temp < 10 then turn on heat

- TODO: use NodeRed to create scenarios/notifications

- BETA: subscribe to custom topics, assign template for display. To do configurator

- TODO: OTA updates with widget configuration

How it works (WIP) :

IoT CC subscribes to

- /iotcc/+/+/config

- /iotcc/+/+/data

- /iotcc/+/device

IoT CC publishes to

- /iotcc/device - {"clientId": "{clientId}"}

IoT devices subscribe to

- /iotcc/+/+/data

- /iotcc/device

IoT devices publish to :

- /iotcc/+/device - {"name":"House heating 1","desc":"", "pages" : [{"pageId" : 10, "pageName" : "House heating", "icon": "ion-ios-home"}]}

- /iotcc/+/+/config - {"pageName": "House heating", "pageId": 10, "widget":"radios", "title":"Hollway Heater", "topic":"/iotcc/heater1/heater", "options":[{"checked":true, "label": "Off", "status":"1"}, {"label": "Confort", "status":"2"}, {"label": "Anti freeze", "status":"3"}, {"label": "Confort -2", "status":"4"}], "template": "template-3", "icon": "ion-ios-home", "bgcolor": "bg-blue", "order": 40}

- /iotcc/+/+/data - {"status":"{status}"}

  • 1 × jQuery
  • 1 × AdminLTE
  • 1 × MQTT.JS

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates