1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 树莓派人体感应警报(python)HC-SR501红外人体感应

树莓派人体感应警报(python)HC-SR501红外人体感应

时间:2020-03-27 00:30:13

相关推荐

树莓派人体感应警报(python)HC-SR501红外人体感应

使用树莓派+传感器实现人体感应警报

使用模块

树莓派cm4

蜂鸣器模块1个

HC-SR501红外人体感应模块 1个

面包板

子母杜邦线若干

引脚图

GPIO引脚插法

BCM编码

VCC 5V

GND GND

17 HC-SR501中的OUT

18 蜂鸣器i/o

函数

import RPi.GPIO as GPIOimport time‘’‘import jsonimport paho.mqtt.client as mqtt#发布客户端def on_connect(client, userdata, flags, rc):print("Connected with result code: " + str(rc))def on_message(client, userdata, msg):print(msg.topic + " " + str(msg.payload))client = mqtt.Client()client.on_connect = on_connectclient.on_message = on_messageclient.connect('1.116.67.152', 1883, 60) # 60为keepalive的时间间隔client.subscribe('Sub/100026', qos=0)client.loop_start() # 保持连接’‘’def init():GPIO.setwarnings(False)GPIO.setmode(GPIO.BCM)GPIO.setup(17, GPIO.IN)GPIO.setup(18,GPIO.OUT)passdef beep():for i in range(1,6):GPIO.output(18, GPIO.LOW)time.sleep(0.5)GPIO.output(18, GPIO.HIGH)time.sleep(0.5)print ("the Buzzer will make sound")def detct():for i in range(1, 31):if GPIO.input(17) == True:print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" Someone is closing!")c = {"man":1}’‘’client.publish('Pub/100026', payload=json.dumps(c), qos=0) #上传数据beep()‘’‘else:GPIO.output(18, GPIO.LOW)#无人时关闭蜂鸣器print (time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+" Noanybody!")‘’‘c = {"man":0}client.publish('Pub/100026', payload=json.dumps(c), qos=0) #上传数据‘’‘time.sleep(3) #每3秒检查一次time.sleep(2)init()detct()GPIO.cleanup()

运行结果

上云

侵权即删

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。