Page 2 of 2

Re: Build how to?!?

Posted: Mon Dec 30, 2019 5:31 pm
by jedie
How i have a own working firmware with freezed modules. Nice. But it's not really practical without OTA Updates.

It seems a pure python solution is not possible, see: viewtopic.php?f=2&t=7468

So the only way seems to be yaota8266: viewtopic.php?f=16&t=3262

On the other side: For me it looks like, that yaota8266 project it not really good maintained, see: https://github.com/micropython/micropyt ... -569740745

So how to build an OTA firmware and how to perform the OTA update???
I will take a look into: https://schinckel.net/tags/yaota/

Re: Build how to?!?

Posted: Mon Dec 30, 2019 8:07 pm
by jedie
I created a small project to build yaota8266 via docker -> https://github.com/jedie/docker-yaota8266

Re: Build how to?!?

Posted: Tue Dec 31, 2019 11:57 am
by jomas
I think the whole build procedure with 'open-esp-sdk' for the esp8266 should be updated.

1. It uses SDK-2.1.0 which is from 2017, so almost 3 years old. Even the latest version 3.0.0 will not be updated anymore.
Espressif will only supply bugfixes for 3.0.0.

2. Also Espressif advise to use the 'ESP8266 RTOS SDK'. (see README of https://github.com/espressif/ESP8266_NONOS_SDK)

3. The Xtensa compiler is build with standalone=y which makes it more difficult to integrate a new Espressif SDK.
I think the compiler (which works well) and the SDK's should be separated.

4. There are scripts used that only work with python2.


I think 1. is easy because there are already non implemented PR's.
3. Will need some extra includes I guess.
4. Should be easy too.

For 2. I really have no idea how to implement this.

Re: Build how to?!?

Posted: Wed Jan 01, 2020 1:31 pm
by jedie
jomas wrote:
Tue Dec 31, 2019 11:57 am
I think the whole build procedure with 'open-esp-sdk' for the esp8266 should be updated.
Maybe, i don't know and this is beyond my ability.

I have at least got it together so that I can easily create the OTA firmware and yaota8266.bin see: viewtopic.php?f=5&t=7367&p=42704#p42704

In the end it's done by two docker images:

* Compile yaota8266.bin via docker: https://github.com/jedie/docker-yaota8266
* Compile micropython firmware via docker: https://github.com/jedie/docker-micropython