通过WebSocket实现树莓派与手机通信
通过WebSocket实现树莓派与其它设备通信,本文除了常见的网页形式,还将以手机APP客户端(Android/IOS)方式实现,这也是为后面的远程控制硬件打基础。
『物联网』是近几年很火爆的一个概念,不过其实它远没有那么神奇。甚至可以简单地理解为通过网络连接/控制硬件,万物相连组成的网络即物联网,其基础就是网络通信。让其它设备发送指令给树莓派,树莓派再指令执行约定的动作即可实现远程控制硬件。
远程通信常见解决方案有很多,常见的有TCP/UDP/Http等,各种不同的通信协议各有优缺点。而这里我们采用 WebSocket协议,安利开始:
WebSocket,具有主动、实时特征的一种长全双工通信的持久化协议。最重要的是:WebSocket也是Html5规范的一部分,只需稍有Web基础,即可轻松上手
通信嘛,自然得有服务端与客户端。前面我们都是通过python进行GPIO操作,为方便后面程序对接,WebSocket服务端我们也以python脚本实现。
安装python-websocket-server
python-websocket-server:一个没有外部依赖的python包。如其名一样,安装后,我们即可以通过简单的代码轻松搭建WebSocket服务端,在此感谢那些热衷于做开源项目的开发者们。
GitHub主页:https://github.com/Pithikos/python-websocket-server
# 安装python-websocket-server最新版本(目前为0.4) pip install git+https://github.com/Pithikos/python-websocket-server # 或 pip install websocket-server
*一般别人的轮子,先让其跑起来再说修改/优化什么的是一个好习惯。