資料介紹
描述
一、簡(jiǎn)介
該項(xiàng)目通過(guò)分析溫度的突然升高來(lái)幫助檢測(cè)冰箱門(mén)是否被打開(kāi)。該項(xiàng)目采用 LM35 溫度傳感器,根據(jù)周?chē)臏囟冉o出模擬值。使用 Z 分?jǐn)?shù)分析檢測(cè)到突然變化,并使用 Twilio-SMS 消息傳遞 API 設(shè)置了警報(bào)系統(tǒng)以通知操作員。
它還專(zhuān)注于在 Bolt Cloud 上記錄溫度數(shù)據(jù)。
2. 示范
3.工作
在本節(jié)中,我們將了解該項(xiàng)目的功能。
- 3.1 LM35 溫度傳感器的電路連接
將傳感器的“電源”引腳連接到 Bolt 模塊的 5V 輸出,將傳感器的“接地”引腳連接到 Bolt 模塊上的“GND”端口,并將傳感器的“輸出”引腳連接到“A0”螺栓模塊上的銷(xiāo)釘。還將 Bolt 模塊連接到 usb-A 到 mini usb 電纜以連接到電源。
- 3.2 配置文件
該項(xiàng)目的 python 編碼已在 Ubuntu (Linux) 中完成。在我們開(kāi)始在 python 中編寫(xiě)溫度傳感器之前,我們需要制作一個(gè)配置文件,其中包含每個(gè)用戶(hù)/設(shè)備的特定鍵。我們將在我們的主代碼中導(dǎo)入這個(gè)文件并使用各種屬性。這樣做的好處是每個(gè)用戶(hù)只需更改配置文件的內(nèi)容即可使用該產(chǎn)品。
以下是配置文件(命名為 conf.py):
SID = 'You can find SID in your Twilio Dashboard'
AUTH_TOKEN = 'You can find on your Twilio Dashboard'
FROM_NUMBER = 'This is the no. generated by Twilio. You can find this on your Twilio Dashboard'
TO_NUMBER = 'This is your number. Make sure you are adding +91 in beginning'
API_KEY = 'This is your Bolt Cloud accout API key'
DEVICE_ID = 'This is the ID of your Bolt device'
Bolt 模塊的 API 密鑰和設(shè)備 ID 可以如下確定:
>>按照 https://cloud.boltiot.com/ 上的說(shuō)明將您的 Bolt 設(shè)備連接到 Bolt Cloud。
>>之后將出現(xiàn)以下屏幕。螺栓設(shè)備 ID 以黃色突出顯示。
>>轉(zhuǎn)到API部分以了解API Key。
- 3.3 操作LM35輸出值
LM35 溫度傳感器的模擬輸出不是標(biāo)準(zhǔn)溫度單位。為了獲得正確的溫度值,我們將傳感器的輸出除以 10.24 倍。
溫度 = sensor_val/10.24
- 3.4 光強(qiáng)突變檢測(cè)(Z-評(píng)分分析)
Z分?jǐn)?shù)分析用于異常檢測(cè)。此處的異常是指變量的值(周?chē)h(huán)境的光強(qiáng)度)超出某個(gè)值范圍。值的范圍稱(chēng)為界限(上限和下限)。這些界限是使用輸入值、幀大小和乘法因子計(jì)算的。幀大小是 Z 分?jǐn)?shù)分析所需的最小輸入值數(shù)量,乘法因子確定邊界與輸入值曲線的接近程度。
上面給出的是計(jì)算邊界的公式。這里輸入表示為“Vi”,“r”表示幀大小,“C”是乘法因子。首先,我們計(jì)算輸入值的平均值 (Mn)(對(duì)于每個(gè)新輸入,再次計(jì)算平均值)。每個(gè)輸入值的變化(來(lái)自平均值)給出為 (Vi - Mn)^2。Z 分?jǐn)?shù) (Zn) 的計(jì)算如上所示(每個(gè)輸入值的變化平均值的平方根乘以乘法因子)。界限表示為“Tn”,上限計(jì)算為 (Vi + Zn),下限計(jì)算為 (Vi - Zn)。
幀大小和倍增因子是使用試錯(cuò)法確定的。
- 3.5 創(chuàng)建 Twilio 帳戶(hù)
第 1 步:在瀏覽器中打開(kāi)https://www.twilio.com/ 。
第2步:點(diǎn)擊Get a Free API Key
按鈕進(jìn)行注冊(cè)。
第 3 步:在注冊(cè)表格中填寫(xiě)所有必要的詳細(xì)信息。下面是填寫(xiě)好的注冊(cè)表單的截圖。
第 4 步:為了驗(yàn)證他們會(huì)詢(xún)問(wèn)您的電話號(hào)碼。在下拉列表中選擇印度作為選項(xiàng),然后輸入您的電話號(hào)碼。
第 5 步:選擇“可編程短信”選項(xiàng)。
第 6 步:您可以在此頁(yè)面上查看 Account SID 和 Auth token。Auth 令牌默認(rèn)不可見(jiàn),您可以單擊“查看”按鈕使 Auth 令牌可見(jiàn),如下圖所示。復(fù)制兩者并將它們安全地保存在某個(gè)地方。
第七步:點(diǎn)擊Get a number
按鈕。
第8步:然后會(huì)出現(xiàn)一個(gè)彈出窗口。點(diǎn)擊Choose this number
按鈕。
第9步:然后會(huì)出現(xiàn)一個(gè)彈出窗口,其中將包含最終數(shù)字。復(fù)制此編號(hào)并保存到記事本以供將來(lái)參考。
- 3.6 完整代碼
import conf, json, time, math, statistics
from boltiot import Sms, Bolt
def compute_bounds(history_data,frame_size,factor):
if len(history_data)
return None
if len(history_data)>frame_size :
del history_data[0:len(history_data)-frame_size]
Mn=statistics.mean(history_data)
Variance=0
for data in history_data :
Variance += math.pow((data-Mn),2)
Zn = factor * math.sqrt(Variance / frame_size)
High_bound = history_data[frame_size-1]+Zn
Low_bound = history_data[frame_size-1]-Zn
return [High_bound,Low_bound]
mybolt = Bolt(conf.API_KEY, conf.DEVICE_ID)
sms = Sms(conf.SID, conf.AUTH_TOKEN, conf.TO_NUMBER, conf.FROM_NUMBER)
history_data=[]
frame=5
factor=2
while True:
response = mybolt.analogRead('A0')
data = json.loads(response)
if data['success'] != 1:
print("There was an error while retriving the data.")
print("This is the error:"+data['value'])
time.sleep(10)
continue
sensor_value=0
try:
sensor_value = int(data['value'])/10.24
except e:
print("There was an error while parsing the response: ",e)
continue
print ("This is the current temperature ", sensor_value)
bound = compute_bounds(history_data,frame,factor)
if not bound:
required_data_count=conf.FRAME_SIZE-len(history_data)
print("Not enough data to compute Z-score. Need ",required_data_count," more data points")
history_data.append(int(data['value'])/10.24)
time.sleep(10)
continue
try:
if sensor_value > bound[0] :
print ("The temperature has increased suddenly. Sending an SMS.")
response = sms.send_sms("Someone has opened the fridge door")
print("This is the response ",response)
history_data.append(sensor_value);
except Exception as e:
print ("Error",e)
time.sleep(10)
4. 數(shù)據(jù)記錄
從傳感器收集的溫度數(shù)據(jù)可以發(fā)送到 Bolt Cloud 并以圖表的形式表示以供分析。
第 1 步:訪問(wèn) cloud.boltiot.com 并創(chuàng)建一個(gè)新產(chǎn)品。創(chuàng)建產(chǎn)品時(shí),選擇產(chǎn)品類(lèi)型為輸出設(shè)備,接口類(lèi)型為GPIO。創(chuàng)建產(chǎn)品后,選擇最近創(chuàng)建的產(chǎn)品,然后單擊配置圖標(biāo)。
第 2 步:移動(dòng)到代碼選項(xiàng)卡。
第三步:選擇文件類(lèi)型為“.js”。
第 4 步:編寫(xiě)代碼,然后保存產(chǎn)品。
- 代碼
setChartLibrary('google-chart');
setChartType('predictionGraph');
setChartTitle('Temperature values');
setAxisName('Time','Temperature');
setCrosshair(true);
mul(0.097);
plotChart('time_stamp','temp');
第 5 步:將產(chǎn)品鏈接到所需的 Bolt 模塊
第 6 步:您可以通過(guò)單擊“查看此設(shè)備”查看記錄的數(shù)據(jù)。
?
- 采用NXP Rapid IoT的冰箱門(mén)報(bào)警器
- 通過(guò)感知溫度和用水量來(lái)幫助用戶(hù)有效洗手
- 使用Adafruit ESP8266制作冰箱門(mén)報(bào)警
- 冰箱門(mén)報(bào)警器開(kāi)源分享
- 冰箱門(mén)的簡(jiǎn)單報(bào)警器開(kāi)源項(xiàng)目
- 串口打開(kāi)失敗!請(qǐng)檢查指定串口是否存在或者已被打開(kāi)
- 一種融合深度和淺層特征的多視覺(jué)癲癇檢測(cè)算法 8次下載
- 電源設(shè)計(jì)中通過(guò)分壓器來(lái)實(shí)現(xiàn)所需的輸出電壓
- 3D目標(biāo)檢測(cè)是否可以用層級(jí)圖網(wǎng)絡(luò)來(lái)完成
- 溫度的檢測(cè)方法及其特點(diǎn)及如何實(shí)現(xiàn)溫度的測(cè)量 38次下載
- 電阻式溫度檢測(cè)器(RTD)基礎(chǔ)知識(shí)及參考設(shè)計(jì)
- AN679溫度檢測(cè)技術(shù) 3次下載
- 電冰箱門(mén)開(kāi)限時(shí)報(bào)警器
- 基于危險(xiǎn)模式的異常檢測(cè)模型
- 檢測(cè)熔池背面溫度的電渦流傳感器設(shè)計(jì)
- 冰箱壓縮機(jī)控制方案介紹 168次閱讀
- 空調(diào)溫度控制器怎么使用 空調(diào)溫度控制器壞了會(huì)怎樣 1515次閱讀
- 3種常見(jiàn)冰箱電路圖、控制電路、電源電路分析 1w次閱讀
- 基于熱敏電阻的溫度檢測(cè)系統(tǒng)設(shè)計(jì)挑戰(zhàn)和電路配置 1148次閱讀
- 通過(guò)案例分析軸瓦溫度在汽輪機(jī)中的應(yīng)用 2399次閱讀
- LM35溫度傳感器功能換為攝氏溫度值及設(shè)計(jì)思路 2.6w次閱讀
- 電源設(shè)計(jì)中通過(guò)分壓器來(lái)實(shí)現(xiàn)所需的輸出電壓 3963次閱讀
- 基于STM32單片機(jī)通過(guò)使用宏assert_param來(lái)實(shí)現(xiàn)運(yùn)行時(shí)間檢測(cè) 1403次閱讀
- 怎樣檢測(cè)電流傳感器是否為良品? 2585次閱讀
- 通過(guò)屏蔽柵極和電荷平衡高電壓技術(shù)設(shè)計(jì)的效率90%+開(kāi)關(guān)電源 890次閱讀
- CIC2851E音樂(lè)型電冰箱關(guān)門(mén)提醒電路 1146次閱讀
- 冰箱溫控器壞了的癥狀_怎樣測(cè)量冰箱溫控器開(kāi)關(guān)好壞 8.3w次閱讀
- 冰箱冷藏室結(jié)冰原因?怎么處理?冰箱冷藏室溫度一直上升? 1.6w次閱讀
- 冰箱十大排名_冰箱外殼發(fā)燙正常嗎?冰箱有冰怎么辦?冰箱怎樣快速除臭? 1w次閱讀
- 冰箱保鮮室出水怎么解決?冰箱不制冷怎么回事?冰箱制冷效果差怎么辦?冰箱高溫報(bào)警怎么處理? 1.4w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多