亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于LOT的热报警系统

发布时间:2021-07-11
分享到:

基于LOT的热报警系统

发布时间:2021-07-11
分享到:

该系统是基于物联网的热报警系统,当检测到热异常时,会关闭设备并发送短信。

硬件部件:

  • Bolt IoT Bolt WiFi 模块
  • 蜂鸣器
  • LED(红色、蓝色、5mm)
  • 温度感应器(LM35)(LM 35 传感器对其可以检测到的温度有限制,它只能检测最低-55摄氏度到最高155摄氏度)

软件应用程序:

电路图:

第 1 步 : 蜂鸣器标有“+”的引脚为正极引,它连接到 Bolt Wi-Fi 模块的 GPIO 1 端口。
第 2 步:蓝色和红色 LED 的较长脚是正极引脚,它们分别连接到 GPIO 端口 2 和 3。
第 3 步:蜂鸣器的“-”标记引脚和两个 LED 的较短脚是负极引脚,它们都连接到 Bolt Wi-Fi 模块的 GND(接地)端口。
第 4 步:LM35 传感器的引脚配置如下:

  • 引脚1 连接到 Bolt 模块的 5V 端口
  • 引脚2 连接到 Bolt 模块的模拟 A0 引脚
  • 引脚3 连接到 Bolt 模块的 GND(接地)端口

(注意:最好使用面包板进行连接,因为它可以防止 Bolt 模块中的电线过度拥挤。)

代码:(点击查看

import device_info
from boltiot import Bolt, Sms

import json,time
max_temp = 55
min_temp = 25

mybolt = Bolt(device_info.api, device_info.dev_id)
sms = Sms(device_info.SID, device_info.token, device_info.my_no, device_info.from_no)

response = mybolt.isOnline()
power = json.loads(response)
if power['value']== "online":
        while True:
                print ("Reading sensor data...")
                data = json.loads(mybolt.analogRead('A0'))
                try:
                        temp = int(data['value'])*100/1024
                        print ("Sensor reading is "+str(temp)+" degree celsius")
                        if temp > max_temp:
                                print ("Contacting Twilio servers...")
                                response = sms.send_sms("HIGH TEMPERATURE ALERT! CURRENT TEMPERATURE IS "+str(temp))
                                print ("SMS status: "+str(response.status))
                                response2 = mybolt.analogWrite('1','250')
                                for i in range(1,8):
                                        response3 = mybolt.digitalWrite('2','HIGH')
                                        time.sleep(0.5)
                                        response3 = mybolt.digitalWrite('2','LOW')
                        elif temp < min_temp:
                                print ("Contacting Twilio servers...")
                                response = sms.send_sms("LOW TEMPERATURE ALERT! CURRENT TEMPERATURE IS: "+str(temp))
                                print ("SMS status: "+str(response.status))
                                response2 = mybolt.analogWrite('1','50')
                                for i in range(1,8):
                                        response3 = mybolt.digitalWrite('3','HIGH')
                                        time.sleep(0.5)
                                        response3 = mybolt.digitalWrite('3','LOW')
                        else:
                                print ("Temperature alright.")
                                response2 = mybolt.digitalWrite('1','LOW')
                                response3 = mybolt.digitalWrite('2','LOW')
                                response3 = mybolt.digitalWrite('3','LOW')
                except Exception as e:
                        print ("Error!")
                        print (e)
                time.sleep(10)
else:
        print ("DEVICE OFFLINE..")
        print ("MAKE SURE THE IOT MODULE HAS BEEN PLUGGED IN")

项目演示:

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论