class ESP8266 - Control ESP8266
This class controls ESP8266
.
Constructor
ESP8266
class ESP8266(uart=UART.UART1, mod=ESP8266.STA, callback=None)
Load ESP8266 driver, initialize the virtual Wi-Fi module and return the ESP8266 object.
Parameter
uart
- Module UART option, indicating theUART ID
that the module connects to ESP8266. Default:UART1
.mode
- The working mode of the Wi-Fi module, which specifies theworking mode
of ESP8266. The working mode of station mode is ESP8266.STA, while the working mode of AP mode is ESP8266.AP. Default:Station
mode.callback
- Enable or disable the callback function, used for the notifications ofnetwork changes
andOTA upgrades
. Default: disable.
callback Parameter
content
- The reported content.
The Reported Content
Once the callback function is enabled, the module will report the notifications when an OTA upgrade occurs and the network connectio mode changes in station
mode.
Report ota
information:
ota,begin
- OTA upgrade starts.ota,downloading,xx
- Percentage of OTA upgrade.ota,restart
- Reboot after the OTA upgrade is completed.ota,err_code,x
- OTA upgrade error code.1
- Failed to analyze the URL2
- Failed to connect to the HTTP server3
- Failed to allocate memory for a GET request4
- Failed to send a GET request to the server5
- An error occurred when the OTA upgrade started6
- Failed to receive data7
- Failed to write OTA upgrade files8
- An error occurred when the OTA upgrade ended9
- Failed to set boot partition
Report the network connection change in station
mode:
station, connected
- The Wi-Fi has been connected.station, disconnected
- The Wi-Fi has been disconnected.
Example
# callback Example
from usr.WLAN import ESP8266
from machine import UART
def cb(args):
content = args
print('wifi content:{}'.format(content))
ESP8266 = ESP8266(UART.UART2, ESP8266.STA, cb)
Method
ESP8266.status
ESP8266.status()
Gets the Wi-Fi module status to determine the current working mode of the Wi-Fi module.
Return Value
Integer type. The enumerations are as follows.
0
- ESP8266 does not exist.1
- ESP8266 station mode has been connected.2
- ESP8266 station mode has not been connected.3
- ESP8266 web mode4
- ESP8266 AP mode5
- ESP8266 OTA upgrading
ESP8266.version
ESP8266.version()
Gets the current firmware information of the Wi-Fi module.
Return Value
String type. Format: (sdk, model, version, time).
sdk
- SDK informationmodel
- Wi-Fi module modelversion
- Version numbertime
- Version time
ESP8266.ipconfig
ESP8266.ipconfig()
Gets the current network configuration of the Wi-Fi module, including the IP address and DNS server.
Return Value
A Tuple (ip, subnet, gateway, mtu, primary_dns, secondary_dns).
ip
- IP addresssubnet
- Subnet maskgateway
- Gateway addressmtu
- Maximum transmission unitprimary_dns
- IP address of the primary DNS serversecondary_dns
- IP address of the secondary DNS server
ESP8266.station
ESP8266.station(username,password)
Enables the Wi-Fi module to work in station
mode to connect to a specified Wi-Fi router.
Parameter
username
- Name of the Wi-Fi to be connected. Range: 1–32 characters.password
- Password of the Wi-Fi to be connected. Range: 8–64 characters.
Return Value
0
- Successful execution
Other values - Failed execution
ESP8266.ap
ESP8266.ap(username,password)
Enables the Wi-Fi module to work in ap
mode as an AP.
Parameter
username
- Name of theWi-Fi hotspot
. Range: 1–32 characters.password
- Password of theWi-Fi hotspot
. Range: 8–64 characters.
Return Value
0
- Successful execution
Other values - Failed execution
ESP8266.web_config
ESP8266.web_config(username,password)
Enables the Wi-Fi module to work in web
mode. You can configure the network on the web page.
Note: After enabling the network configuration, use a terminal device such as a mobile phone or computer to connect to a Wi-Fi module (with a custom name and password) over a wireless network. Then enter 192.168.4.1 in the browser to access the web page.
Parameter
username
- Name of theweb hotspot
. Range: 1–32 characters.password
- Password of theweb hotspot
. Range: 8–64 characters.
Return Value
0
- Successful execution
Other values - Failed execution
ESP8266.ota
ESP8266.ota(url)
Updates the firmware after an OTA upgrade
is enabled.
Note: Only when the module is in station mode can the module be upgraded over the air. In the OTA upgrade process, you can only query the current status rather than perform any other operation.
Parameter
url
- The URL of firmware download. Only HTTP is supported currently. Length: up to 256 bytes.
Return Value
0
- Successful execution
Other values - Failed execution
Example
url='http://www.example.com/fota.bin'
ESP8266.ota(url)
ESP8266.stop
ESP8266.stop()
Releases the virtual Wi-Fi module configured for the Wi-Fi module.
Return Value
0
- Successful execution
Other values - Failed execution
ESP8266.set_default_NIC
ESP8266.set_default_NIC(ip_str)
Specifies the Wi-Fi module to forward the network.
Parameter
ip_str
- String type. The IP address of the Wi-Fi module used by default to forward network data, such as '192.168.1.100'.
Return Value
0
- Successful execution
Other values - Failed execution
ESP8266.set_dns
ESP8266.set_dns(pri_dns, sec_dns)
Specifies the DNS server
of the Wi-Fi module for IP address resolution.
Parameter
pri_dns
- IP address of theprimary DNS
server. Default value:8.8.8.8
.sec_dns
- IP address of thesecondary DNS
server. Default value:114.114.114.114
.
Return Value
0
- Successful execution
Other values - Failed execution
ESP8266.router_add
ESP8266.router_add(ip, mask)
Sets forwarding rules of the Wi-Fi module.
Parameter
ip
- IP address of the Wi-Fi module inAP
mode. Default value: 192.168.4.1.mask
- Subnet mask. Default value: 255.255.255.0.
Return Value
0
- Successful execution
Other values - Failed execution