1.所需材料:人体感应模块、蜂鸣器以及树莓派摄像头

                                              

人体感应模块接线:中间数据引脚接的是pin12,剩下两个引脚分别接电源和接地。

蜂鸣器接线:一根接电源线,一根接pin11

2.树莓派结合人体感应模块进行蜂鸣器报警

当人体感应模块感应到有人体活动时,蜂鸣器进行报警,同时将报警信息写入到MySQL数据库中。

(1)数据库设计

这里的步骤同上一章,在jiankong数据库进行建立buzzer表操作

mysql> use jiankong;Database changed
mysql> create table buzzer(id int auto_increment primary key not null, time char(255),descr char(255));Query OK, 0 rows affected (0.03 sec)

(2)buzzer.py文件

import RPi.GPIO as GPIOimport MySQLdbimport timedef init():GPIO.setwarnings(False)GPIO.setmode(GPIO.BOARD)GPIO.setup(12, GPIO.IN)GPIO.setup(11,GPIO.OUT)passdef beep():for i in range(1,6):GPIO.output(11, GPIO.LOW)time.sleep(0.5)GPIO.output(11, GPIO.HIGH)time.sleep(0.5)print "the Buzzer will make sound"def detct():for i in range(1, 31):if GPIO.input(12) == True:print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+ "  Someone is closing!"conn=MySQLdb.connect(host='localhost',port=3306,user='root',passwd='root',db='jiankong',)sql="insert into buzzer(time,descr) values('%s','%s')"%(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())),'someone is closing')cur=conn.cursor()cur.execute(sql)cur.close()conn.commit()conn.close()beep()else:GPIO.output(11, GPIO.HIGH)print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"  Noanybody!"time.sleep(10)time.sleep(2)init()detct()

(3)运行结果

3.短信预警

这里采用Twilio免费给手机发短信。

(1)在树莓派上通过命令行下载安装twilio

sudo pip3 install twilio

(2)在twilio注册账号

在官网 https://www.twilio.com

选择Get a free APIkey,然后注册账号即可。

这三个问题我分别选的是SMS、Phone Verification和Python。

这里可能注册失败,因为注册的时候需要验证码,而在国内验证码是无法显示的,所以这里给大家提供两个办法,这两个办法都是基于谷歌游览器的,第一个办法是给谷歌游览器安装谷歌上网助手插件,另外一个办法在最新版谷歌游览器上访问https://www.rabb.it/,然后通过这个网站提供的谷歌游览器来注册账号。

最后账号还需要手机号的验证。

注册成功登陆之后,选择Get Started,会免费得到一个twilio电话号码。

此时,新建一个项目,这里我新建了一个家庭安防系统的项目,这里记住你的ACCOUNT SID和AUTH token.

(3)python结合twilio向用户发送短信

from twilio.rest import Client# Your Account SID from twilio.com/consoleaccount_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"# Your Auth Token from twilio.com/consoleauth_token  = "your_auth_token"client = Client(account_sid, auth_token)message = client.messages.create(to="+15558675309",from_="+15017250604",body="Hello from Python!")print(message.sid)

注意这里to中的电话号码是你注册twilio的号码,from是你注册账号时免费得到的twilio电话号码。

通过上述python代码便可以向用户发送短信,下面是接收的短信情况。

具体的代码情况可参考:https://www.twilio.com/docs/libraries/python

4.智能监控结合

在第二章我们做了定时监控模块,这里我们将定时监控模块加入进来,重新进行整合。

当人体感应模块感应到人体活动时,蜂鸣器警报报警,与此同时树莓派摄像头模块抓拍照片传到七牛云服务器,并且还会通过上述的twilio向用户发送一条示警短信。

这里提供jiankong.py的代码

# -*- coding: utf-8 -*-import RPi.GPIO as GPIOimport MySQLdbimport timeimport picamerafrom qiniu import Auth, put_file, etag, urlsafe_base64_encodeimport qiniu.configimport os#需要填写你的 Access Key 和 Secret Keyaccess_key = '' #这里的密钥填上刚才我让你记住的密钥对secret_key = '' #这里的密钥填上刚才我让你记住的密钥对#构建鉴权对象q = Auth(access_key, secret_key)#要上传的空间bucket_name = 'jiankong'#上传到七牛后保存的文件名key = '%s_%s_%s_%s_%s_%s.jpg'%(time.localtime()[0],time.localtime()[1],time.localtime()[2],time.localtime()[3],time.localtime()[4],time.localtime()[5])#生成上传 Token,可以指定过期时间等token = q.upload_token(bucket_name, key, 3600)#camera=picamera.PiCamera()def uploadfile():camera.capture("current_photo.jpg")#要上传文件的本地路径localfile = 'current_photo.jpg'ret, info = put_file(token, key, localfile)filename = 'current_photo.jpg'if os.path.exists(filename):os.remove(filename)def init():GPIO.setwarnings(False)GPIO.setmode(GPIO.BOARD)GPIO.setup(12, GPIO.IN)GPIO.setup(11,GPIO.OUT)passdef beep():for i in range(1,6):GPIO.output(11, GPIO.LOW)time.sleep(0.5)GPIO.output(11, GPIO.HIGH)time.sleep(0.5)print "the Buzzer will make sound"def detct():for i in range(1, 31):if GPIO.input(12) == True:print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+ "  Someone is closing!"conn=MySQLdb.connect(host='localhost',port=3306,user='root',passwd='root',db='jiankong',)sql="insert into buzzer(time,descr) values('%s','%s')"%(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())),'someone is closing')cur=conn.cursor()cur.execute(sql)cur.close()conn.commit()conn.close()beep()uploadfile()else:GPIO.output(11, GPIO.HIGH)print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"  Noanybody!"time.sleep(10)time.sleep(2)init()detct()

