The Internet of things (IoT) is a system of interrelated computing devices, mechanical and digital machines provided with unique identifiers (UIDs) and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.

The definition of the Internet of things has evolved due to the convergence of multiple technologies, real-time analytics, machine learning, commodity sensors, and embedded systems.[1] Traditional fields of embedded systems, wireless sensor networks, control systems, automation (including home and building automation), and others all contribute to enabling the Internet of things. In the consumer market, IoT technology is most synonymous with products pertaining to the concept of the "smart home", including devices and appliances (such as lighting fixtures, thermostats, home security systems and cameras, and other home appliances) that support one or more common ecosystems, and can be controlled via devices associated with that ecosystem, such as smartphones and smart speakers.

There are a number of serious concerns about dangers in the growth of IoT, especially in the areas of privacy and security, and consequently industry and governmental moves to address these concerns have begun.

Dash Core Components


Dash ships with supercharged components for interactive web browser user interfaces. A core set of components, written and maintained by the Dash team, is available in the dash-core-components library.

The core components add to the html/javascript built in functions.

Take a quick look at many of the available input and output functionality including:

  • Dropdown
  • Slider
  • RangeSlider
  • Input
  • Textarea
  • Checklist
  • RadioItems
  • Input Button
  • DatePickerSingle

Dash Daq


Dash is a web application framework that provides pure Python abstraction around HTML, CSS, and JavaScript.

Dash DAQ comprises a robust set of controls that make it simpler to integrate data acquisition and controls into your Dash applications.

The source is on GitHub at plotly/dash-daq.

Here is a simple example using most of the Dash Daq items.




This is an example of using an ESP8266 via MQTT to a Raspberry Pi.

The wiring is similar to the other ESP MQTT Button examples with D7 pin 13 connected to a push button with Vcc on one side and a 1K resistor to GND.

The ESP publish code is similar to all the other IoT internet examples.

In this case though, we are going to use a Raspberry Pi as the MQTT broker (server).

The subscribe request will be issued by your PC via Putty.

This example does not use any user/password security.

Vast credit and thanks to with a few upgrades and clarifications for the latest Raspberry Pi4 Buster version.



ESP32 MQTT shiftr


ESP32 has huge possibilities for IoT with it's built in WiFi.

To take advantage of this without needing more hardware, you can connect to a cloud MQTT broker to sent data back and forth between ESP32s.

This example will use 2 ESP32s each with one PUBLISH ( send) and one SUBSCRIBE (read ) via

You can add a lot of power and complexity with all the ESP32 capabilities, but that can overwhelm the IoT server limits.

To prove the point simply, we will limit each ESP32 to 1 input SUBSCRIBE and 1 output PUBLISH.


ESP8266 Automated M2M with IFTTT


Machine to machine communication with 2 ESP8266 WIFIs to the cloud.

Now we will add to the simple Basic example of a switch input client to an LED display client.

ESP8266 Button > IFTTT > Adafruit IO >ESP8266 LED

The ESP8266 Button will wait and read a button toggle state change and then send a changed value to IFTTT.

The IFTTT event will send the change to the Adafruit IO.

The Adafruit IO will then send the change to the ESP8266 LED.

The ESP8266 LED will then change the LED status.

First you need to get an Adafruit account and copy the AIO key

Create the FEED ( needed for IFTTT ) and Dashboard with Blocks.

( Free Plan per account 30 data points per minute, 30 days of data storage, 10 feeds, & 5 dashboards )

Then create a free IFTTT account.

Create an IFTTT Webhook event to send to Adafruit.

Create the Adafruit Dashboard , Feed , & Block ( Toggle Button or Gauge ).

Modify the included programs with your wifi and cloud account information and upload to each ESP.

You can use the Arduino IDE after you make the needed changes as explained in :

The ESP8266 Button is wired with a toggle switch to D4 input pin GPIO2 and a 1K to 10K resistor to ground.

The ESP8266 LED is wired to D4 input pin GPIO2 with 1K resistor inline with an LED to ground.



Particle Photon DS18B20 IoT Temperature Monitor


This is a basic temperature monitor for a DS18B20 sensor.

The sensor is read with a Particle Photon.

The Particle Photon is configured with wifi connection the Particle Cloud.

You will need to setup a Particle account and purchase a photon board.

With APIs you can use many different cloud services.

This application is programmed for a publish/subscribe event.

Note :using a simple html browser like this is NOT secure and anyone who selects the View Page Source will see your var accessToken & var deviceID.

This is meant as a simple example only not for any process that requires security.


Here are some helpful tutorials on some the systems available with Scada123 to try on your own.

You can view videos at:     Youtube Channel Scada LLC

Sort through Topics on the left Menu "Tutorial Menu"

Click on one the Topic Tags that interest you.

License : All programs in the tutorial section are free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.