初始化安装,连接过程

首先我们安装micropython固件到开发板上,首先用串口连接到电脑,mac同样可以。

这里是micropython固件的下载地址

1
https://micropython.org/download/ESP8266_GENERIC/

我们首先在mac或者linux终端来查找连接的串口设备(可以使用ubuntu虚拟机并且将串口连接到虚拟机)。这里就不再说windows端的操作了。

1
ls /dev/tty.*

搜索到串口设备之后,先进行刷固件操作。

在linux主机上安装python并且安装

1
pip install esptool

然后进行删除模块原有固件,并且刷micropython固件操作。

1
esptool.py --port /dev/ttyUSB0 erase_flash

上面为擦除,下面是刷。

1
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20170108-v1.8.7.bin

当然我们要提前把下载的固件放到当前目录下。

进行串口连接

1
screen 设备名 115200

这里是mac端的连接方式

在linux中可以采用picocom

1
picocom /dev/tty0 -b115200

连接上之后如图所示,就是一个python的操作界面!

image-20230830191525749

我们可以导入库os

1
2
import os
os.listdir()

可以查看当前目录下的文件。

可以进行写文件操作

1
f = open('data.txt', 'w')

连接无线网络

这里连接wlan网络

1
2
3
import network
sta_if = network.WLAN(network.STA_IF)
ap_if = network.WLAN(network.AP_IF)

sta是我们作为一个站点,想要连接路由器。ap是我们作为路由器(无线接入终端)等待别人的连接。

查看活跃状态

1
2
3
sta_if.active()
ap_if.active()
ap_if.ifconfig()

我们连接wifi之前首先开启sta服务

1
2
3
sta_if.active(True)
sta_if.connect('<your SSID>', '<your key>')
sta_if.isconnected()

检查是否连接成功。

1
sta_if.ifconfig()可以查看ip,网关和dns地址

我们也可以写一个函数来连接wifi

1
2
3
4
5
6
7
8
9
10
def do_connect():
import network
sta_if = network.WLAN(network.STA_IF)
if not sta_if.isconnected():
print('connecting to network...')
sta_if.active(True)
sta_if.connect('<ssid>', '<key>')
while not sta_if.isconnected():
pass
print('network config:', sta_if.ifconfig())

我们的micropython是支持socket库的,所以下面我们利用socket库。

GPIO引脚

将开发板连接到外部世界并控制其他组件的方法是通过 GPIO 引脚。并非所有引脚都可用,大多数情况下只能使用引脚 0、2、4、5、12、13、14、15 和 16。

温度和湿度

这里我们需要额外的模块比如温湿度模块DHT11, DHT22, AM2320等。然后插到ESP8266板子上

1
2
3
4
5
6
7
import dht
import machine
d = dht.DHT11(machine.Pin(4))

import dht
import machine
d = dht.DHT22(machine.Pin(4))

然后读取测量值即可

1
2
3
d.measure()
d.temperature()
d.humidity()