ESP8266 是一款功能强大的物联网芯片,支持 Wi-Fi 功能,并且可以通过 MicroPython 编程语言轻松实现各种应用。本文将详细介绍如何快速上手 ESP8266 使用 MicroPython 进行开发,包括环境搭建、基本操作以及一些实用示例。
PuTTY
或 minicom
。.bin
文件)。esptool
,可以通过 pip 安装:
pip install esptool
/dev/ttyUSB0
,请根据实际设备调整):
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 --baud 115200 write_flash -z 0x1000 esp8266-<version>.bin
115200
。help()
查看可用命令。以下代码展示了如何连接到 Wi-Fi 网络:
import network
# 创建一个 Station 对象
sta_if = network.WLAN(network.STA_IF)
# 启用接口
if not sta_if.isconnected():
print('Connecting to network...')
sta_if.active(True)
sta_if.connect('your_ssid', 'your_password') # 替换为你的 Wi-Fi SSID 和密码
while not sta_if.isconnected():
pass
print('Network config:', sta_if.ifconfig())
使用 urequests
模块可以发送 HTTP 请求:
import urequests
response = urequests.get('http://httpbin.org/get')
print(response.text)
response.close()
控制 GPIO 引脚的示例代码:
from machine import Pin
import time
# 初始化 GPIO2 为输出模式
led = Pin(2, Pin.OUT)
while True:
led.value(1) # LED 关闭
time.sleep(1)
led.value(0) # LED 点亮
time.sleep(1)
WebREPL 是一种通过浏览器与 ESP8266 交互的方式。
import webrepl_setup
http://<ESP_IP>:8266
,输入密码即可连接。使用 umqtt.simple
模块可以轻松实现 MQTT 协议通信:
from umqtt.simple import MQTTClient
import time
# 定义 MQTT 客户端
client = MQTTClient("umqtt_client", "mqtt.example.com")
# 连接到 MQTT 服务器
client.connect()
# 发布消息
client.publish(b"test/topic", b"hello")
# 订阅主题
def sub_cb(topic, msg):
print((topic, msg))
client.set_callback(sub_cb)
client.subscribe(b"test/topic")
while True:
client.check_msg()
time.sleep(1)
client.disconnect()
利用 DHT11 温湿度传感器和 ESP8266,可以构建一个简单的温湿度监控系统。
import dht
import machine
from time import sleep
# 初始化 DHT11 传感器
d = dht.DHT11(machine.Pin(4))
while True:
try:
# 获取温湿度数据
d.measure()
temp = d.temperature() # 摄氏度
hum = d.humidity() # 百分比
print(f'Temperature: {temp}°C, Humidity: {hum}%')
except Exception as e:
print('Error:', e)
sleep(2)