資料介紹
描述
介紹:
在這個(gè)項(xiàng)目中,我嘗試在房間燈熄滅時(shí)打開 LED。我使用 Python 控制 LED 并從螺栓云中檢索數(shù)據(jù)。機(jī)器學(xué)習(xí)技術(shù),z 分?jǐn)?shù)分析,已用于計(jì)算數(shù)據(jù)的上限和下限。如果傳感器值超出范圍,則會向我的郵箱發(fā)送一封電子郵件,并根據(jù)情況打開或關(guān)閉 LED。
Z 分?jǐn)?shù)分析:
在 z 分?jǐn)?shù)分析中,上限和下限會隨著數(shù)據(jù)不斷變化,因此即使異常值低于先前記錄的值,也可以檢測到異常。它具有三個(gè)因素:
?

Mn = r 值的平均值
Zn=z分?jǐn)?shù)
Tn=閾值
硬件連接:

?
面包板分為兩半,一半中的所有點(diǎn)都相互連接,兩條不同的線或不同的一半上的兩個(gè)點(diǎn)彼此不連接。在面包板上,LDR 與 10k電阻串聯(lián)。LDR和電阻之間的公共支路通過黃色線連接到螺栓的“A0”引腳。LDR的另一支路連接到 3v3通過綠線引腳。電阻器通過藍(lán)線連接到 LED 。電阻器和 LED 之間的公共線點(diǎn)連接到螺栓的接地引腳。另一條腿(較長的腿)連接到“0”GPIO螺栓銷。
軟件:
?
該軟件分為兩個(gè)python程序文件。
1)email_conf.-它包含我的 mailgun 帳戶的詳細(xì)信息、我的螺栓設(shè)備名稱、api 密鑰和乘數(shù)以及用于 z 分?jǐn)?shù)分析的幀大小。
API_KEY="XXXXX"
DEVICE_ID="BOLTXXXX"
MAILGUN_API_KEY="XXXXX'
SANDBOX_URL="XXXX"
SENDER_EMAIL="XXXX"
RECIPIENT_EMAIL="XXXX"
MUL_FACTOR=2
FRAME_SIZE=10
2)led_control_by_sensor:這是實(shí)現(xiàn)項(xiàng)目的主要代碼,即控制LED,獲取傳感器數(shù)據(jù)并在傳感器值越界時(shí)發(fā)送電子郵件。
import email_conf,json,time,math,statistics
from boltiot import Bolt,Email
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(email_conf.API_KEY, email_conf.DEVICE_ID)
email=Email(email_conf.MAILGUN_API_KEY,email_conf.SANDBOX_URL,email_conf.SENDER_EMAIL, email_conf.RECIPIENT_EMAIL)
history_data=[]
while True:
response = mybolt.analogRead('A0')
data = json.loads(response)
if data['success'] != 1:
print("There was an error while getting the data.")
print("This is the error:"+data['value'])
time.sleep(10)
continue
print ("This is the value "+data['value'])
sensor_value=0
try:
sensor_value = int(data['value'])
except Exception as e:
print("There was an error while parsing the response: ",e)
continue
bound = compute_bounds(history_data,email_conf.FRAME_SIZE,email_conf.MUL_FACTOR)
if not bound:
required_data_count=email_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']))
time.sleep(10)
continue
try:
if sensor_value > bound[0] :
print ("light level increased suddenly. sending email.")
status=mybolt.analogWrite('0','0')
print("status of led is :",status)
response=email.send_email("alert","someone turned on the lights")
response=json.loads(response.text)
print("this is the response from mailgun"+str(response['message']))
elif sensor_value < bound[1] :
print ("light level decreased suddenly. sending email.")
status=mybolt.analogWrite('0','20')
print("status of led is :",status)
response=email.send_email("alert","someone turned off the lights")
response=json.loads(response.text)
print("this is the response from mailgun"+str(response['message']))
history_data.append(sensor_value);
except Exception as e:
print ("Error",e)
time.sleep(10)
在上面的程序中,我們包括以下內(nèi)容:
time-time.sleep() 函數(shù)暫停程序 10 秒
json-json.loads() 函數(shù)來轉(zhuǎn)換來自 boltiot 和 mailgun 的數(shù)據(jù)
statistics-statistics.mean() 函數(shù)計(jì)算均值
math-math.pow() 函數(shù)求平方
Email-創(chuàng)建一個(gè)它的對象來發(fā)送郵件
螺栓連接到設(shè)備
在程序中,函數(shù) compute_bounds 計(jì)算閾值并返回。它采用以下參數(shù):傳感器數(shù)據(jù)列表、幀大小和倍增因子。如果列表的長度小于幀大小,則返回?zé)o,因?yàn)樗璧狞c(diǎn)數(shù)不可用。它保持列表的大小為10 通過刪除多余的起始元素。
然后我創(chuàng)建了 Bolt 和 Email 的對象。運(yùn)行一個(gè)無限循環(huán),我們獲取數(shù)據(jù),如果發(fā)生錯(cuò)誤,則顯示 它。然后通過調(diào)用 compute_bounds 函數(shù)獲取邊界。如果傳感器值越過邊界,則 LED 會打開或根據(jù)情況關(guān)閉并發(fā)送電子郵件并顯示 mailgun 的響應(yīng)。如果值在范圍內(nèi),則將其簡單地添加到列表中。最后,程序在每次循環(huán)后暫停 10 秒。
工作模式:
下面的圖片