【物联网实训项目】------(五)家庭智慧安防系统之智能监控相关推荐

  1. 【物联网实训项目】------(四)家庭智慧安防系统之智能温控

    1.所需材料: 树莓派.面包板.温湿度传感器DHT11.直流电机.风扇.L298N电机驱动模块. 2.树莓派从DHT11温湿度传感器读取数据 (1)DHT11 介绍 DHT11是一款有已校准数字信号输 ...

  2. 智慧安防系统(嵌入式开发)

    系列文章目录 文章目录 系列文章目录 前言 一.智慧安防系统设计概述 二.相关技术实现 1.开发环境搭建和测试 2.软硬件代码载入调试 总结 前言 一.智慧安防系统设计概述 智慧安防技术的发展趋势包括 ...

  3. Java实训项目一一考试系统(附源码)

    1 实训基本信息 1.1 实训项目名称 (1)考试系统 1.2 实训环境 本次实训内容主要针对专业学生,实训形式以实战讲解为主导.实训课程由实训老师主讲,实训老师教学严谨又平易近人,讲解的内容非常细致 ...

  4. 智慧安监系统为城市安全监管提供保障

    正当今社会信息化发展如火如荼,互联网.物联网.云计算.智慧城市等信息化技术的快速发展正深刻改变经济社会的方方面面.近年来信息化技术在安全生产领域的广泛应用,显著提高了政府安全监管和企业安全管理的效率. ...

  5. 【无线串口模块应用实例】防小人不防君子的智慧安防监测系统

    俗话说"防君子不防小人",指的是礼义约束只能管住君子. 乍一听还有点消极无奈的感觉,怎么好人反而更吃亏呢?! "以德报怨,何以报德?" 但面对无孔不入的小人我们 ...

  6. 园区智慧安防解决方案2020

    目  录 一.政策背景 1 二.需求分析 1 三.系统架构 2 四.建设内容 3 4.1智慧安防系统 3 4.1.1车辆出入口系统 3 4.1.2人脸人员通道管理 4 4.1.3陌生访客系统 5 4. ...

  7. 智慧安防方案升级后,商家年年续保,我每年都有稳定收入,躺赚!

    在一次客户交流活动中,安保服务商如实和我们提出心里的担忧. 方案升级后的一年内,这位安保服务商为约千家商铺升级了安防系统,靠增值服务每年稳赚百万,商家年年续保,成为当地的安保公司的No.1企业. 那安 ...

  8. 假期来啦!技术人如何用 Python 实现景区安防系统

    作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 引言:近年来,随着我国旅游业的持续快速发展,国内游客人次逐年增加,各地旅游景点游客爆满.在旅游消费需求高速增长的同时,伴随着越来 ...

  9. 基于WiFi的宿舍智能安防系统

    word完整版可点击如下下载>>>>>>>> 基于WiFi的宿舍智能安防系统.rar-自然语言处理文档类资源-CSDN下载1.资源内容:毕业设计lun- ...

最新文章

  1. 如何设计一个本地缓存
  2. [register]-ARMV8-aarch64-通用寄存器介绍
  3. 《集体智慧编程》数学公式
  4. webpack 工作方式
  5. 编译器会影响编译吗?
  6. 百题大冲关系列课程更新啦!这次是 Golang
  7. ubuntu copy命令
  8. Private Data Manipulation in Optimal Sponsored Search Auction
  9. Ixia推出首款太比特级网络安全测试平台
  10. Host key verification failed. fatal: Could not read from remote repository.Please make sure you have
  11. mysql做乘法运算溢出_乘法溢出及对策
  12. [学习笔记]舞蹈链(Dancing Links)C++实现(指针版)
  13. 方差-偏差平衡(Bias-Variance Balance)与模型选择
  14. 查看生产DB2数据库空间及使用情况
  15. 【Kotlin -- 知识点】学习资料
  16. MIKE水动力笔记8_冷启动与热启动
  17. 骚操作“破解“App
  18. 树莓派4B + darknet-yolov4-tiny + 英特尔第二代神经计算棒
  19. ps4 6.72破解测试版+6.72固件下载+可玩游戏汇总+6.72破解教程
  20. 495. Teemo Attacking(提莫攻击)

热门文章

  1. Windows日常使用快捷方式
  2. 任正非女儿孟晚舟成华为轮值董事长 公司年利润1137亿
  3. 一个屌丝程序猿的人生(五十七)
  4. IT人士之成功磨难记
  5. log4j配置详解(非常详细转载)
  6. Linux发行版之间有什么区别?
  7. Dell xps13 win10 安装于PCI-E SSD
  8. ROS2:Humble 教程
  9. mysql分组排列的查询语句_数据的排序与分组语句_MySQL
  10. 联想 e460 查看 内存卡槽数