嵌入式与 WLAN 通信基础
嵌入式系统和 WLAN(无线局域网)的结合是物联网(IoT)领域的核心场景之一。通过集成 Wi-Fi 模块,嵌入式设备能够与其他设备或云平台进行通信,实现数据传输、远程控制和监测等功能。本文将以树莓派 Pico W 为例,探讨如何搭建硬件网络服务,并进一步结合 LangChain 和 LangGraph 实现云端大模型与本地硬件的多 Agent 交互。
嵌入式开发板连接 WiFi
在嵌入式开发中,除了基础的 LED 控制,利用 WiFi 进行网络通信是进阶必备技能。树莓派 Pico W 内置了符合 IEEE 802.11b/g/n 标准的 Wi-Fi 模块,支持 2.4GHz 频段。它既可以作为客户端发起请求,也可以作为服务端提供 HTTP 接口。
以下代码展示了如何在 MicroPython 环境下连接 WiFi 并初始化网络接口:
import machine
import network
import usocket as socket
# 设置 WiFi 连接
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('WIFI_NAME', 'WIFI_PASSWORD')
# 等待连接成功
while not wlan.isconnected():
pass
print('连接到 WiFi 网络...')
print('IP 地址:', wlan.ifconfig()[0])
# 设置 LED 灯的 GPIO 引脚
led = machine.Pin(2, machine.Pin.OUT)
注意:Pico W 仅支持 2.4GHz 频段,请确保路由器配置兼容。
树莓派作为服务端
为了让外部设备控制硬件,我们需要在 Pico W 上运行一个简单的 HTTP 服务器。该服务器监听特定端口,解析 GET 请求,并根据参数控制 GPIO 状态。
def web_server():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('0.0.0.0', 8080))
s.listen(5)
print('服务器已启动,等待客户端连接...')
while True:
conn, addr = s.accept()
request = conn.recv(1024).decode('utf-8')
print('Content = %s' % str(request))
response_body =
request:
led.value()
response_body =
request:
led.value()
response_body =
http_response =
conn.send(http_response.encode())
conn.close()
web_server()


