前言
上篇文章做了个小测试程序python对树莓派GPIO引脚控制实现了流水灯,本篇继续深入实现微信远程控制LED流水灯
正文
先看下整体的框架
简单说明
这里借用两个微信号,互为好友。其中微信1做为服务端部署在树莓派上;微信2做为客户端用户通过微信2发出指令,实现远程控制。
技术要点
- 树莓派调用LED灯上篇已经实现树莓派养成之路 ——GPIO控制
- 服务端微信1使用itchat1.
实现方法
1 、 树莓派上安装itchat库
pip install itchat
2 、 编写服务端程序,得到命令后调用led.py控制LED灯
itchatBot.py
import itchat
import led
#itchat框架,关注TEXT消息
@itchat.msg_register(itchat.content.TEXT)
def text_reply(msg):
#得到任何text消息就打开流水灯,最后原消息返回
led.openLed()
print(msg.text)
return msg.text
itchat.auto_login(enableCmdQR=2)
itchat.run()
led.py
import RPi.GPIO as GPIO
import time
def setup():
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11, GPIO.OUT)
GPIO.setup(13, GPIO.OUT)
GPIO.output(11, GPIO.LOW)
GPIO.output(13, GPIO.LOW)
def destroy():
GPIO.output(11, GPIO.LOW)
GPIO.output(13, GPIO.LOW)
GPIO.setup(11, GPIO.IN)
GPIO.setup(13, GPIO.IN)
def openLed():
setup()
GPIO.output(13, GPIO.HIGH)
for i in range(2):
GPIO.output(11,GPIO.HIGH)
time.sleep(1)
GPIO.output(11, GPIO.LOW)
time.sleep(1)
# destroy()
GPIO.cleanup()
if __name__=="__main__":
openLed()
后记
原计划是想部个服务,然后手机调服务的方式实现远程控。但想想这样是不是很不安全。使用微信做为渠道局限性大,但安全得到保障。下篇《siri远程GPIO控制》
-
itchat littlecodersh大牛对网页微信封装的一套API ↩︎