用python来做物联网设备(六)-websocket服务端
既然是物联网设备,当然要万物互联,我选择websocket作为ESP32与服务器的通信方式。使用websocket的好处很多,特别是可以保持长连接,至于websocket协议与通信方式不做太多涉及。
我选择websockets库作为PC服务端的开发插件,这个项目在github的星数有2.4k,那就说明这个项目足够优秀才会有这么多人使用:
在电脑使用pip安装websockets,输入pip install websockets:
打开项目的文档地址:https://websockets.readthedocs.io/en/stable/intro.html,参照server demo和client的demo:
运行一下:
PC端主要是运行server,那来规划下我们的数据传输,我准备使用Json格式来传递数据,我们先使用最简单的方式来实现通讯:
1、client数据格式:{“type”:”1”,”data”:{”t”:”26.3”,”h”:”69”},”state”:”1”}
2、服务端数据格式:{“state”:”1”,”o”:”update”}
暂时就这样,我们来更新下代码,PC主要运行服务端,重点改变下服务端:
将client改为:
运行一下:
我们看到运行情况,基本可以跑通,接着就是在ESP32实现websokce client,我们的ESP32构建的物联设备就可以实现将数据上传到服务器,在服务端增加数据存储到数据库,我们就基本实现了一个数据的上传与存储。