树莓派养成之路 ——微信远程GPIO控制

来源:互联网 发布:删除数据库下所有表 编辑:程序博客网 时间:2024/05/29 19:24

前言

上篇文章做了个小测试程序python对树莓派GPIO引脚控制实现了流水灯,本篇继续深入实现微信远程控制LED流水灯

正文

先看下整体的框架

这里写图片描述

简单说明
这里借用两个微信号,互为好友。其中微信1做为服务端部署在树莓派上;微信2做为客户端用户通过微信2发出指令,实现远程控制。

技术要点
1. 树莓派调用LED灯上篇已经实现树莓派养成之路 ——GPIO控制
2. 服务端微信1使用itchat1.

实现方法

1 、 树莓派上安装itchat库

pip install itchat 

2 、 编写服务端程序,得到命令后调用led.py控制LED灯

itchatBot.py

import itchatimport led#itchat框架,关注TEXT消息@itchat.msg_register(itchat.content.TEXT)def text_reply(msg):    #得到任何text消息就打开流水灯,最后原消息返回    led.openLed()    print(msg.text)    return msg.textitchat.auto_login(enableCmdQR=2)itchat.run() 

led.py

import RPi.GPIO as GPIOimport timedef 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控制》


  1. itchat littlecodersh大牛对网页微信封装的一套API ↩
原创粉丝点击