The EzloPi smart devices provide automation through simple, customizable use with our open-source EzloPi platform, making daily life easier and improving human-machine interactions.
Before moving into this example, it is very important to know about the device registration, provisioning and converting the ESP32 device into an EzloPi device along with knowledge of Web Flasher, MiOS Mobile Application for Android/iOS and the MiOS Web Application.
1. About this example
In this project, we have interfaced the EzloPi device with the 4-channel touch sensor module, which functions as four different switches for controlling the four LEDs. This will allow users to use both touch control and the MiOS smart application to remotely operate the four LEDs. In order to manage lights in a smart home setting, improve user experience, and boost energy efficiency, this project integrates hardware and software components in an approachable and user-friendly manner. EzloPi automation meshbot has been utilized in this project to automate actions such as the individual touch input as switches to control the state of the four individual LEDs.
2. Circuit Diagram & Interface
The following components are required for interfacing with the EzloPi device:
- ESP32 as an EzloPi smart device.
- TTP224 4-channel digital touch sensor.
- LEDs
- 100 Ohms Resistor
The wiring diagram of ESP32 30 pin is represented as follows:
The following connections are made in order to complete the circuit setup:
From ESP32 to the TTP224 module:
From ESP32 to 4 LED’s & Resistor:
3. Interfacing the 4-channel Touch sensor module using the EzloPi Web Flasher:
Set up your device/hardware by visiting config.ezlopi.com
- Log in using the credentials which you just set earlier while signing up.
- Now, click on the Connect Device button and a pop-up window will appear.
Now, select COM Port to which your ESP32 device is connected. In our case, the COM3 port is used.
Click Connect.
- If you are new to this and it's your first time configuring, select Create new Device ID. Enter Wifi SSID and Wifi Password.
- In the Device Configuration, tab click on Digital Input..
- A Digital Input window will open for inputting the following parameters:
- Set Device name to Touch 01.
- Set Device subtype to Touch Switch (Toggle) TPP223.
- Set OUT GPIO to 15.
- Set Resistor to PULL DOWN.
- Set the default value to LOW.
- Then Click Apply Button.
- Again, In the Device Configuration, tab click on Digital Input.
- A Digital Input window will open for inputting the following parameters:
- Set Device name to Touch 02.
- Set Device subtype to Touch Switch (Toggle) TPP223.
- Set OUT GPIO to 2.
- Set Resistor to PULL DOWN.
- Set the default value to LOW.
- Then Click Apply Button.
- Again, In the Device Configuration, tab click on Digital Input.
- A Digital Input window will open for inputting the following parameters:
- Set Device name to Touch 03.
- Set Device subtype to Touch Switch (Toggle) TPP223.
- Set OUT GPIO to 5.
- Set Resistor to PULL DOWN.
- Set the default value to LOW.
- Then Click Apply Button.
- Again, In the Device Configuration, tab click on Digital Input.
- A Digital Input window will open for inputting the following parameters:
- Set Device name to Touch 04.
- Set Device subtype to Touch Switch (Toggle) TPP223.
- Set OUT GPIO to 18.
- Set Resistor to PULL DOWN.
- Set the default value to LOW.
- Then Click Apply Button.
- Again, In the Device Configuration, tab click on Digital Output.
- A Digital Output window will open for inputting the following parameters:
- Set Device name to LED 01.
- Set Device subtype to LED.
- Set OUT GPIO to 27.
- Set Resistor to PULL UP.
- Set the default value to LOW.
- Then Click Apply Button.
- Again, In the Device Configuration, tab click on Digital Output.
- A Digital Output window will open for inputting the following parameters:
- Set Device name to LED 02.
- Set Device subtype to LED.
- Set OUT GPIO to 26.
- Set Resistor to PULL UP.
- Set the default value to LOW.
- Then Click Apply Button.
- Again, In the Device Configuration, tab click on Digital Output.
- A Digital Output window will open for inputting the following parameters:
- Set Device name to LED 02.
- Set Device subtype to LED.
- Set OUT GPIO to 26.
- Set Resistor to PULL UP.
- Set the default value to LOW.
- Then Click Apply Button.
- Again, In the Device Configuration, tab click on Digital Output.
- A Digital Output window will open for inputting the following parameters:
- Set Device name to LED 04.
- Set Device subtype to LED.
- Set OUT GPIO to 33.
- Set Resistor to PULL UP.
- Set the default value to LOW.
- Then Click Apply Button.
- After clicking the apply button you can see a table of your setting in the device configuration tab.
- Press the Flash Device button.
- A window will appear on the bottom right side of the screen displaying “Please press BOOT button while flashing begins.”
- Hold the BOOT button down until the next window appears on the bottom right side of the screen which says “Installation prepared. Please release the boot button now.”
- Release the BOOT button from your ESP32 when this pop-up on the bottom right window appears.
- After some time, a popup will appear saying Device Flashed Successfully! This means that your device has been set up successfully.
5. MiOS Web Dashboard:
- After configuring the controller with the EzloPi web flasher, head to https://ezlogic.mios.com/
- Use the same credential to log in that you used for configuring the controller with the web flasher.
- Now, on the MiOS web dashboard, you will be able to see the tiles for the LEDs and Touch switches. The tiles will indicate the status of the LEDs and touch switches depending on the touch switch being operated by the user.
MeshBots:
![](/wp-content/uploads/2023/11/control-led-by-ldr-using-meshbot-MIOS-web-dashboard.png)
- On the right side of the screen under Automation, click on MeshBots.
- On meshbot screen, click on Create new MeshBot button present on the top right corner of the screen.
- After clicking on Create new MeshBot you will see this now under Automation MeshBot click on Cloud.
- On the next screen you will see that we can create a name of our choosing, in this case we write it as Touch_LED_1..
- In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
- Set these values in TRIGGER section:
- Set these things in TRIGGER section:
- Set Node Type to Device.
- Set the Node to Touch 01.
- Set the Category to Switch.
- Set the value to True.
- Set these values in the True part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 01.
- Set the Capability to switch.
- Set the Value to true.
- Set these values in the False part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 01.
- Set the Capability to switch.
- Set the Value to false.
- Now Click the Save button.
- After clicking the save button you can see this screen on the top right corner of the screen.
- On meshbot screen, click on Create new MeshBot button present on the top right corner of the screen.
- After clicking on Create new MeshBot you will see this now under Automation MeshBot click on Cloud.
- On the next screen you will see that we can create a name of our choosing, in this case we write it as Touch_LED_2.
- In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
- Set these things in TRIGGER section:
- Set Node Type to Device.
- Set the Node to Touch 02.
- Set the Category to Switch.
- Set the value to True.
- Set these values in the True part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 02.
- Set the Capability to switch.
- Set the Value to True.
- Now Click the Save button
- Set these values in the False part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 02.
- Set the Capability to switch.
- Set the Value to false.
- Now Click the Save button
- After clicking the save button you can see this screen on the top right corner of the screen.
- On meshbot screen, click on Create new MeshBot button present on the top right corner of the screen.
- After clicking on Create new MeshBot you will see this now under Automation MeshBot click on Cloud.
- On the next screen you will see that we can create a name of our choosing, in this case we write it as Touch_LED_3.
- In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
- Set these things in TRIGGER section:
- Set Node Type to Device.
- Set the Node to Touch 03.
- Set the Category to Switch.
- Set the value to True.
- Set these values in the True part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 03.
- Set the Capability to switch.
- Set the Value to True.
- Now Click the Save button
- Set these values in the False part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 03.
- Set the Capability to switch.
- Set the Value to false.
- Now Click the Save button
- After clicking the save button you can see this screen on the top right corner of the screen.
- On meshbot screen, click on Create new MeshBot button present on the top right corner of the screen.
- After clicking on Create new MeshBot you will see this now under Automation MeshBot click on Cloud.
- On the next screen you will see that we can create a name of our choosing, in this case we write it as Touch_LED_4.
- In the trigger tab you can set the TRIGGER for your device and in the ACTION tab you can set the action to be performed based on the trigger which you have created.
- Set these things in TRIGGER section:
- Set Node Type to Device.
- Set the Node to Touch 04.
- Set the Category to Switch.
- Set the value to True.
- Set these values in the True part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 04.
- Set the Capability to switch.
- Set the Value to True.
- Now Click the Save button
- Set these values in the False part of the ACTION section.
- Set Controllable Type to Device.
- Set the Controllable to LED 04.
- Set the Capability to switch.
- Set the Value to false.
- Now Click the Save button
- After clicking the save button you can see this screen on the top right corner of the screen.
- Here you can see your saved MeshBot. Now click on Dashboard.
- Here in the MiOS web dashboard, you can see that when the touch switches get triggered, The LEDs turn on because of the rules we have set in meshbot.
5. MiOS Mobile App
You can download the MIOS Android app from the Google Play Store and Apple App Store.
![Google Play](/wp-content/uploads/2023/06/btn-google-play.webp)
![Apple App Store](/wp-content/uploads/2023/06/btn-apple.webp)
- After downloading the app, proceed to install the application and open it.
- Using the MIOS mobile application, create a new Ezlo Cloud account using the sign-up option. If you already have an account, you may proceed to log in.
- After successfully logging in, you will be able to see the number of controllers connected such as a lamp, fan, or any other device in the MiOS app. Tap on any controller of your desired ID:
- You will be able to see the status of your controller whether it is online or offline. Access the device dashboard, and tap the device. The following view of the dashboard will appear:
- After opening the MiOS mobile app dashboard, you will be able to see the tile of your connected device. The state of all the four LEDs can be controlled by just touching on the tiles for the touch inputs. Currently, all the tiles for the touch switch are OFF, which indicates that all the LEDs are OFF.
- Here, as seen on the MiOS mobile dashboard, when the touch switches get triggered, they turn the LEDs on because of the rules we have set in meshbot.
- Similarly, it can be seen that when we touch one by one on the 4-channel touch sensor module, the LEDs turn ON, also the tiles indicate that all four LEDs have turned ON because of the rules we have set in meshbot.