電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Lane Tech PCL亞馬遜Alexa PC啟動(dòng)和加熱器啟動(dòng)

Lane Tech PCL亞馬遜Alexa PC啟動(dòng)和加熱器啟動(dòng)

2023-02-03 | zip | 0.30 MB | 次下載 | 免費(fèi)

資料介紹

描述

理念

我的辦公桌在我地下室的凸窗旁邊,因?yàn)槲业姆孔诱娴暮芘f,那里的絕緣和溫度一直很奇怪,而且總是很冷。出于這個(gè)確切的原因,我的辦公桌旁邊有一個(gè)空間加熱器。我想創(chuàng)造一種更好的方式來(lái)調(diào)節(jié)和控制我的辦公桌設(shè)置,包括我的 PC 和空間加熱器。我選定了一個(gè)項(xiàng)目,該項(xiàng)目可以讓我使用家里的 Amazon Alexa Echo Dots 自動(dòng)執(zhí)行此過(guò)程,并使用 Alexa 應(yīng)用程序遠(yuǎn)程觸發(fā)它。我希望能夠告訴 Alexa 我在家,她會(huì)通過(guò)啟動(dòng)一切來(lái)自動(dòng)執(zhí)行此過(guò)程。我也希望有一些細(xì)微差別,所以我想我可以添加另一個(gè)組件來(lái)調(diào)節(jié)加熱器,它是以溫度傳感器的形式出現(xiàn)的。

溫度感應(yīng)器

我首先開(kāi)始設(shè)置溫度傳感器,因?yàn)槲抑肋@將是項(xiàng)目的關(guān)鍵組成部分。

tempsensor_XIkUswMOjq.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
?

我使用了 PietteTech 庫(kù)并為溫度傳感器創(chuàng)建了一個(gè)測(cè)試。傳感器的完整測(cè)試代碼可以在代碼部分找到:DHT22 溫度傳感器測(cè)試。

我遇到了一個(gè)問(wèn)題,如果檢查得太頻繁,傳感器偶爾會(huì)偶爾讀取一個(gè)荒謬的值,比如 -2 度,所以我知道我必須在以后考慮這個(gè)問(wèn)題。

image_K9YMy6zF40.png?auto=compress%2Cformat&w=740&h=555&fit=max
偶爾的溫度數(shù)據(jù)
?

我的解決方案是保留一個(gè)單獨(dú)的值,該值僅在有效值時(shí)更新

if(currentTime - prevTime > 30000){
        int result = DHT.acquireAndWait(2000);
        serverTemp = DHT.getFahrenheit();
        if(serverTemp>0){
            accurateTemp = serverTemp;
        }    
        Particle.publish("servertemperature", String::format("%.1f", serverTemp));
        Particle.publish("accuratetemperature", String::format("%.1f", accurateTemp));
        prevTime = currentTime;
    }

IFTTT 亞馬遜 Alexa 觸發(fā)器

下一步是將我的 Amazon Alexa 連接到 Webhook post 請(qǐng)求服務(wù),以便與 Particle Argon 交互。我選擇了 IFTTT,并將我的亞馬遜賬戶連接到它并設(shè)置了小程序。

image_AzATDhCH5p.png?auto=compress%2Cformat&w=740&h=555&fit=max
?

為了連接 IFTTT 集成,我使用粒子云和 Spark.function Particle.publish來(lái)調(diào)用使用粒子令牌的函數(shù),然后將 Webhook 發(fā)布請(qǐng)求附加到 IFTTT 觸發(fā)器以及我的代碼中的函數(shù)。

局域網(wǎng)喚醒電腦

然后我需要找到一種方法來(lái)遠(yuǎn)程啟動(dòng)我的電腦。我知道這可以使用 Wake On Lan 功能實(shí)現(xiàn),但我必須讓它與 Particle 環(huán)境一起工作。幸運(yùn)的是,我找到了這個(gè)項(xiàng)目來(lái)幫助我入門(mén)。然后我研究了代碼并將其壓縮為僅對(duì)我來(lái)說(shuō)是必要的功能。此代碼采用給定的原始 MAC 地址,將其轉(zhuǎn)換為字節(jié),然后通過(guò)指定的 MAC 地址將喚醒數(shù)據(jù)包發(fā)送到 PC。完整的測(cè)試代碼可以在代碼部分找到:局域網(wǎng)喚醒測(cè)試。

其他注意事項(xiàng):

出于測(cè)試目的,我在另一臺(tái)計(jì)算機(jī)上安裝并使用了Homebrew ,以便安裝 wakeonlan 命令并測(cè)試獨(dú)立于粒子環(huán)境的功能。

我還需要調(diào)整我的 BIOS 和設(shè)置以允許 Wake On Lan 正常運(yùn)行,并根據(jù)我的主板制造商的說(shuō)明做了這三件事:

