Skip to content

Release 2.0.rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@tve tve released this 21 Sep 04:36
· 367 commits to master since this release

This is a release candidate

For a stable release please use: https://github.com/jeelabs/esp-link/releases/tag/v1.0.4

Warnings

  • This release does not fit into 512KB flash, it requires larger flash (e.g. as typically found in esp-12 modules).
    If your module has 512KB flash, try the latest V1 release.
  • If your module has a 512KB version of esp-link V1 flashed you cannot upgrade over-the-air,
    you have to serially flash the larger firmware - sorry.
  • If you are using an Adafruit Huzzah module then you should select the esp-bridge pin-out (default) and add an external 4.7k-10k pull-up directly on the esp module's RX pin, alternatively, recompile esp-link to change https://github.com/jeelabs/esp-link/blob/master/serial/uart.c#L63 to PIN_PULLUP_EN, this will be a UI option in the next release...

Features:

  • over-the-air (OTA) reflashing of the esp
  • port 23 transparent bridge, port 2323 programming bridge
  • AVR & ARM flashing support (port 23 and 2323)
  • outbound TCP connections from attached micro-controller to the internet
  • outbound HTTP REST requests from attached microcontroller using espduino library and protocol (NEW in 2.0)
  • built-in MQTT client that can be used by attached uC using espduino library and protocol (NEW in 2.0)
  • console page to see the attached uC's output
  • simple debug log page to view the esp-link's own os_printf output
  • buttons to reset the uC and change the baud rate
  • pin configuration selector to change GPIO function assignments
  • web page to configure MQTT client and built-in status message publishing
  • saving of configuration changes in flash

Changes since v2.0.beta2:

  • new feature: MQTT client
  • tweaked AVR programming (drop initial sync chars)
  • improved serial buffering for continuous transmission
  • switch to SDK 1.4.0

This version uses the Espressif IOT SDK version 1.4.0.

Install via serial upload

The short version for the serial install is:

  • flash boot_v1.4(b1).bin from the official esp_iot_sdk_v1.4.0 and included in the release tgz to 0x00000
  • flash blank.bin from the official SDK and also included in the tgz to 0x3FE000
  • flash user1.bin to 0x01000

On Linux using esptool.py this turns into the following for a 32mbit=4MByte flash chip, such as an esp-12 module typically has:

curl -L https://github.com/jeelabs/esp-link/releases/download/v2.0.rc1/esp-link-v2.0.rc1.tgz | tar xzf -
cd esp-link-v2.0.rc1
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 32m -ff 80m 0x00000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x3FE000 blank.bin

I use a high baud rate as shown above because I'm impatient, but that's not required.

Upgrade over-the-air

To upgrade from an earlier version of esp-link:

curl -L https://github.com/jeelabs/esp-link/releases/download/v2.0.rc1/esp-link-v2.0.rc1.tgz | tar xzf -
cd esp-link-2.0.rc1
./wiflash <esp-hostname> user1.bin user2.bin

Installing esptool.py

On Linux use esptool.py to flash the esp8266.
If you're a little python challenged then the following install instructions might help:

  • Install ez_setup with the following two commands (I believe this will do something
    reasonable if you already have it):

    wget https://bootstrap.pypa.io/ez_setup.py
    python ez_setup.py
    
  • Install esptool.py:

    git clone https://github.com/themadinventor/esptool.git
    cd esptool
    python setup.py install
    cd ..
    esptool.py -h