入室监控概要:

  • 树莓派上挂一个红外传感器,探测是否有人进入
  • 有人进入,探测光强
  • 光强不够,控制继电器开灯,否则不开灯
  • 打开摄像机拍照,并使用ftp把数据发到后台FTP服务器上
  • 后台服务器跑web服务器,安卓APP接收

树莓派上挂一个红外传感器*

一个简单的被动式红外线传感器可以让你检测运动状态。这个传感器有三个引脚,可用于连接到Raspberry Pi的GPIO端。当该模块检测到运动状态时,其中一个引脚会输出高电压,输出电压大约为3.3V。如果持续检测到运动状态,那么该引脚的电压则保持该电压水平,直至检测不到运动状态时才会恢复为零。另两个引脚分别为5V和GND

红外传感器


对照前面的参数以及电路图,找到下面的左右针脚正负极,中间的PIN为感应输出,感应到人体时,输出3.3V高电平,检测不到信号时输出0。同时还要求工作电压在4.5V-20V之间。恰好树莓派的P1编号中第2,4号PIN都是5V的电压,满足要求,所以这次我们要接5V的电压。 参数调节旋钮是用来扭动控制一些参数的。比如探测的延时时间,灵敏度等等。具体可以参看 HC -SR501的说明书。这里我们都使用默认值。


但是有一个关键的L H模式调节阀门要介绍一下,右上角有三个针脚,按照我实物照片,假定从上到下为123还有一个黄色的套接头,图中套接头接通了2 3号,代表了H模式,这个套接头是可以拔下来的,然后插到上面来,接通1 2号,代表了L模式。 L模式是不可重复触发,当探测到一次人体时,输出一次高电平,保持一段时间恢复低电平,在此期间如果还是检测到了人体也不再延长这个高电平的时间。等到低电平的封锁时间(前面默认是2.5S)过了以后才又开始检测。H模式是可以重复触发,如果一直感应到人体时,会一直输出高电平,直到探测不到人体后保持小段时间然后恢复低电平

