缘由:因为带钥匙实在麻烦,市面上的智能锁虽好,但是有点小贵,于是我们就想着能不能自己做一个用手机语音助手加上自己搭的客户端和服务端加上电机,做一个简易版低成本的智能门锁。
功能及应用流程介绍:用户只需要用手机语音助手下达开关门指令(需要在手机端设置命令),门锁服务端接收到移动客户端发送的指令,发送指令给门锁客户端并发送网页反馈,门锁客户端接收服务端命令并驱动电机执行开关门。
话不多说,我们来看一下门锁服务端代码实现吧~
import os,sys
import socket,time
#定义命令函数
def order(data):
#将接收到的数据以“换行符”分割并放入列表之中
datalist = data.split("\n")
#下一行代码不能删,不用的时候就注释掉,用于检查datalist里面的元素
#print(datalist)
#遍历datalist,若遍历到移动端的特定指令元素(key)就执行相应的指令
for i in datalist:
if(i=='Upgrade-Insecure-Requests: 1\r'):
print("open the door for master")
#客户端发指令给门锁客户端
msg = 'open'
door_sock.send(msg.encode('gbk'))
#客户端给移动端发送网页反馈
http_response = """\
HTTP/1.1 200 OK
Hello, World!
"""
sock.sendall(http_response.encode("utf-8"))
sock.close()
break