顯示工作項(xiàng)目。
?
- 《LED燈具設(shè)計(jì)與案例詳解》pdf 0次下載
- 配網(wǎng)自動化技術(shù)
- 自動化標(biāo)準(zhǔn)器件選型知識概要PPT下載 37次下載
- 基于DSP的變電站綜合自動化控制系統(tǒng) 23次下載
- 基于PC的自動化SIMATIC-WINAC 8次下載
- SIMATIC-基于PC的自動化 6次下載
- 基于BP2808的LED照明燈具電源應(yīng)用與設(shè)計(jì) 32次下載
- 配電自動化潮流計(jì)算測試平臺設(shè)計(jì) 2次下載
- LED燈具照明燈具國際IEC標(biāo)準(zhǔn)與國家GB標(biāo)準(zhǔn)對比概述 36次下載
- LED燈具測試資料大全中文概括 34次下載
- 各類LED燈具UL認(rèn)證標(biāo)準(zhǔn)解析(中文資料) 60次下載
- LED燈具設(shè)計(jì)指南 18次下載
- 自動化圖紙 2次下載
- CAM工序自動化 0次下載
- CAM工序自動化說明 0次下載
- 工業(yè)自動化中的控制方式 2.3k次閱讀
- 工業(yè)自動化和自動化區(qū)別是什么 3.7k次閱讀
- 過程自動化控制和運(yùn)動自動化控制的原理詳解 2.6k次閱讀
- 如何自學(xué)PLC與自動化? 5.2k次閱讀
- 什么是非標(biāo)自動化設(shè)備及分類介紹 4.5w次閱讀
- 非標(biāo)自動化設(shè)備的分類 8k次閱讀
- ATE自動化測試系統(tǒng)是什么_ATE自動化測試系統(tǒng)介紹 3.3w次閱讀
- 自動化領(lǐng)域初涉水 非標(biāo)自動化和自動化到底有哪些區(qū)別? 7k次閱讀
- jenkins自動化部署 5.2k次閱讀
- led燈具基礎(chǔ)知識_led燈怎么接線 4.4w次閱讀
- 基于GPRS的電網(wǎng)調(diào)度自動化系統(tǒng) 4.7k次閱讀
- 全面解讀LED燈具特性及其標(biāo)準(zhǔn) 1.3w次閱讀
- 簡要分析LED燈具的散熱設(shè)計(jì) 5.5k次閱讀
- LED燈具設(shè)計(jì)經(jīng)驗(yàn)分享 1.3k次閱讀
- 簡述如何將LED燈組裝自動化 3.1k次閱讀
下載排行
本周
- 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
- 3.40 MB | 1次下載 | 免費(fèi)
- 2冷柜-電氣控制系統(tǒng)講解
- 13.68 MB | 1次下載 | 10 積分
- 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
- 2.33 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管S9012數(shù)據(jù)手冊
- 2.62 MB | 次下載 | 免費(fèi)
- 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
- 0.60 MB | 次下載 | 3 積分
- 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
- 0.89 MB | 次下載 | 3 積分
- 7收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊
- 2.50 MB | 次下載 | 免費(fèi)
- 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
- 0.60 MB | 次下載 | 免費(fèi)
本月
- 1愛華AIWA HS-J202維修手冊
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說明
- 0.31 MB | 22次下載 | 1 積分
- 4UWB653Pro USB口測距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
- 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
- 0.09 MB | 2次下載 | 1 積分
- 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
- 1.81 MB | 1次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論