Before you build meta-id, consider that you can download ready-made firmware images! Just head over to the release section and download the tgz archive.
If you decide to build your own, there are a number of options:
Once you have built the firmware you will want to flash it to your esp8266 module. Assuming you already have meta-id running you can either go back to the initial flashing via the serial port or you can use the over-the-air (i.e. Wifi) update method, which is faster and more reliable (unless you have a non-booting version of meta-id). The OTA flashing is described at the end of this page, the serial flashing is described in FLASHING.md.
For every commit on github an automated build is made. This means that every branch, including
master, and every pull request always has an up-to-date build. These builds are made by Travis
using the instructions in .travis.yml
, which basically consist of cloning the meta-id repo,
downloading the compiler toolchain, downloading the Espressif SDK, and running make
.
If you're looking for how to build meta-id the travis instructions will always give you
accurate pointers to what to download.
The firmware has been built using the https://github.com/pfalcon/esp-open-sdk[esp-open-sdk]
on a Linux system. Create an esp8266 directory, install the esp-open-sdk into a sub-directory
using the non-standalone install (i.e., there should not be an sdk directory in the esp-open-sdk
dir when done installing, if you use the standalone install you will get compilation errors
with std types, such as uint32_t
).
Download the Espressif "NONOS" SDK (use the version mentioned in the release notes) from their http://bbs.espressif.com/viewforum.php?f=5[download forum] and also expand it into a sub-directory. Often there are patches to apply, in that case you need to download the patches from the same source and apply them.
You can simplify your life (and avoid the hour-long build time for esp-open-sdk) if you are
on an x86 box by downloading the packaged and built esp-open-sdk and the fully patches SDKfrom the
links used in the .travis.yaml
.
Clone the meta-id repository into a third sub-directory and check out the tag you would like,
such as git checkout v2.2.3
.
This way the relative paths in the Makefile will work.
If you choose a different directory structure look at the top of the Makefile for the
appropriate environment variables to define.
Do not use the source tarballs from the release page on github,
these will give you trouble compiling because the Makefile uses git to determine the meta-id
version being built.
In order to OTA-update the esp8266 you should export ESP_HOSTNAME=...
with the hostname or
IP address of your module.
Now, build the code: make
in the top-level of meta-id. If you want to se the commands being
issued, use VERBOSE=1 make
.
A few notes from others (I can't fully verify these):
zlib1g-dev
and python-serial
esp-open-sdk/xtensa-lx106-elf/bin
is in the PATH set in the MakefileIt is possible to build meta-id on Windows, but it requires a gaggle of software to be installed