Introduction: ESP8266-01 With HTU21 (MQTT)
Limited as the ESP8266-01 might seem regarding the number of pins, it is still a very capable little device that is sometimes wrongfully underrated.
It is perfect however for projects that demand little I/O, such as reading a single sensor. I am using the HTU21D temperature and humidity sensor.
The ESP01 needs constructing a small board that contains the connectors and a small 1117-33 voltage regulator (soldered on the bottom) so the circuit can be fed with 5 Volt. As I am using an ESP8266-01S -that already has 10k pullups on GPIO0 and GPIO2, I do not have to add resistors for an undisturbed startup and use of I2C.
If you are using the 'old' ESP8266-01, you have to add 4k7 -10k pullups to GPIO0 and GPIO2. If your HTU21 module already contains pullups, those will function as proper startup resistors as well.
The software (download here) is not too complicated, it first connects to your LAN, but it chooses the strongest of two LANs if available. It then connects to an MQTT server and sends the sensor readings via MQTT every minute.
I also find it convenient when the software tells me what program it is, so I have added that too. Finally, as in future I may want to include some time dependent signaling, I included a clock that is being synchronized through the internet.
Should you check your DHCP list, the device identifies as "HTU21"