Download Latest Version Zimodem_3.6.1.zip (321.3 kB)
Email in envelope

Get an email when there's a new version of Zimodem

Home / Zimodem 1.0
Name Modified Size InfoDownloads / Week
Parent folder
Zimodem 1.0.zip 2016-08-08 22.9 kB
README 2016-08-08 5.9 kB
Totals: 2 Items   28.8 kB 0
Zimodem (C)2016-2016 Bo Zimmerman
Please read the LICENSE file for license information
Please read the NOTICE file for credits information

Intro:
This firmware, hereafter "Zimodem", provides an api for communication between a serial terminal and the ESP8266.  It simulates the old-style Hayes "AT" commands, so that the ESP8266 appears to the terminal as if it were a Hayes modem.  These "AT" commands may then be issued to the ESP8266 in order to force it to connect to a wireless access point, and from there to make one or more manageable connections to the internet.  It also includes a streaming serial "telnet" mode, and server/port listener capabilities.

The default baud rate that Zimodem establishes is 115200.  Be sure to use the commands below to set this to the proper baud rate for your terminal/host computer.

Building:
Zimodem was built using Arduino IDE rev1.6.10 with the  Arduino Generic ESP8266 Module installed from http://arduino.esp8266.com/stable/package_esp8266com_index.json

Using:
Upon initialization, or any time the ESP8266 is reset, Zimodem will display its version, and some information about the host hardware, and then read a configuration file from the internal SPIFFS to re-establish the previously set baud rate, and to attempt to re-connect to the previously connected wireless router.  The first time it is run, Zimodem will set a baud rate of 115200 and display INITALIZED to let you know that no previous configuration was found.  Once the serial terminal displays READY, it is ready to receive commands.

The command set is as follows (not case sensitive):

ATZ : closes all open socket connections (preserving the Access Point connection), stops all listeners, and resets the state of the Command processor to the saved configuration, preserving the current baud rate and wifi connection.

ATA/ : Repeats the previous command (no idea why...)

ATAn : Causes Zimodem to create a server listening on port n.  Normal connect messages received when a new connection comes in, which are then accessible with ATC commands. Listener is also be listed along with other connections using ATC0.

ATE0 : Turns serial terminal echo off.
ATE1 : Turns serial terminal echo on.

ATV0 : Turns off verbose responses mode (Uses Terse Numeric response mode)
ATV1 : Turns on verbose responses mode (Uses Word response mode)

ATX0 : Turns off extended response codes (1/CONNECT instead of 5/CONNECT 2, etc..)
ATX1 : Turns on extended response codes (5/CONNECT 2 instead of 1/CONNECT, etc..)

ATF0 : Turns off flow control
ATF1 : Turns on xon/xoff flow control

ATQ0 : Turns off quiet mode (Sends response codes)
ATQ1 : Turns on quiet mode (Stops sending response codes)

ATR0 : Suppresses linefeed (\n $0a) in end of lines.  Will only send carriage return (\r $0d).
ATR1 : Sends \r\n ($0d0a) as end of line string.
ATR2 : Sends \n\r ($0a0d) as end of line string.
ATR3 : Suppresses carriage return (\r $0d) in end of lines.  Will only send linefeed (\n $0a).

ATBn : Sets a new serial Baud Rate. Takes effect immediately.

ATW : List all wireless network access points scanned within range.  The response for each entry is the SSID, following by the RSSI, followed by an * character is the connection is encrupted.
ATWn : Where n > 0, this lists up to n wireless network access points scanned within range.  The response for each entry is the SSID, following by the RSSI, followed by an * character is the connection is encrupted.

ATD : Start a streaming connection between the current opened connection.  Use "+++" to exit back to Command mode.
ATDn : Where n > 0, this will start a streaming connection between the previously opened connection with an id the same as n.  Use "+++" to exit back to Command mode.
ATD"[HOSTNAME:PORT] : This opens a streaming connection between the terminal and the given host/port. Use "+++" to disconnect and exit back to command mode.
atdP : Adding a P after the D, but before the first argument causes connection input to be translated to PETSCII
atdT : Adding a T after the D, but before the first argument causes connection input to be translated per TELNET

ATC : Shows information about the current network connection in the following format "[CONNECTION STATE] [CONNECTION ID] [CONNECTED TO HOST]:[CONNECTED TO PORT]"
ATC0 : Lists information about all of the network connections in the following format "[CONNECTION STATE] [CONNECTION ID] [CONNECTED TO HOST]:[CONNECTED TO PORT]", including any Server (ATA) listeners.
ATCn : Where n > 0, this changes the Current connection to the one with the given ID.  If no connection exists with the given id, ERROR is returned.
ATC"[HOSTNAME]:[PORT]" : Creates a new connection to the given host and port, assigning a new id if the connection is successful, and making this connection the new Current connection.  The quotes and colon are required.

ATO : See ATC
ATO0 : See ATC0
ATOn : See ATCn
ATO"[HOSTNAME]:[PORT]" : See ATC"[HOSTNAME]:[PORT]"

ATH0 : Hangs up (disconnects and deletes) the current opened connection.
ATHn : Hangs up (disconnects and deletes) the open connection with the given id.  Closing a Server (ATA) listener does not close any connections received from that listener.

+++ : With a 1 second pause with no other characters afterwards, this will disconnect the current opened connection.

ATT"[MESSAGE]" : Transmit the given text string, with \r\n at the end, on the current connection.
ATTn : Where n > 0, this starts a transmit of exactly n bytes to the current connection.  The \n from entering this command must be followed by the n bytes to transmit.

AT&L : Reloads the saved configuration.
AT&W : Saves the current configuration: WiFi settings(ATW), baud rate (ATB), end of line (ATR) settings, flow control (ATF), echo mode (ATE), extended responses (ATX), verbose responses (ATV), quiet responses (ATQ)
Source: README, updated 2016-08-08