建网站可以卖钱,网站开发后端作用,seo标题优化,河南省住房和城乡建设厅查询网站首页实验基本拓扑就是#xff1a;
esp32c3开发板通过Wifi模块连上局域网#xff0c;局域网一台服务器通过FastAPI提供8000端口的web服务#xff0c;在esp32c3开发板中烧录micropython固件#xff0c;在python交互模式下#xff0c;连上Wifi模块#xff0c;并使用socket模块获…实验基本拓扑就是
esp32c3开发板通过Wifi模块连上局域网局域网一台服务器通过FastAPI提供8000端口的web服务在esp32c3开发板中烧录micropython固件在python交互模式下连上Wifi模块并使用socket模块获取8000端口的web数据信息。
下面为AI画图意思到了细节就不追究了 快速启动测试web服务器
启动8000端口的web服务首先 安装fastapi库
pip install fastapi[standard]
创建openapi.py文件
from fastapi import FastAPIapp FastAPI(openapi_url/api/v1/openapi.json)app.get(/items/)
async def read_items():return [{name: Foo}]
启动web服务
然后执行
fastapi run openapi.py启动后显示
INFO Using import string openapi:app ╭─────────── FastAPI CLI - Production mode ───────────╮ │ │ │ Serving at: http://0.0.0.0:8000 │ │ │ │ API docs: http://0.0.0.0:8000/docs │ │ │ │ Running in production mode, for development use: │ │ │ │ fastapi dev │ │ │ ╰─────────────────────────────────────────────────────╯ INFO: Started server process [82331]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRLC to quit)在本次实验里web服务器的ip地址为192.168.0.101 所以后面开发板里需要设置这个ip地址。 esp32c3开发板配置 esp32c3开发板烧录micropython 交互环境参见esp32c3安装micropython环境-CSDN博客
烧录好固件启动开发板进入micropython交互环境。usb串口连接开发板的方法参考esp32-c3开发板开箱第一步连上usb口看log信息-CSDN博客 usb串口连上开发板后可以先输入python命令测试一下比如 a 1b 2print(ab)
3 这样就证明python环境正常。
将下面代码黏贴进去注意WiFi名字和密码需要修改为当前Wifi的信息
# connect/ show IP config a specific network interface
import network
import time
nic network.WLAN(network.STA_IF)
nic.active(True)
# nic.scan()
if not nic.isconnected():nic.connect(showwifi网络, wifi密码)print(Waiting for connection...)while not nic.isconnected():time.sleep(1)print(nic.ipconfig(addr4))# now use socket as usual
import socket
addr socket.getaddrinfo(192.168.0.101, 8000)[0][-1]
s socket.socket()
s.connect(addr)
s.send(bGET /items/ HTTP/1.1\r\nHost: \r\n\r\n)
data s.recv(1000)
s.close()print(data)注意因为开发板缓冲区有限所以需要分段黏贴代码分段执行。
运行后应该输出data信息 print(data)
bHTTP/1.1 200 OK\r\ndate: Sun, 17 Nov 2024 02:17:24 GMT\r\nserver: uvicorn\r\ncontent-length: 16\r\ncontent-type: application/json\r\n\r\n[{name:Foo}]
可以看到最后一部分的输出application/json\r\n\r\n[{name:Foo}
这部分输出跟浏览器看到的信息一样证明实验成功 一块十几元的开发板就可以登录web网站能从web网站拿到自己需要的信息真的太了不起了
况且esp32c3的主频达到160MHz这已经达到当年奔腾2 CPU的主频程度了很多工作它都可以做了科技的进步真的很快
esp32c3FastAPI大有可为啊