1. 在 BIOS 電源管理菜單中將“EUP 2013”??設(shè)置為禁用。2. 在喚醒事件設(shè)置中啟用“通過(guò) PCI 或 PCI-E 設(shè)備恢復(fù)”。3. 在 Windows 設(shè)備管理器中,進(jìn)入“網(wǎng)絡(luò)適配器”->“電源管理”選項(xiàng)卡,勾選【允許此設(shè)備喚醒計(jì)算機(jī)】復(fù)選框。

加熱器功能

我控制加熱器的第一個(gè)想法是使用智能插座或繼電器來(lái)控制加熱器的插座電源并將其連接到 Alexa。然而,這不是一個(gè)選擇,因?yàn)槲业募訜崞饔幸粋€(gè)數(shù)字而非手動(dòng)電源開(kāi)關(guān)這意味著切斷插座電源然后恢復(fù)它不會(huì)正確打開(kāi)和關(guān)閉加熱器。相反,我決定使用紅外信號(hào)來(lái)控制加熱器,因?yàn)樗幸粋€(gè)紅外 LED 遙控器作為控制選項(xiàng),因此我可以以某種方式復(fù)制信號(hào)以供我使用。

image_50349057_vnhFQqjLuu.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
我的空間加熱器和紅外遙控器
?

在決定使用紅外通信后,我設(shè)置了一個(gè)系統(tǒng)來(lái)測(cè)試接收和發(fā)送紅外信號(hào),并使用 Arduino 兼容遙控器進(jìn)行測(cè)試。

image_67513857_GT9FKv1BBq.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
紅外發(fā)射 LED 和紅外接收器
?
arduinoremote_W1sdtAxqOe.jpg?auto=compress%2Cformat&w=740&h=555&fit=max
遠(yuǎn)程測(cè)試
?

使用這個(gè)遙控器和我的 IR 發(fā)送和接收節(jié)點(diǎn),我能夠成功地復(fù)制從遙控器接收到的 IR 信號(hào)。IR 傳輸具有特定的編碼參數(shù)集,這些參數(shù)在大多數(shù)情況下都很常見(jiàn),可用于輕松復(fù)制信號(hào)。這個(gè)特定的遙控器使用了 NEC 最常見(jiàn)的編碼。完整的測(cè)試代碼可以在代碼部分找到:IR 發(fā)射測(cè)試、IR 接收測(cè)試和 IR 發(fā)射和接收測(cè)試。

當(dāng)我試圖復(fù)制我個(gè)人遙控器的信號(hào)時(shí),問(wèn)題就出現(xiàn)了。

image_FURRv1Q1v1.png?auto=compress%2Cformat&w=740&h=555&fit=max
從加熱器遙控器接收到的信號(hào)
?

這些信號(hào)的復(fù)制要復(fù)雜得多。我不能只是說(shuō)我要發(fā)送一個(gè) NEC 代碼并給它一個(gè)簡(jiǎn)單的十六進(jìn)制值來(lái)發(fā)送。只能發(fā)送十六進(jìn)制值,因?yàn)榫幋a類型已知。經(jīng)過(guò)大量研究后,我確定我必須改為從遙控器發(fā)送原始信號(hào),沒(méi)有任何簡(jiǎn)化值,因?yàn)?Lasko 公司的遙控器沒(méi)有我可以使用的任何公共編碼類型。我家樓上有一個(gè)不同版本的 Lasko 加熱器,證實(shí)了我的懷疑,因?yàn)槟莻€(gè)遙控器也有一個(gè)未知的編碼。然后我記錄了來(lái)自遙控器的不同原始信號(hào),這些信號(hào)控制了我需要的加熱器的所有功能。

unsigned int oncodePower[143] = {1250,415,1250,415,423,1250,1247,448,1223,427,422,1256,423,1258,422,1257,423,1257,421,1257,423,1256,1248,7026,1250,416,1254,412,422,1250,1248,406,1264,427,422,1260,421,1257,423,1257,422,1256,423,1258,422,1256,1249,7066,1251,399,1267,416,421,1249,1250,419,1252,427,422,1260,420,1258,421,1258,423,1257,422,1256,436,1242,1250,7032,1250,416,1250,418,421,1249,1250,420,1250,428,422,1258,423,1256,421,1259,422,1258,422,1257,422,1255,1249,7028,1250,417,1250,416,421,1249,1250,418,1253,425,428,1254,422,1257,423,1257,422,1258,421,1260,419,1257,1248,7028,1248,416,1251,417,420,1250,1251,418,1251,427,422,1259,422,1257,423,1256,423,1267,412,1258,426,1252,1250};
unsigned int oncodeSwitch[119] = {1250,411,1255,411,425,1244,1253,414,1255,421,427,1254,427,1252,428,1250,426,1253,1251,423,427,1253,426,7849,1253,411,1254,417,421,1245,1253,415,1255,422,427,1255,424,1254,426,1252,429,1247,1256,422,427,1253,428,7891,1253,410,1255,410,426,1247,1254,414,1254,423,427,1255,426,1255,424,1255,426,1249,1256,422,428,1251,429,7857,1253,411,1255,411,427,1244,1255,414,1256,419,429,1254,428,1251,428,1255,424,1251,1254,421,428,1253,428,7851,1255,410,1256,410,427,1245,1253,414,1257,422,428,1253,427,1252,429,1253,424,1251,1254,422,427,1254,426};
unsigned int oncodeOsc[143] = {1247,415,1250,417,422,1249,1249,420,1250,427,423,1257,424,1257,423,1257,1249,427,422,1259,422,1258,423,7804,1250,416,1250,416,422,1251,1250,420,1250,435,415,1260,423,1260,421,1256,1252,438,412,1260,422,1258,424,7857,1250,416,1251,416,424,1252,1249,420,1251,438,413,1259,423,1259,423,1256,1252,429,421,1260,424,1260,422,7818,1248,433,1237,417,422,1251,1251,422,1250,428,422,1258,426,1257,426,1256,1251,429,422,1262,421,1261,422,7810,1249,418,1250,418,421,1251,1253,420,1252,427,423,1260,424,1259,423,1259,1250,427,423,1262,422,1261,421,7812,1250,414,1255,415,422,1252,1252,419,1252,427,423,1262,423,1261,422,1258,1252,427,422,1262,422,1258,425};

