Skip to content

Release 2.1.beta6

Pre-release
Pre-release
Compare
Choose a tag to compare
@tve tve released this 19 Nov 06:20
· 320 commits to master since this release

Please use release 2.1.7 instead of this one, they're identical, but somehow github sorts them in an unfortunate order

This is a beta release

For a stable release please use: https://github.com/jeelabs/esp-link/releases/tag/v2.0.rc1

Warnings

  • 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.

Features:

  • port 23 transparent bridge, port 2323 programming bridge
  • AVR, ARM & esp8266 flashing support (port 23 and 2323)
  • built-in programmer for AVRs with optiboot (typical for Arduinos), auto-switches baud rate to 9600/57600/115200
  • outbound TCP connections from attached micro-controller to the internet
  • outbound HTTP REST requests from attached microcontroller using espduino library and protocol
  • built-in MQTT client that can be used by attached uC using espduino library and protocol
  • over-the-air (OTA) reflashing of the esp if your module has 1MB or more flash (e.g. esp-12 but not esp-01)
  • 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.1.beta5:

  • fix switching between dhcp and static IP
  • extend reset pulse so programming an esp8266 works

Changes since v2.1.beta4:

  • added automatic switching to 9600/57600/115200 baud when using built-in AVR programmer (it will try the baud rate set on the uC Console page first)
  • changed pin config to allow control over individual pin assignments
  • added option for internal pull-up on RX pin
  • merged "system name" shown in menu bar and "hostname" used for DHCP (and mDNS someday)
  • changed home page around
  • compiled with SDK v1.4.1_pre7

Changes since v2.1.beta3:

  • disabled mDNS 'cause free complains about memory already freed: I think the SDK's mDNS is buggy...
  • added option to select uart1 for debug log
  • added drop-down for baud rates, warning pgm baud rate selection is non-functional
  • fixed style of uC console page, now 100% height

Changes since v2.1.beta2:

  • uC console text input courtesy https://github.com/katyo
  • first cut at mDNS support, not happy yet...
  • first cut at supporting hidden SSIDs
  • improved click-to-edit name/description fields
  • extended AP+STA time before switching to STA-only

Changes since v2.1.beta1:

  • new esp-link summary card on home page with, among other things, info on the flash chip and configured size
  • new editable 12-character "name" displayed on home page and in left menu bar so you know which esp-link module you're looking at
  • new editable 128 character "description" displayed on home page so you can leave yourself a memo about this module

Changes since v2.0.rc1:

  • single image fits any esp module flash size, no OTA reflashing of esp-link with 512KB modules though
  • built-in optiboot programmer
  • attempt to fix crash when scanning and there are too many access points around (I have not been able to really test the fix yet)

This version uses the Espressif IOT SDK version v1.4.1_pre7.

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
  • be sure to use the commandline flags when flashing the bootloader to set the correct flash size

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.1.beta6/esp-link-v2.1.beta6.tgz | tar xzf -
cd esp-link-v2.1.beta6
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. For a 512KB flash module use `-fs 4m -ff40m' (that says 4Mbits and 40Mhz as opposed to 32Mbits at 80Mhz for the 4MByte flash modules).

Upgrade over-the-air

To upgrade from an earlier version 2.x of esp-link:

curl -L https://github.com/jeelabs/esp-link/releases/download/v2.1.beta6/esp-link-v2.1.beta6.tgz | tar xzf -
cd esp-link-2.1.beta6
./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