The ESPHome system is probably the most successful idea for programming the ESP8266 and ESP32 microcontrollers (more about how to choose a microcontroller). To use ESPHome, you don’t even need basic programming knowledge. It is intuitive, and you can find ready-made configuration examples for various devices on the web. However, writing the configuration is only the beginning. You need to take care of building the firmware and installing it on the device. And most importantly, you need to have a local or cloud server to which the device will connect. All these questions can be difficult for those new to ESPHome-based device development. This article tells you how to start with ESPHome, and which tool is the most powerful and easy for a newbie to develop.
Of course, to create an IoT device based on the ESP32 microcontroller, you first need the microcontroller itself and other components. An ESP32 dev board with a built-in LED can serve as an elementary Internet of Things device. The firmware that controls the glow of this LED is the simplest example of an ESPHome configuration that beginners can start with.
But we will not touch on the hardware issue and will focus on the software and services you need.
The main component of your IoT project is the platform that the device will connect to. The platform links things together, making the Internet of Things possible, even if it is only about two things: your device and your smartphone with a mobile application to control it.
By the way, a mobile application that is part of such platforms is an essential point in itself. Its functionality is not so important if you only experiment with IoT development. But this point matters if you want to use your device in the future constantly.
Conceptually, IoT platforms can be divided into two large groups. Firstly, these are automation platforms that are deployed on a local server. If we are talking about ESPHome-based devices, most of them connect to a similar open-source platform, namely Home Assistant.
The second group is the Internet of Things cloud platforms. Their use does not require a local server and additional software on your computer. The entire cycle of connecting your IoT project to the cloud platform is often performed in a browser.
Unfortunately, not all cloud platforms support connecting ESPHome-based devices. But you are lucky – you are reading the blog of just such a platform.
Let’s go over the pros and cons of each of these options.
Local smart home automation platforms and IoT cloud platforms are, in many ways, different planets. If you, as a newcomer to ESPHome, face such a choice, answer yourself the main question – what do you want at the moment?
We have a lot of respect for Home Assistant and consider it a cool project. But this platform can be difficult for a person who is just starting to experiment with IoT projects. Home Assistant requires a local server. It can be a Raspberry Pi microcomputer, a full-fledged PC-based server, or a virtual server on your machine.
But after many, many hours of torment, you will receive a free smart home ecosystem with many flexible automation scenarios.
Nothing like this is needed to connect to the cloud platform. You use the power of the cloud server and the tools that the platform provides you. At the stage of creating a new device, this is definitely a simpler and faster option.
You should understand that, as a result, you get a device that can be controlled remotely using a mobile application. But no more. To use automation scenarios, you need to integrate the device into the automation platform if such a feature is available.
If you don’t already have an automation platform deployed, the ESPHome-enabled cloud platform has the advantage of quick and easy development. You can check the performance of your idea in 2-3 hours, and during this time, you will work on a project that is interesting for you and not deploy a platform on a local server.
Support for ESPHome by IoT cloud platforms is not the most apparent phenomenon, and many developers are unaware of this possibility. Meanwhile, the 2Smart Cloud team loves ESPHome for its simplicity and intuitiveness. Even a person who does not know the basics of programming can describe the logic of the device using the YAML configuration. And most importantly, such a device can be pretty complex and functional. ESPHome is not only for simple devices like a relay or a temperature sensor. Although these devices are also cool!
Therefore, we have implemented ESPHome support as an available base for ESP32 MCU firmware. If you want to start with ESPHome, 2Smart Cloud will provide you with everything you need:
All these features are free for beginner developers. If your task is to try your hand at IoT development or to test the workability of a device idea, a cloud platform is probably the best solution.
You can get started with ESPHome quickly using the powerful and easy tool that is the 2Smart Cloud platform. Register and welcome!
Share with us your business idea and expectations about custom software development for the internet of things.