esp8266 with Homie and PlatformIO

As I talked about in previous posts, I got some ESP8266 devices I wanted to play with, one has been setup on a breadboard for testing for a while, able to boot, but never got to try anything more on it yet.

Protocol and firmware base choice

As my goal is to do some connected devices for home automation, I wanted to make firmwares for these that could talk to Home-Assistant. Even through HA supports quite a lot of way to talk to devices, there were 2 main options I considered:

  • http: simply having a http on the esp which exposes status, and can get commands via POST for example
  • mqtt: it is meant for IoT, the main drawback was I actually didn't want to run a broker

That's when I realized HA MQTT component has an embedded broker. Which apparently is not getting much love as everyone is using mqtt with HA for owntracks, and the embedded broken is incompatible with it. But given I don't plan on using owntracks myself for now, that should be sufficient for my need.

A large part of my fiddling for home automation has been triggered by Jan-Piet Mens and he actually loves MQTT, and played around with clients and told a few times (on twitter if my memory is any good) that Homie for esp8266 was well thought and stable, as I generally find his choices, advices and tastes to match pretty well mine, I decided to go for this.

So here we are, if all goes well, my esp8266 will be running a Homie based firmware to talk to home-assistant via MQTT.


Then the question of the tools arised, most of the things I read about esps were all talking about Arduino IDE, which I found comments before even trying it, saying to sum it up, as working, but not great. For those who know me, you know I don't like UI, graphical interfaces, and mouse compliant interfaces. I was not trilled to have to use this.

There is quite some talk about esptool which apparently is a great command line tool written in python to flash you esps. That could have done it, but as a complete beginner in all this, I had no clue how to build a project to create the firmware before flashing it with esptool.

Homie github README talks about PlatformIO. I had no clue what this was, and one of the first thing you notice on their webpage is the IDE word, and screenshot of Atom sporting a toolbar to interact with PlatformIO. But after discading it in the first place, and coming back to their website and taking some time to actually read things, I noticed: PlatformIO is an open source ecosystem for IoT development. There is an IDE, but it is more an ecosystem, and everything can be done from the command line, and that was a lot more appealing to me, so I went for it.


Being a python project, you can install it via pip, some python -c directly from curl as suggested in the Super-Quick Installation Guide.

I went with archlinux's AUR package, there also is a -git one, if need arises later on.

Once installed I went through this page and followed their example:

platformio init --board nodemcu

The nodemcu are based on ESP12s, as I own an esp12f, and I read somewhere it was generally working pretty fine with nocemcu as a board, I decided to go for it.

The previous command create an .ini and a lib and src folders. There also is a .pioenvs folder that contains everything PlatformIO will need to build your project, libs, the output binaries etc.

Then as explained on Homie's getting started guide I installed the lib, given I'm a bit curious I looked it up before typing what the doc suggests.

platformio lib search homie
platformio lib install 555

I then dropped the so called Bare mininum sketch

#include <Homie.h>

