Remote development over WiFi Dec 2016
There’s a fascinating option for the JeeNode Zero, called the esp-link by Thorsten von Eicken. He also created a little board with a switching regulator, the ESP8266, and an FTDI header, and calls that a “WiFi-link”. The result is essentially like a “BUB/SerPlus over WiFi”:
The esp-link firmware turns the ESP8266 into a transparent bridge from WiFi to FTDI serial, with the ability to control the DTR and RTS signals (RTS reuses the CTS pin next to GND for this purpose, just like the modified BUB and the SerPlus).
The WiFi-link includes an efficient on-board switching regulator, so that the combination of WiFi-link and JeeNode Zero can easily be powered off a single supply (both boards will work with anything from 3.6V to at most 5.5V). Such as this LiPo-based “USB power bank”:
This gives you remote console access to Forth on a JeeNode Zero, including the ability to reset it and send files. Here is an example, setting up the node to report incoming RF69 packets:
$ folie -p 192.168.188.58:23 [connected to 192.168.188.58:23] ok. !reset Mecrisp-Stellaris RA 2.3.2 with M0 core for STM32L053C8 by Matthias Koch 64 KB <jnz> 32390236 ram/flash: 4928 20608 free ok. ok. 8686 rf.freq ! ok. 6 rf.group ! ok. rf-listen RF69 21EE0600000000C00107 8103FE42E08080 RF69 21EE06DA010208C00107 8103FD42E68080 RF69 21EE06D801FDDEC00107 8103FD42E78080
It’s really no different from using a direct USB-to-serial connection with a SerPlus. The only change is how Folie is told to set up a socket-based Telnet connection. And since Folie and the esp-link both support Telnet escapes, CTRL-C will force a remote hardware reset of the JNZ.
Please do keep in mind that anyone with access to your WLAN will be able to gain full control over the attached unit, JeeNode Zero or otherwise.
Here is the schematic (PDF) of the WiFi-link board:
Other configurations are also possible: the esp-link project on GitHub is extremely well documented – esp-link is in fact capable of a lot more than just acting as serial gateway. There’s a web server built-in, including a console to talk directly to the attached board:
The settings used in combination with a JeeNode are as follows (responsive layouts, yeay!):
There are still some rough edges in combination with Folie, but the latest revision of esp-link includes full support for remote re-flashing. In other words: total control over the attached JeeNode Zero, for uploads, hard resets, and serial I/O - all through a single Telnet session.