ESP8266 driver using the NodeMCU interface

Dependencies:   BufferedSerial

Dependents:   esp8266_nodeMCU1 esp8266_2_thingspeak1 Solarator_0-0-2 IoTBurglar_and_Fire_AlarmSystem ... more

Fork of ESP8266Interface by ESP8266

This is an alternative implementation of the ESP8266 driver that uses the NodeMCU firmware. The NodeMCU firmware provides a slightly larger feature set than the default firmware through a Lua interpreter.

Note

This library is currently in Alpha. It is not feature complete and has some bugs, proceed with caution. Fixes and patches are welcome!

Interface changes

  • SSID and passphrase moved out of ESP8266Interface constructor and to ESP8266Interface::connect
  • ESP8266Interface constructor provides optional timeout parameter to specify how long to wait for network operations

Note

NodeMCU defaults to a baud rate of 9600 instead of 115200 used by the default firmware.

Firmware

To install the NodeMCU firmware, follow the instructions on the Firmware Update wiki page using the nodemcu_integer_0.9.6-dev_20150406.bin binary at address 0x00000 instead of boot_v1.1.bin and user1.bin.

Since the NodeMCU firmware defaults to a baud rate of 9600, the Serial Passthrough program can be used to get direct access to the Lua interpreter running on the ESP8266.

Status

Working features:

  • TCP Client
  • UDP Client Transmit (Currently only UDP Server can recieve messages)
  • Single Connection at a time
  • Station Mode (Connects to AP)
  • DNS Lookups

To be implemented:

  • TCP Server
  • UDP Server
  • UDP Client recieve
  • Multiple Connections tracked through Lua variables
  • AP Mode (Act as access point)
  • IPV6 support (Existing issue with NodeMCU)

Files at this revision

API Documentation at this revision

Comitter:
screamer
Date:
Thu Oct 17 23:23:00 2013 +0000
Parent:
5:81e264dbbf03
Child:
8:04afe20d7927
Child:
10:131675c17372
Commit message:
Fixed @ return documentation tags

Changed in this revision

Wifly/Wifly.h Show annotated file Show diff for this revision Revisions of this file
WiflyInterface.h Show annotated file Show diff for this revision Revisions of this file
--- a/Wifly/Wifly.h	Thu Oct 17 23:12:55 2013 +0000
+++ b/Wifly/Wifly.h	Thu Oct 17 23:23:00 2013 +0000
@@ -73,7 +73,7 @@
     /**
     * Disconnect the wifly module from the access point
     *
-    * @ returns true if successful
+    * @return true if successful
     */
     bool disconnect();
 
@@ -82,7 +82,7 @@
     *
     * @param host host (can be either an ip address or a name. If a name is provided, a dns request will be established)
     * @param port port
-    * @ returns true if successful
+    * @return true if successful
     */
     bool connect(const char * host, int port);
 
@@ -91,7 +91,7 @@
     * Set the protocol (UDP or TCP)
     *
     * @param p protocol
-    * @ returns true if successful
+    * @return true if successful
     */
     bool setProtocol(Protocol p);
 
@@ -122,7 +122,7 @@
     /**
     * Check if a tcp link is active
     *
-    * @returns true if successful
+    * @return true if successful
     */
     bool is_connected();
 
@@ -163,7 +163,7 @@
     /**
     * Close a tcp connection
     *
-    * @ returns true if successful
+    * @return true if successful
     */
     bool close();
 
@@ -188,14 +188,14 @@
     * @param ACK string which must be acknowledge by the wifi module. If ACK == NULL, no string has to be acknoledged. (default: "NO")
     * @param res this field will contain the response from the wifi module, result of a command sent. This field is available only if ACK = "NO" AND res != NULL (default: NULL)
     *
-    * @returns true if successful
+    * @return true if successful
     */
     bool sendCommand(const char * cmd, const char * ack = NULL, char * res = NULL, int timeout = DEFAULT_WAIT_RESP_TIMEOUT);
     
     /**
     * Return true if the module is using dhcp
     *
-    * @returns true if the module is using dhcp
+    * @return true if the module is using dhcp
     */
     bool isDHCP() {
         return state.dhcp;
--- a/WiflyInterface.h	Thu Oct 17 23:12:55 2013 +0000
+++ b/WiflyInterface.h	Thu Oct 17 23:23:00 2013 +0000
@@ -22,8 +22,8 @@
 
 #include "Wifly.h"
 
- /** Interface using Wifly to connect to an IP-based network
- *
+ /**
+ * Interface using Wifly to connect to an IP-based network
  */
 class WiflyInterface: public Wifly {
 public:
@@ -70,7 +70,7 @@
   
   /** Get IP address
   *
-  * @ returns ip address
+  * \return ip address
   */
   char* getIPAddress();