GPIO的上拉和下拉
当我们给一个针脚接入GND,那么就是低电平,如果我们给一个针脚3.3V,那么就是高电平,状态是很确定的。如果我们什么都不接,那么这个针脚处于悬浮状态,很容易受到外接的干扰,可能是高也可能是低,也可能是处于高和低之间的状态。这时候我们就要明确指定这个针脚应该处于高或者低,不能让他处于悬浮状态。接入一个上拉电阻能够让这个针脚处于明确的高电平状态,接入一个下拉电阻能够让他处于明确的低电平状态。前面我们用作输出的时候都是明确给定了输出的高低状态。关于上拉电阻和下拉电阻,有一篇英文解释写的很不错,我也是参考这篇来看的,里面的测试大家也可以用树莓派测试一下。(http://www.bit-101.com/blog/?p=3813)。
PIN3始终处于高电平状态是因为。这个PIN口是用于树莓派I2C设备的,内部外接了一个物理的上拉电阻。所以他的状态一直是高电平,作为INPUT不能使用这个PIN。
PIN22 时高时低就是由于处于悬浮状态。所以我们要使用这个PIN就比如为他明确指定悬浮的时候是高还是低。

接线
模块左边的针脚1接P1编号的PIN2 为5V的正极,模块右边的针脚3的负极接PIN6,模块中间的针脚2输出线接PIN22

检测代码:

import RPi.GPIO asGPIO
import time#初始化
def init():GPIO.setwarnings(False)GPIO.setmode(GPIO.BOARD)GPIO.setup(12,GPIO.IN)GPIO.setup(21,GPIO.OUT)pass#蜂鸣器鸣叫函数
def beep():while GPIO.input(12):GPIO.output(21,GPIO.LOW)time.sleep(0.5)GPIO.output(21,GPIO.HIGH)time.sleep(0.5)
#感应器侦测函数
def detct():#因为是仅仅试验,所以只让它循环运行100次for i in range(1,101):#如果感应器针脚输出为True,则打印信息并执行蜂鸣器函数if GPIO.input(12) == True:print "Someone isclosing!"beep()#否则将蜂鸣器的针脚电平设置为HIGHelse:GPIO.output(21,GPIO.HIGH)print "Noanybody!"time.sleep(2)time.sleep(5)
init()
detct()
#脚本运行完毕执行清理工作
GPIO.cleanup()

《RPi.GPIO模块函数说明:
RPi.GPIO.setmode(naming_system)
设置将GPIO针的命名方式。naming_system可用的取值有 RPi.GPIO.BCM 和 RPi.GPIO.BOARD,分别代表boardcom命名系统和树莓派板子上的命名系统。而因为使用BCM 的时候(据说)不同的版本BVM针脚定义不一样,所以同一套程序在多个树莓派系统上使用的时候建议用BOARD。

要检测哪个引脚编号系统已被设置模式(例如,由另一个Python模块配置过模式):
mode = GPIO.getmode()
模式将是GPIO.BOARD,GPIO.BCM或None

可能在Raspberry Pi的GPIO上有多个脚本/电路。因此,如果RPi.GPIO检测到引脚已被配置为默认(输入)以外的其他引脚,则在尝试配置脚本时会收到警告。要禁用这些警告:
GPIO.setwarnings(False)

RPi.GPIO.setup(channel, state)
将标号为channel的针设置为state模式。channel取值为1~26,state取值为RPi.GPIO.IN 或者RPi.GPIO.OUT,分别表示输入和输出。例如 RPi.GPIO.setup(1, RPi.GPIO.IN)表示将1号针设置为输入模式;RPi.GPIO.setup(3, RPi.GPIO.OUT)表示将3号针设置为输出模式。具体哪个号是哪根取决于setmode()中设置成什么。

RPi.GPIO.output(channel, state)
将标号为channel的针设置为state指定的电平。channel取值为1~26,state取值为RPi.GPIO.HIGH 和RPi.GPIO.LOW,或者1和0,或者True和False,表示高电平和低电平。例如RPi.GPIO.output(1, 1) 表示把1号针设置为高电平,RPi.GPIO.output(3, Flase) 表示将3号针设置为低电平。具体哪个号是哪根取决于setmode()中设置成什么。

RPi.GPIO.input(channel)
获取将标号为channel的针的电平砖头。channel取值为1~26。例如RPi.GPIO.input(1) 表示获取1号针的状态。

RPi.GPIO.cleanup()
清除掉之前RPi.GPIO.setup()设置的状态。退出程序之前一定要调用,否则下次调用的时候会报错。》

入室监控—树莓派上挂红外传感器(python)相关推荐

  1. Android tv树莓派遥控器,用红外遥控器遥控树莓派(XBMC)

    概述 本篇教程将会讲解如何用一部红外遥控器来遥控操作树莓派上安装的影音中心. 在开始之前, 你需要按此教程把树莓派搭建为影音中心. 需要的零件 在搭建好了影音中心之后, 你需要去买些零件: 红外线传感 ...

  2. 树莓派连接yl-69土壤湿度传感器

    树莓派连接yl-69土壤湿度传感器 python代码(亲测可用) 针脚连接5v(PIN02),gnd(PIN39),GPIO21(PIN40) python代码(亲测可用) #!/usr/bin/py ...

  3. python读取传感器数据实时上传_树莓派上利用python读取传感器DHT11的温湿度

    昨晚测试Python操作dht11传感器失败!本来想着利用树莓派,传感器,数据库搭建一个机房环境监控系统,卡在了python读取数据上,怎么读取数据都是有问题.世上无难事,只要肯放弃,决定暂时放弃实验 ...

  4. python温湿度传感器源代码_在树莓派上读取DHT11温湿度传感器-python代码实现及常见问题(全面简单易懂)...

    最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...

  5. python温湿度传感器源代码_在树莓派上读取DHT11温湿度传感器python代码实现及常见问题(全面简单易懂)...

    最近由于自己的课题需要,想要用在树莓派上使用DHT11温湿度传感器来读取空气中温湿度,遇到了几个问题,解决之后也对之前的知识进行了回顾,总结,特整理如下,希望能给也在学习树莓派的小伙伴们带来一些帮助. ...

  6. python实现树莓派监控_树莓派上安装pyaudio 及 对声音实时监控

    在树莓派上最常用的录音是arecord命令,但是功能有限,不能实现检测到声音做出反应.但是pyaudio能. 本文实现的功能是在树莓派上监听声音,当分贝超过阈值,将会做出反应,例子的反应是结束whil ...

  7. 室内监控项目之红外传感器模块

    室内监控项目之红外传感器模块 知识积累: 红外线传感器是用红外线的物理性质来进行测量的传感器.红外线又称红外光,它具有反射.折射.散射.干涉.吸收等性质.它是一种不可见光,其光谱位于可见光中红色以外, ...

  8. python 网关控制家居_在树莓派上搭建智能家居网关

    智能家居系统利用大量的物联网设备(如温湿度传感器.安防系统.照明系统)实时监控家庭内部状态,完成智能调节.人机互动.随着物联网技术的发展,其应用范围.数据规模.市场份额将进一步扩大,智能家居设备之间的 ...

  9. 树莓派实验室python人脸识别_在树莓派上实现人脸识别

    原标题:在树莓派上实现人脸识别 本文为 AI 研习社编译的技术博客,原标题 Facial Recognition & Identification On Raspberry Pi,作者为 Ad ...

最新文章

  1. [原创]windows server 2012 AD架构 试验 系列 – 3 创建备份DC2
  2. MDEV Primer
  3. hover与click样式冲突
  4. python cnn模型_ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)
  5. Ajax.net实现的动态输入项
  6. Linux Apache 怎么修改工作模式
  7. android 上传文件到 c 服务器,android 怎么样用socket给C服务器 发送二进制数据
  8. 讨论一个比较有意思的业务需求
  9. 关闭保护火狐浏览器的保护与多余的加载项
  10. 专用计算机 一级专用计算机芯片,计算机一级考试 2015年模拟题(一)
  11. java 程序打成.exe可执行程序
  12. go语言发送手机短信 - 互亿无线
  13. bat脚本重启tomcat
  14. 求勾股数c语言OJ,C语言求勾股数(详解版)
  15. Win2003 Server磁盘配额揭密之删除篇
  16. <博弈论> HDU1846
  17. 计算机人才供需状况和就业形势分析,计算机科学与技术就业形势分析
  18. 如何在Windows 10 IoT Core中添加其他语言的支持,如中文
  19. Windows 7 下载
  20. POI给WORD添加水印(亲测可用)

热门文章

  1. MySQL查询每个部门的员工个数(部门员工数可能为0)
  2. UE4布料 Cloth
  3. 模拟IC设计到底怎么学?给初学者一点建议
  4. 面向前端的设计规范-文字初探-Part1
  5. 我需要一个温暖如阳光的人
  6. 酷开会员 | 酷开系统壁纸模式,给生活加点料!
  7. 马斯克两位堂兄入职推特/ 孙正义软银股份已超三分之一/ 折叠屏iPhone渲染图曝光…今日更多新鲜事在此...
  8. 软银减持阿里:涉及超200亿美元 孙正义为贪图暴利羞愧
  9. dirmap Use crawl mode 报错
  10. 面试题24——C++的引用和C语言的指针有什么区别