赞
踩
很喜欢ESP系列的产品,结合micropython很轻松就可以开发出一个精简的物联网产品(当然Adruino开发也很不错),其提供的蓝牙、WIFI支持也可以让我们可以快速进行通信,唯一的缺憾就是web服务的开发有些简陋,对于习惯了springboot、fastapi和flask开发的我来说,micropython没有直接支持的类似库,写代码多少是有些疼痛的!
我在网上找了一圈,发现几个不错的:
这两个功能都很强大,一般web服务所需的支持应有尽有,使用方式也很丝滑,不过强大就意味的它们的依赖有点多,使用的时候需要花一些心思以及硬件的计算资源得稍微有些硬核!
本人使用的较多是ESP8266以及ESP32,硬件资源有限,也不需要那么多的web支持:
权衡之下,开发了一个简单http服务库,命名为microhttp,分享出来给相同需求的人使用,也希望能够得到进一步的优化和完善!
拷贝microhttp.py文件到硬件的根目录即可,使用micropython原生socket支持,无第三方依赖
from microhttp import WebServer app = WebServer() @app.get('/') def index(request,response): # 默认返回类型为 application/json # 特殊情况下可以更改 response.content_type='text/html' return """ <h2>你好</h2> """ @app.get('/testget') def testget(request,response): # 获取get参数:dict类型 print('test testget:',request.route_param) return {'state':1,'message':"get成功"} @app.post('/testpost') def testpost(request,response): # 获取post参数:dict类型 print('test testpost:',request.body_param) return {'state':1,'message':"post成功"} @app.put('/testput') def testput(request,response): print('请求',request) print('test testput') return {'state':1,'message':"put成功"} app.run(blocked=True,port=80)
欢迎提提建议,谢谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。