我重新連接了溫度傳感器并將我的紅外設(shè)備整合到一個(gè)面包板上進(jìn)行測(cè)試。

image_67191809_rEtmgF0AYi.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
組裝好的面包板
?

加熱器溫度相互作用

由于我的加熱器有兩種不同的設(shè)置,我使用溫度傳感器來(lái)確定當(dāng)我啟動(dòng)我的電腦時(shí)是否需要加熱器(低于 72 度)。

int wakeHost(String param) {
    String MACaddress = "00:d8:61:aa:73:7a";
    Particle.publish("test","got to wake host");

    char szMacAddress[80];
    MACaddress.toCharArray(szMacAddress,80);
    Particle.publish("test", szMacAddress);
    if(accurateTemp < 72.0){
        deskStart = TRUE;
    }
    checkHIGHTemp = TRUE;
    return wake(szMacAddress);
}

傳感器還會(huì)檢查溫度是否過(guò)高(超過(guò) 67 度),然后將其切換到低溫模式。

if(highTempOverride || (checkHIGHTemp && accurateTemp > 67.0)){
        irsend.sendRaw(oncodeSwitch,119,38);
        checkHIGHTemp = FALSE;
        highTempOverride = FALSE;
        Particle.publish("test","sentTEMPIR");
    }

最終產(chǎn)品

image_50394113_OOKKHRNqd0.JPG?auto=compress%2Cformat&w=740&h=555&fit=max
最終面包板
?
?
?
?
?
?

?


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

評(píng)論

查看更多

下載排行

本周

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2elmo直線電機(jī)驅(qū)動(dòng)調(diào)試細(xì)則
  4. 4.76 MB   |  9次下載  |  6 積分
  5. 3ADL-GPIB IEEE 488命令集函數(shù)參考手冊(cè)
  6. 0.67 MB   |  2次下載  |  5 積分
  7. 4儀表培訓(xùn)課件
  8. 1.82 MB   |  2次下載  |  1 積分
  9. 5DTSD1352導(dǎo)軌式多功能電能表安裝使用說(shuō)明書(shū) V2.15
  10. 1.19 MB   |  1次下載  |  免費(fèi)
  11. 6BQ79616-Q1和BQ75614-Q1 GUI用戶指南
  12. 4.51MB   |  1次下載  |  免費(fèi)
  13. 7INA226EVM用戶指南
  14. 4.7MB   |  1次下載  |  免費(fèi)
  15. 8INA226EVM修訂版A模型用戶指南和軟件教程
  16. 2.28MB   |  1次下載  |  免費(fèi)

本月

  1. 1XL4015+LM358恒壓恒流電路圖
  2. 0.38 MB   |  137次下載  |  1 積分
  3. 2新概念模擬電路第四冊(cè)信號(hào)處理電路電子書(shū)免費(fèi)下載
  4. 10.69 MB  |  60次下載  |  免費(fèi)
  5. 3800VA純正弦波逆變器的參考設(shè)計(jì)
  6. 2.96MB   |  32次下載  |  免費(fèi)
  7. 4純電動(dòng)汽?的主要部件及?作原理
  8. 5.76 MB   |  15次下載  |  5 積分
  9. 5新概念模擬電路(電子版全集)
  10. 29.33 MB   |  13次下載  |  免費(fèi)
  11. 6GP328和GP88S對(duì)講機(jī)的維修實(shí)列資料合集免費(fèi)下載
  12. 0.03 MB   |  10次下載  |  10 積分
  13. 7Type-C VL160數(shù)據(jù)手冊(cè)
  14. 0.92 MB   |  10次下載  |  3 積分
  15. 8elmo直線電機(jī)驅(qū)動(dòng)調(diào)試細(xì)則
  16. 4.76 MB   |  9次下載  |  6 積分

總榜

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