91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>LED燈具自動(dòng)化

LED燈具自動(dòng)化

2022-12-05 | zip | 0.07 MB | 次下載 | 免費(fèi)

資料介紹

描述

介紹:

在這個(gè)項(xiàng)目中,我嘗試在房間燈熄滅時(shí)打開 LED。我使用 Python 控制 LED 并從螺栓云中檢索數(shù)據(jù)。機(jī)器學(xué)習(xí)技術(shù),z 分?jǐn)?shù)分析,已用于計(jì)算數(shù)據(jù)的上限和下限。如果傳感器值超出范圍,則會(huì)向我的郵箱發(fā)送一封電子郵件,并根據(jù)情況打開或關(guān)閉 LED。

Z 分?jǐn)?shù)分析:

在 z 分?jǐn)?shù)分析中,上限和下限會(huì)隨著數(shù)據(jù)不斷變化,因此即使異常值低于先前記錄的值,也可以檢測(cè)到異常。它具有三個(gè)因素:

?

poYBAGN6xyiAHzcvAAAiM086aww357.png
?

Mn = r 值的平均值

Zn=z分?jǐn)?shù)

Tn=閾值

硬件連接

?
?
?
pYYBAGOIMkSAZD0sAAobs_nge1E169.jpg
?
1 / 3 ?面包板連接
?

?

面包板分為兩半,一半中的所有點(diǎn)都相互連接,兩條不同的線或不同的一半上的兩個(gè)點(diǎn)彼此不連接。在面包板上,LDR 與 10k電阻串聯(lián)。LDR和電阻之間的公共支路通過黃色線連接到螺栓的“A0”引腳。LDR的另一支路連接到 3v3通過綠線引腳。電阻器通過藍(lán)線連接到 LED 。電阻器和 LED 之間的公共線點(diǎn)連接到螺栓的接地引腳。另一條腿(較長(zhǎng)的腿)連接到“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è)它的對(duì)象來發(fā)送郵件

螺栓連接到設(shè)備

在程序中,函數(shù) compute_bounds 計(jì)算閾值并返回。它采用以下參數(shù):傳感器數(shù)據(jù)列表、幀大小和倍增因子。如果列表的長(zhǎng)度小于幀大小,則返回?zé)o,因?yàn)樗璧狞c(diǎn)數(shù)不可用。它保持列表的大小為10 通過刪除多余的起始元素。

然后我創(chuàng)建了 Bolt 和 Email 的對(duì)象。運(yùn)行一個(gè)無限循環(huán),我們獲取數(shù)據(jù),如果發(fā)生錯(cuò)誤,則顯示 它。然后通過調(diào)用 compute_bounds 函數(shù)獲取邊界。如果傳感器值越過邊界,則 LED 會(huì)打開或根據(jù)情況關(guān)閉并發(fā)送電子郵件并顯示 mailgun 的響應(yīng)。如果值在范圍內(nèi),則將其簡(jiǎn)單地添加到列表中。最后,程序在每次循環(huán)后暫停 10 秒。

工作模式:

下面的圖片

?
?
?
poYBAGOIMmGAFMQ-AEI-6ixGfAg158.jpg
?
1 / 7 ?傳感器初始讀數(shù)
?

顯示工作項(xiàng)目。

?


led 燈具
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1耗盡型MOS FET產(chǎn)品目錄選型表
  2. 0.14 MB   |  2次下載  |  免費(fèi)
  3. 2TI系列-米爾TI AM62L核心板開發(fā)板-高能效低功耗嵌入式平臺(tái)
  4. 1.51 MB  |  次下載  |  免費(fèi)
  5. 3WILLSEMI韋爾20年半年度報(bào)告由代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷
  6. 3.30 MB  |  次下載  |  免費(fèi)
  7. 4LRC 樂山無線電InTWSApplications家電由原廠代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷供應(yīng)
  8. 85.84 KB  |  次下載  |  免費(fèi)
  9. 5LAT1596 一文說明白 STM32G4 雙 Bank 啟動(dòng)與升級(jí)
  10. 0.64 MB   |  次下載  |  5 積分
  11. 6LAT1594_基于事件喚醒低功耗之介紹
  12. 0.37 MB   |  次下載  |  5 積分
  13. 7PT8P2309 觸控 A/D 型 8-Bit MCU規(guī)格書
  14. 4.05 MB   |  次下載  |  免費(fèi)
  15. 8PT8P2308 觸控 A/D 型 8-Bit MCU規(guī)格書
  16. 4.13 MB   |  次下載  |  免費(fèi)

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  19次下載  |  10 積分
  3. 2反激式開關(guān)電源設(shè)計(jì)解析
  4. 0.89 MB   |  11次下載  |  5 積分
  5. 3耗盡型MOS FET產(chǎn)品目錄選型表
  6. 0.14 MB   |  2次下載  |  免費(fèi)
  7. 4簡(jiǎn)易光伏控制器原理圖資料
  8. 0.07 MB   |  1次下載  |  5 積分
  9. 52EDL05x06xx系列 600V半橋門驅(qū)動(dòng)器帶集成自舉二極管(BSD)手冊(cè)
  10. 0.69 MB   |  1次下載  |  免費(fèi)
  11. 6國(guó)產(chǎn)千兆網(wǎng)口芯片PT153S中文資料
  12. 1.35 MB   |  次下載  |  免費(fèi)
  13. 7斯丹電子 | 用于芯片測(cè)試系統(tǒng)的射頻干簧繼電器
  14. 5.11 MB  |  次下載  |  免費(fèi)
  15. 8SFI立昌ESD/TVS管原廠代理分銷經(jīng)銷一級(jí)代理分銷經(jīng)銷
  16. 294.76 KB  |  次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73829次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分