資料介紹
描述
理念
我的辦公桌在我地下室的凸窗旁邊,因為我的房子真的很舊,那里的絕緣和溫度一直很奇怪,而且總是很冷。出于這個確切的原因,我的辦公桌旁邊有一個空間加熱器。我想創(chuàng)造一種更好的方式來調節(jié)和控制我的辦公桌設置,包括我的 PC 和空間加熱器。我選定了一個項目,該項目可以讓我使用家里的 Amazon Alexa Echo Dots 自動執(zhí)行此過程,并使用 Alexa 應用程序遠程觸發(fā)它。我希望能夠告訴 Alexa 我在家,她會通過啟動一切來自動執(zhí)行此過程。我也希望有一些細微差別,所以我想我可以添加另一個組件來調節(jié)加熱器,它是以溫度傳感器的形式出現的。
溫度感應器
我首先開始設置溫度傳感器,因為我知道這將是項目的關鍵組成部分。
我使用了 PietteTech 庫并為溫度傳感器創(chuàng)建了一個測試。傳感器的完整測試代碼可以在代碼部分找到:DHT22 溫度傳感器測試。
我遇到了一個問題,如果檢查得太頻繁,傳感器偶爾會偶爾讀取一個荒謬的值,比如 -2 度,所以我知道我必須在以后考慮這個問題。
我的解決方案是保留一個單獨的值,該值僅在有效值時更新
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 請求服務,以便與 Particle Argon 交互。我選擇了 IFTTT,并將我的亞馬遜賬戶連接到它并設置了小程序。
為了連接 IFTTT 集成,我使用粒子云和 Spark.function Particle.publish來調用使用粒子令牌的函數,然后將 Webhook 發(fā)布請求附加到 IFTTT 觸發(fā)器以及我的代碼中的函數。
局域網喚醒電腦
然后我需要找到一種方法來遠程啟動我的電腦。我知道這可以使用 Wake On Lan 功能實現,但我必須讓它與 Particle 環(huán)境一起工作。幸運的是,我找到了這個項目來幫助我入門。然后我研究了代碼并將其壓縮為僅對我來說是必要的功能。此代碼采用給定的原始 MAC 地址,將其轉換為字節(jié),然后通過指定的 MAC 地址將喚醒數據包發(fā)送到 PC。完整的測試代碼可以在代碼部分找到:局域網喚醒測試。
其他注意事項:
出于測試目的,我在另一臺計算機上安裝并使用了Homebrew ,以便安裝 wakeonlan 命令并測試獨立于粒子環(huán)境的功能。
我還需要調整我的 BIOS 和設置以允許 Wake On Lan 正常運行,并根據我的主板制造商的說明做了這三件事:
1. 在 BIOS 電源管理菜單中將“EUP 2013”??設置為禁用。2. 在喚醒事件設置中啟用“通過 PCI 或 PCI-E 設備恢復”。3. 在 Windows 設備管理器中,進入“網絡適配器”->“電源管理”選項卡,勾選【允許此設備喚醒計算機】復選框。
加熱器功能
我控制加熱器的第一個想法是使用智能插座或繼電器來控制加熱器的插座電源并將其連接到 Alexa。然而,這不是一個選擇,因為我的加熱器有一個數字而非手動電源開關。這意味著切斷插座電源然后恢復它不會正確打開和關閉加熱器。相反,我決定使用紅外信號來控制加熱器,因為它有一個紅外 LED 遙控器作為控制選項,因此我可以以某種方式復制信號以供我使用。
在決定使用紅外通信后,我設置了一個系統(tǒng)來測試接收和發(fā)送紅外信號,并使用 Arduino 兼容遙控器進行測試。
使用這個遙控器和我的 IR 發(fā)送和接收節(jié)點,我能夠成功地復制從遙控器接收到的 IR 信號。IR 傳輸具有特定的編碼參數集,這些參數在大多數情況下都很常見,可用于輕松復制信號。這個特定的遙控器使用了 NEC 最常見的編碼。完整的測試代碼可以在代碼部分找到:IR 發(fā)射測試、IR 接收測試和 IR 發(fā)射和接收測試。
當我試圖復制我個人遙控器的信號時,問題就出現了。
這些信號的復制要復雜得多。我不能只是說我要發(fā)送一個 NEC 代碼并給它一個簡單的十六進制值來發(fā)送。只能發(fā)送十六進制值,因為編碼類型已知。經過大量研究后,我確定我必須改為從遙控器發(fā)送原始信號,沒有任何簡化值,因為 Lasko 公司的遙控器沒有我可以使用的任何公共編碼類型。我家樓上有一個不同版本的 Lasko 加熱器,證實了我的懷疑,因為那個遙控器也有一個未知的編碼。然后我記錄了來自遙控器的不同原始信號,這些信號控制了我需要的加熱器的所有功能。
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};
我重新連接了溫度傳感器并將我的紅外設備整合到一個面包板上進行測試。
加熱器溫度相互作用
由于我的加熱器有兩種不同的設置,我使用溫度傳感器來確定當我啟動我的電腦時是否需要加熱器(低于 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);
}
傳感器還會檢查溫度是否過高(超過 67 度),然后將其切換到低溫模式。
if(highTempOverride || (checkHIGHTemp && accurateTemp > 67.0)){
irsend.sendRaw(oncodeSwitch,119,38);
checkHIGHTemp = FALSE;
highTempOverride = FALSE;
Particle.publish("test","sentTEMPIR");
}
最終產品
?
- Lane Tech HS-PCL-食品儲藏室入口探測器
- Lane Tech PCL房間通知器開源分享
- Lane Tech PCL:通過語音命令的東西分配器
- Lane Tech HS PCL自動燈開源
- Lane Tech HS PCL RAGE探測器開源分享
- Lane Tech HS前門傳感器開源分享
- Lane Tech HS濕度變化提醒
- Lane Tech HS PCL簡單的門傳感器
- Lane Tech HS溫度通知
- Lane Tech PCL粒子氬激光絆線開源
- Lane Tech HS溫控風扇開源分享
- Lane Tech PCL洗衣機顯示器
- 加熱器短線報警器原理、分類和選型 5次下載
- 浸沒式汽水混合加熱器
- 大客車液體加熱器安裝要點
- 功率放大器在微型加熱器中的應用 941次閱讀
- 使用MOSFET作為恒溫加熱器 1154次閱讀
- 電烙鐵的加熱器的結構組成與溫度控制方法分析 9294次閱讀
- 基于LM35D的溫控加熱器電路圖 1.1w次閱讀
- 低壓加熱器工作原理_低壓加熱器的作用 1.8w次閱讀
- 恒溫加熱器的工作原理_恒溫加熱器保養(yǎng) 1.8w次閱讀
- 汽車駐車加熱器的工作原理詳解 3.5w次閱讀
- 如何正確使用防爆電加熱器 4000次閱讀
- 電加熱器的分類及對比 9637次閱讀
- 一文了解電加熱器是什么 5969次閱讀
- 電加熱器功率計算方法 6w次閱讀
- 簡易加熱器制作 1.7w次閱讀
- PTC加熱器原理及功能 23.6w次閱讀
- 用于植物的土壤加熱器 3770次閱讀
- 加熱器控制電路圖 2.6w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多