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

前言

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

正文

先看下整体的框架

这里写图片描述

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

技术要点
1. 树莓派调用LED灯上篇已经实现树莓派养成之路 ——GPIO控制
2. 服务端微信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控制》


  1. itchat littlecodersh大牛对网页微信封装的一套API
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值