Arduino ESP8266 IoT development platform with Proteus

 IoT(Internet of Things) refers to connecting devices, sensors, actuators, machines called things to the world wide web computer network. IoT platform refers to physical hardware, software application technologies used for the development and processing of the IoT application. Here it is illustrated how one can use Proteus as IoT development platform. Proteus is electronics embedded design software which can be used for PCB design and circuit simulation of circuit. It also can be used as a IoT development platform. It is illustrated here a simple example of LED control using web application build with Proteus. A user can click on the LED button to switch on or off a physical LED. The LED can just be replaced with a motor switch, valve etc that is turned on or off using the front panel LED switch button. As such the example used here can be used to prototype physical hardware and software quickly for making Industrial IoT application.

Internet of things companies begin with idea implementation of hardware prototype and software simulation on electronics design software like Proteus. First virtual hardware implementation is performed on schematic editor. In this case, a physical LED is connected to Arduino Uno and for WiFi or internet connectivity we have used here ESP8266-12E WiFi module. Using visual designer project in Proteus we can create the following circuit diagram.

IIoT platform using Arduino Uno and ESP8266

In visual designer, we add the ESP8266 IoT peripheral using the Add IoT Peripheral option from the project tree. We also add the virtual LED using the Add IoT Peripheral. How to do this was illustrated in the tutorial Proteus Visual Designer tutorial - LED Blink. These peripheral are automatically on the schematic. Then on the schematic drawing, the LED is connected to the pin 7 of Arduino Uno. The ESP8266-12E module is connected to the Arduino using the transmit and receive pins. Now this the embedded system circuit for this tutorial.

Once the hardware circuit implementation prototype is completed we then need to create web interface and then write the program for the LED switch on and off using button on the web interface. The IoT web application program is build using the Proteus visual designer and the program is compiled using the visual designer compiler. 

First we have to create the web application interface. Here the web interface consist of just a button which when pressed and unpressed the LED connected to the Arduino will turns on and off. The web interface is created using the Add IoT Control in visual designer. The tutorial Temperature Logger with Proteus IIoT platform explains in details how to make web interface in the visual designer. The following shows how the web interface looks like when completed.

IoT web interface

 Once we have made the IoT web interface we next have to write the program for our IoT monitoring system. In visual designer we write the IoT application using the flowchart programming tool. Here we just show the flowchart program for turning on and off the LED which is below.

IoT LED control flowchart

Once we have the flowchart we can then compile the program. If the program is successfully compiled we can then run simulation if it works as expected. The following video shows the simulation.

The video shows that when the simulation starts, the web interface with the button is available at the url http://localhost:8000 which opens within the proteus software. When the button is pressed the LED will turn on and when it pressed again the LED is turned off. We can also open the same url in google chrome browser on PC or mobile phone to get the same effect. So we can control the LED using wifi connection which shows that this is a working IoT connectivity for the LED control.

So here a simple IoT application using visual studio and IoT builder in proteus was illustrated which is useful for IIoT service development. We can also add other IoT devices like humidity and temperature sensor and show the data on charts which is useful for monitoring IoT devices that is useful in industrial internet of things service development.

Post a Comment

Previous Post Next Post