美文网首页物联网IOT创意开发玩转树莓派树莓派
Python+树莓派+人体红外感应模块 实现微信监控

Python+树莓派+人体红外感应模块 实现微信监控

作者: 高杆python | 来源:发表于2017-05-25 15:58 被阅读2702次

    上一篇文章《Python+树莓派 实现微信拍照、摄相机器人》中简单的实现了由手机微信控制树莓派摄像头拍摄照片及录像,并将拍摄文件回传至微信的功能,程序比较简单,
    今天要和大家分享的是在上一个微信拍照机器人的基础上增加一个人体红外该应模块,实现有人经过探测区域,将自动拍摄照片传至手机微信。

    1.准备材料
    在上次材料的基础上增加了一个人体红外感应模块 HC-SR501 和三根母对母的杜邦线

    人体红外感应模块

    2.模块链接说明
    分别将红外感应模块的正极(+)、负极(-)和输出(out)用杜邦线链接raspberry pi 3b 的GPIO 针脚1(3.3V)、针脚6和针脚12(这种链接方式亲自测试,安全,不用外加电阻即可用)

    3. Python源码(python3.x版本)

    from wxpy import *
    import picamera
    import time
    import  RPi.GPIO as GPIO
    #初始化
    GPIO.setwarnings(False)
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(12,GPIO.IN)
    bot = Bot()
    my_friend = bot.friends().search('高杆')[0]
    tuling = Tuling(api_key='8edce3ce905a4c1dbb965e6b35c3834d')
    # 自动回复
    @bot.register(msg_types=TEXT)
    def auto_reply_all(msg):
        if GPIO.input(12) == True:
            #初始化照相机
            camera = picamera.PiCamera()
            camera.led = True
            try:
                #捕获图像
                camera.vflip = True
                camera.capture('image.jpg')
            except:
                my_friend.send('PiCamera Error')
            else:
                my_friend.send_image('image.jpg')
            finally:
                camera.close()
        else:
            tuling.do_reply(msg)
        time.sleep(5)
    # 开始运行
    time.sleep(5)
    bot.join()
    

    4.代码分析
    代码依然比较简单,与上次不同的是这里应用了一个Python控制树莓派GPIO接口的类库RPi.GPIO ,当检测到GPIO12有输入时,触发树莓派摄像头进行拍照,并将照片传至微信,程序里设定每五秒执行一次检测,与上次相同拍摄的照片文件在反复覆盖,不会增加占用树莓派的内存。

    相关文章

      网友评论

      • 6316e4df5cd5:不知道是否是因为没安装RPI.GPIO库的原因
        6316e4df5cd5: @高杆python 你的程序是不是只有接收到消息了才能检测是否有人然后拍照发图,并不是检测到有人自动发图
        6316e4df5cd5: @高杆python 昨天试的时候程序并没有报错,我今天试试装上RPI.GPIO库有没有变化
        高杆python:需要安装RPI.GPIO库,否者GPIO.input(12) == True这句代码是没有也会意义的,无法尽责到12号针脚的变化,你的程序本身也会因为缺少引用的模块而报错的。
      • 沃德天吶:我想请教两个问题…1、在树莓派启用摄像头以后gpio脚强制转换到了BCM,使用BOARD编码会报错,请问您怎么做到的?2、我的红外模块接上去检测不到输入怎么办:scream:
        高杆python:@沃德天吶 如果你的gpio没有接错的话,可以考虑是不是模块本身有问题。
      • ttkl艳儿:写得真好

      本文标题:Python+树莓派+人体红外感应模块 实现微信监控

      本文链接:https://www.haomeiwen.com/subject/bsczxxtx.html