void setup() {

void loop() {

in src/test.c, and tried to compile using the command:

platformio run

But that failed because of missing PubSubClient.h in Homie includes, as PlatformIO is said to handle depedancies, that surprised me but well, whatever:

platformio lib search pubsubclient
platformio lib install 89

Then tried to compile again... this time a real compilation error arised:

In file included from .pioenvs/nodemcu/Homie_ID555/Homie/MqttClient.hpp:3:0,
from .pioenvs/nodemcu/Homie_ID555/Homie.hpp:3,
from .pioenvs/nodemcu/Homie_ID555/Homie.h:4,
from src/test.c:1:
.pioenvs/nodemcu/ESP8266WiFi/ESP8266WiFi.h:27:8: error: expected identifier
or '(' before string constant
extern "C" {

Given the presence of .hpp in the error, and the extern "C" section I guess I should not be assume I'm writing C, so I move src/test.c to src/test.cpp, launched the compilation, and this time it built fine.

If you have your FTDI adapter plugged in, and your ESP in flash mode, you can add --target upload to the run command line, and PlatformIO will flash your device for you.

I simply wired GPIO0 to GND and rebooted the esp, launch the run with upload flag, and my esp was flashed. I then rewired GPIO to VCC and rebooted, and the AP from Homie's configuration mode showed up in my phone wifi... I didn't yet took the time to configure it via json and test it further.

But that's already a good starting point, and that's it for now!

18 août 2016 22:59:54 -- tags [ esp8266 , wifi , homie , platformio , IoT , MQTT ]

3 février 2018 02:53:27 - WinnerAmeks

If you’re interested in winning millions, then I’m here to help! At <a>Casino</a> you can play over 450 world-class games and I’m giving you an exclusive Welcome Bonus to get you stuck into winning. Use it today to increase your chances of hitting our jackpots. All you have to do is <a>sign up today</a> and watch the rewards come rolling in. <a>Prepare to hit the big time</a> <a>Hacer giros para ganar millones</a> <a>Holen Sie sich spinnen, um Millionen zu gewinnen</a> <IMG></IMG>

13 mars 2018 01:13:43 - Josephmub

Very good content. Thank you! cialis di bandung <a href="">cialis for erectile dysfunction</a> venda cialis online <a href=>cialis generic</a>

25 juin 2018 17:04:05 - Webseokl

<img src=""> <a href=><img src=""></a> Существуют сайты, которые бесплатно согласны размещать качественные статьи со ссылками на Ваш проект. Я составил небольшой список жирных бесплатных каталогов статей, где можно разместить статьи со ссылками на свой сайт бесплатно. Всем советую это сделать. Главное в ответе не забыть вставить ссылку на страницу с продвигаемым текстом; Информационные сервисы <b><u><a href=>продвижение сайта в интернете статьи</a>. </b></u> Также можно поискать услуги прогона по каталогам статей. Правда площадки где размещаются статьи никак нельзя назвать "качественными", поскольку они засорены статьями с ссылками. Так что я бы на вашем месте подумал стоит ли оно того. Услуга стоит в районе 1000-3000 рублей. За эти деньги Вы получите размноженные статьи (штук 100..1000) и соответственно столько же размещенных ссылок. Размноженные статьи обладают низким качеством и напоминают скорее спам. Вы, наверное, слышали о таком сервисе, как Subscriberu? <a href=>раскрутка сайта бесплатно в google</a>. Я бы использовал этот метод лишь для разбавления ссылочного профиля - не более того. Т.е. на 30 качественных статей на трастовых сайтах, один прогон можно сделать. tag: <u><b>продвижение сайта компании, </b></u> продвижение сайта, сео продвижение сайта это, seo продвижение сайта книга, как раскрутить сайт в яндексе бесплатно, книга оптимизация и продвижение сайтов в поисковых системах скачать бесплатно, раскрутить сайт стоимость, <b><u>самостоятельная раскрутка и продвижение сайтов, </b></u> как раскрутить сайт в сети, продвижение сайта туристической компании, <u><b>продвижение интернет магазина в яндексе, </b></u> раскрутка сайтов, <img src="">;u=694618

25 juin 2018 20:57:27 - Webseokl

[img][/img] [url=][img][/img][/url] Обязательно прописывайте в каждой статье заголовок (Title) и описание (Description). Именно по заголовку поисковые системы понимают о чем идет речь в статье. До Сих пор заголовок является определяющим фактором при ранжировании. Так отображается заголовок и описание в Яндексе. Найти хорошие статейные площадки [b][u][url=]михаила шакина как раскрутить сайт с нуля в Ижевске[/url]. [/b][/u] 2. Ключевое слово. Определите ключевое слово, под которое будет писаться новая статья. Обязательно укажите его в TITLE и H1. Старайтесь использовать ключевое слово в первом абзаце статьи. Не надо стараться впихнуть как можно больше ключевых слов в текст. Этим Вы только можете навредить себе. Критерием хорошей площадки для статей должна служить его посещаемость, так как вам нужна, прежде всего, аудитория [url=]seo продвижение сайта в Ижевске[/url]. Поисковые системы становятся умнее каждый день, они уже используют искусственный интеллект и выявляют такие манипуляции с легкостью. Лучше сосредоточьтесь на качестве статьи. 3. Внутренние ссылки. теги: [u][b]продвижение сайтов seo форум г Ижевск, [/b][/u] оптимизация сайта для поисковых систем самостоятельно г Ижевск, самостоятельное seo продвижение г Ижевск, как раскрутить сайт в гугле и яндексе Ижевск, продвижение сайта бесплатное г Ижевск, раскрутить сайт самостоятельно бесплатно г Ижевск, продвижение сайтов зачем это нужно Ижевск, [b][u]как раскрутить свой интернет магазин бесплатно г Ижевск, [/b][/u] раскрутка в Ижевске, продвижение сайтов в Ижевске, [u][b]оптимизация сайта в поисковых системах г Ижевск, [/b][/u] раскрутка сайта цены г Ижевск, [img][/img]

21 juillet 2018 00:55:51 - Roberttreax

The Simpsons broadside cards and posters. Diverse more products are available in our Children's (TV) head or see all TV. Posters and prints are also ready framed or laminated. Cartoons are predominantly appropriate in support of children of all ages, but very few of them are aimed at adults while at rest being enjoyed not later than the petite ones. The Simpsons are such an omission, with the funny characters bringing a smile on the faces of the only slightly ones and prompting adults to laugh at the piquant jokes. The Simpsons Posters at perform the enduring good fortune of identical of the most popular franchises in tv an also a duty a decorative purpose. Brake in [url=]simpsons safety posters[/url] for significant deals every day. We scram crowd wide to any remember in the World.

2 novembre 2018 21:43:03 - ShawnAnism

????? ??? ? ????? ??? ?? ?? ???? ????? ?? ???? ??? ????, ??? ?? ?? ??? ?????.

7 novembre 2018 15:27:51 - Degiver

>FREE Hack 2019 Get from this: [url=]from this[/url] Tiktok LIKES Hearts 2019 GET FREE Tiktok FOLLOWERS AND LIKES 2019 GET Tik Tok FOLLOWERS WITHOUT DOWNLOADING APPS 2019 Tiktok LIKES APK 2019

29 novembre 2018 13:26:08 - AndreyWax

Продвижение Вашего сайта в первых строках поисковых систем Яндекс и Google. Interpult Studio Всегда эффективно!

30 décembre 2018 12:45:28 - mimiferak

Whether you utilize it to point to your personal blog for Seo results, or simply use the blogging platform by itself, you will want to take advantage of this tool with audio and video educating for the most cuttingedge blogging for traffic blueprints available on the web today. [url=]Wholesale NFL Jerseys Cheap[/url].This Versativa review clearly shows that this is a company worth considering.You might want to check out their ‘Pulse’ range, these are a range of 26 organic and/or clean raw foods that are not only healthy, but taste great too!They have also produced a small bar version of it which would be useful if you were giving presentations to potential customers and distributors, you can give them a product sample.Currently, the United States is experiencing a multistate measles outbreak that started at Disneyland in December 2014, although the index case has not yet been identified.[url=]Wholesale Jerseys Free Shipping[/url].Apart from basketball, Rodman also attracted international attention for his visits to Democratic People's Republic of Korea (DPRK) and his friendly relationship with the DPRK top leader Kim Jongun."The possibilities are endless for U. The Samsung Galaxy XCover is airborne dirt and dust resistant. This would give you the general feeling of what to expect to spend. You can be your own businessperson.Because of the way the compensation plan is designed and the fact that the company has such a strong backing, you can promote it with complete confidence. You can place your own custom images, use custom fonts and add in other unusual business card details such as slogans or quotations.[url=]Cheap Nike NFL Jerseys Wholesale[/url]. This will not necessarily lead to any damage to the phone.<br>Visit my site

28 janvier 2019 00:07:24 - TommyDoori

Клуб #RAZBOGATEI - ВЫПЛАЧИВАЕТ ИСПРАВНО КЛУБ УСПЕШНЫХ ЛЮДЕЙ РАЗБОГАТЕЙ . Доход БЕЗ приглашений как ВЫ ЛЮБИТЕ! Прибыль с 5 ПЛОЩАДОК более 7 МИЛЛИОНОВ РУБЛЕЙ !!! Просто БОМБА!!! Хватит ждать! Регистрируйся по ссылке, активируй все площадки и получай прибыль на автомате Регистрация, Активация #млм #работанадому #бизнесонлайн #зароботоквсети #РЕФЕРАЛЫ

14 février 2019 08:30:20 - VaniaMLM

[b] Привет [/b] Приглашаем на стартовый курс занятий по увеличению дохода в сетевом бизнесе Смотрим тут - [url=]Как заработать в сетевом бизнесе[/url]

15 février 2019 02:19:40 - KonstantinTL

<a href=>links</a> <a href=>ссылки</a>

17 février 2019 14:57:27 -

искал инфу в интернете, пока не нашел вот этот сайт <a href=>prom electric</a> Для меня информация на этом сайте оказалась Очень полезной. Всем успехов