chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Homematic顯示時鐘開源分享

Homematic顯示時鐘開源分享

2022-10-27 | zip | 1.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

我曾經(jīng)在我們的客廳里有一個便宜且不準(zhǔn)確的時鐘,帶有溫度顯示,我想用可以自行設(shè)置時間和日期的東西替換它,就像你今天所期望的那樣。它還應(yīng)該顯示我可用的 Homematic 智能家居數(shù)據(jù),例如溫度傳感器和其他信息(例如門鈴傳感器)。

由于市場上沒有這樣的設(shè)備,我決定自己制作。

我決定在這個項目中使用 Arduino“Mkr Wifi 1010”,主要用于 WiFi 訪問能力和可用資源。有一些有趣的學(xué)習(xí),我認(rèn)為對于從同一個板開始的其他人可能有用(請參閱下面的詳細(xì)描述)。

我的 HM 時鐘顯示的特點:

  • 準(zhǔn)確的自設(shè)置時鐘(訪問 NTP 互聯(lián)網(wǎng)時間服務(wù)以設(shè)置微控制器的 RTC)
  • 從 Homematic(或類似的智能家居系統(tǒng))接收并顯示 2 個溫度(內(nèi)部和外部)
  • 在明亮的 7 段 LED 顯示屏上顯示時間、日期和溫度
  • 7 段 LED 將在夜間變暗(可編程
  • 額外的 8x8 雙色點陣顯示器顯示狀態(tài)符號(例如 WiFi、溫度或 NTP 更新等)
  • 可以顯示附加信息(例如,我添加了一個由 Homematic 門鈴傳感器觸發(fā)的可視門鈴)
  • 可以通過網(wǎng)頁控制(使用IP地址或路由器符號名在本地WiFi中訪問)
  • 有備用電池,測量電源電壓和電池電量(剩余百分比)并知道它何時由 USB 供電

使用的零件:

  • Arduino MKR Wifi 1010
  • 4x Adafruit 4 位 7 段顯示器,帶 I2C 背包 - 亮白色
  • 1 個帶 I2C 背包的 Adafruit 雙色 8x8 LED 方形像素矩陣
  • 可選:帶連接器 JST PHR-2 的 LiPo Akku(3、7 V;1200mAh)

說明

1. 要構(gòu)建自己的 HM 顯示時鐘,我建議從使用 Mkr1010 和通過跳線連接的顯示器的面包板上開始。(這里不包括外殼的設(shè)計——也許我稍后會添加一些東西……但隨后會作為 3D 打印版本)。硬件設(shè)置非常簡單 - 請參閱提供的示意圖:

  • 將 Mkr1010 板安裝在面包板上并通過(微型)USB 電纜連接到您的 PC
  • 準(zhǔn)備 5 個顯示模塊并將它們?nèi)窟B接到相同的 I2C 總線(Mkr1010 的 SCL、SDA 引腳)和電源(3.3V 和 GND)。確保正確設(shè)置每個顯示器的 I2C 地址,以避免地址沖突(請參閱下面的詳細(xì)信息)
  • 在“5V pin”和“A1”之間以及“A1”和“GND”之間連接2個相等的電阻,例如2.2k作為簡單的分壓器
  • 可選擇連接鋰聚合物電池(3.7V;1.2Ah typ.);確保連接器的極性正確(詳情見下文)就是這樣。
?
?
?
poYBAGNYqHuARi9jABF1RXTpKYU216.jpg
?
1 / 3 ?我的時鐘的早期原型版本(這里我使用了額外的 16x2 Charactor LCD)
?

2.準(zhǔn)備你的Arduino IDE:2.1首先將目標(biāo)設(shè)置為“Boards - Arduino SAMD board - Arduino MKR WiFi 1010”(也許你想先嘗試一些簡單的Mkr WiFi 1010板示例)

poYBAGNYqH6AYT0BAAGjDAZpa7M637.jpg
Arduino IDE 板設(shè)置
?

2.2 然后為 I2C 驅(qū)動的顯示器下載并安裝必要的 Adafruit-LEDBackpack 庫(請參閱 Adafruit 網(wǎng)站上提供的良好說明:https://learn.adafruit.com/adafruit-led-backpack/downloads)

2.3 獲取我的 Arduino 源代碼(見下文),它包含 3 個文件:

  • HMClockDisplay.ino - 主要源代碼
  • menu_inline_css7.h - HTML 菜單源代碼(用于網(wǎng)站)
  • symbols.h - 8x8 點陣顯示的一些符號

確保它們都在一個文件夾中

2.4 在源代碼開頭的“用戶設(shè)置”部分更改您的個人設(shè)置:輸入您的家庭 WiFi 網(wǎng)絡(luò) SSID(名稱)和密碼,并根據(jù)需要調(diào)整您的時區(qū)和夏令時(DST):

// 用戶設(shè)置 : // WIFI 設(shè)置char ssid[] = " XXX "; // 你的 WiFi 網(wǎng)絡(luò)名稱char pass[] = " YYY "; // 您的 WiFi 密碼// 時區(qū)設(shè)置int GMT = 1; // 適應(yīng)您的時區(qū)(例如德國是 GMT+1 -> 設(shè)置為 1 )int DST = 0; // 調(diào)整夏令時(默認(rèn) = 0:無 DST(冬季)

注意:對于初始測試,我建議使用您的“正?!北镜?WiFi 訪問(沒有像訪客 WLAN 那樣的主要限制)以避免任何問題。

2.5. 編譯并上傳代碼到Arduino板

使用串行監(jiān)視器從設(shè)備獲取詳細(xì)信息以進(jìn)行初始測試。會有許多日志輸出,有助于理解 WiFi 連接問題等任何問題。

詳細(xì)說明:

1.WiFi妮娜

Mkr Wifi 1010 板基于微控制器 SAMD21,連接到來自 u-blox 的模塊 NINA-W10,這是一種在 2.4GHz WiFi 范圍內(nèi)運(yùn)行的低功耗芯片組。要訪問您的本地 WiFi 網(wǎng)絡(luò),提供的 WiFiNINA 庫提供了所有必需的功能。有大量使用 WiFiNina 的示例和現(xiàn)有項目。請參閱以下可用文檔:https ://www.arduino.cc/en/Reference/WiFiNINA

在我的項目中,我使用 WiFi 網(wǎng)絡(luò)訪問:

  • 訪問互聯(lián)網(wǎng)時間協(xié)議 NTP 以定期設(shè)置實時時鐘
  • 提供一個簡單的配置網(wǎng)頁(基本上它充當(dāng)一個小服務(wù)器)
  • 從我的 Homematic 智能家居系統(tǒng)接收數(shù)據(jù)以顯示(溫度等)
pYYBAGNYqIaAcuoPAAxcCjMgc8U088.jpg
啟動后搜索WiFi
?

筆記:

  • 在 Arduino IDE 中初始設(shè)置 Mkr1010 板后,您可能需要更新 Nina 固件。可以在 Arudino IDE 中檢查和更新版本。這個更新過程在上面提到的 WiFiNINA 網(wǎng)頁中有描述。
poYBAGNYqIuAcjx4AAE9q79zrmE102.jpg
Arduino IDE 中的 NINA 固件更新程序
?
  • 要從本地 WiFi 網(wǎng)絡(luò)輕松訪問設(shè)備,請將網(wǎng)絡(luò)路由器配置為始終使用相同的 IP 地址。大多數(shù)路由器還允許您分配設(shè)備名稱(因此您無需在瀏覽器中輸入 IP 地址)。我使用了“HMDisplayClock”,它讓我只需輸入http://HMDisplayClock就可以在我的 WiFi 網(wǎng)絡(luò)中的任何瀏覽器中訪問控制頁面(或者,使用 Arduino Mkr 1010 板的 IP 地址當(dāng)然也可以......)
pYYBAGNYqI2AGTFjAAGQNc32ozk160.jpg
一個簡單但有用的網(wǎng)站,用于從本地 WiFi 配置 HM 顯示時鐘
?
  • 如果您想對自己的 WiFi 連接設(shè)備進(jìn)行編程,該設(shè)備需要始終可訪問,這里有一個提示:確保定期檢查您是否仍然連接。您的路由器會不時斷開設(shè)備與網(wǎng)絡(luò)的連接...因此,如果您只建立一次 WiFi(在設(shè)置例程中),幾個小時后您將失去連接。就我而言,我在“handleWifiClient”子例程中每秒檢查一次連接。

2. 自調(diào)時鐘

Arduino 將從返回“紀(jì)元時間”的網(wǎng)絡(luò)時間協(xié)議(NTP) 服務(wù)獲取準(zhǔn)確時間。返回的“紀(jì)元時間戳”是自 1970 年 1 月 1 日以來經(jīng)過的秒數(shù)。因此有必要將時間戳轉(zhuǎn)換為人類可讀的日期和時間信息。此外,必須進(jìn)行時區(qū)和夏令時校正。調(diào)整時區(qū)的子程序基于 Doug Domke 的優(yōu)秀作品“It's about time”(感謝分享?。?/font>https ://www.hackster.io/doug-domke/self-setting-super-accurate-時鐘-5f1162

為此,Doug 的例程 fixTimeZone() 提供了很大幫助,因為調(diào)整時區(qū)可能相當(dāng)復(fù)雜。微控制器(SAMD21)的內(nèi)置實時時鐘將使用此信息定期設(shè)置(我每小時更新一次)。一旦接收到成功的 NTP 更新,矩陣顯示屏上的綠色“NTP”符號會亮起幾秒鐘:

poYBAGNYqJSAZUueAAzuUuFrPtU426.jpg
收到成功的網(wǎng)絡(luò)時間協(xié)議 (NTP) 更新
?

3. 展示

為了可視化所有信息,我決定使用大而明亮的 LED 顯示屏。它們可以安裝在煙色玻璃蓋后面,并允許時鐘模塊的精美設(shè)計。此外,我使用雙色 8x8 矩陣模塊來獲取臨時狀態(tài)信息。

pYYBAGNYqJ6AaY2QABIWUQeIQ_8137.jpg
在前面板上顯示模塊
?

所有顯示模塊均由 Adafruit 制造,文檔齊全并附帶軟件庫。顯示器由 I2C 控制(都連接在同一總線上),可由 3.3V 供電。(注意 Mkr1010 是3.3V設(shè)備,所以不要與 5V 部件混合使用?。?/font>

  • I2C 尋址:使用多個模塊,需要設(shè)置每個顯示模塊的 I2C 地址,以避免地址沖突。每個顯示器上有 3 個“地址調(diào)整焊接跳線”。確保為每個模塊設(shè)置不同的地址。有關(guān)詳細(xì)信息,請參閱 Adafruit 頁面:https ://learn.adafruit.com/adafruit-led-backpack/changeing-i2c-address在我的情況下,我選擇了以下地址(請參閱設(shè)置例程): 時間顯示模塊:0x70 日期顯示模塊:0x71 Temp1 顯示模塊:0x73 Temp2 顯示模塊:0x74 矩陣顯示模塊:0x72
  • 電源預(yù)算檢查:所有顯示器都連接到 MKR1010 板 VCC 引腳,這是一個穩(wěn)定的 3.3V 輸出。MKR ZERO 的規(guī)格表明它可以提供高達(dá) 600 mA 的電流MKR WiFi 1010 也是如此,因為它使用相同的穩(wěn)壓器 (AP2112K-3.3)。我的測量結(jié)果顯示,由 3.3V 提供的所有 4 個顯示器的總電流不超過 120mA,所以應(yīng)該沒問題。

4.家常整合

為了可視化來自 Homematic 智能家居系統(tǒng)的溫度值等信息,中央單元 (CCUx) 需要通過本地 WiFi 連接將傳感器數(shù)據(jù)提供給時鐘。為此,CCU 使用參數(shù)訪問時鐘網(wǎng)頁……像這樣:“ http://HMDisplayClock /?tempR=20.5”

使用您自己的時鐘版本,請先嘗試在瀏覽器中手動輸入...如果一切正常,它將將正確的溫度顯示更新為 20.5C,如下所示:

poYBAGNYqKSAXhdZAAoLHtoHoL4108.jpg
已成功接收到溫度值更新(由“T”指示幾秒鐘)
?

然后按照以下步驟自動將數(shù)據(jù)從 Homematic 中央控制單元 (CCUx) 發(fā)送到時鐘:

4.1.在 Homematic CCU 中安裝以下兩個插件:

a) XML-API:提供 xml 請求功能作為可用 HM 設(shè)備(例如傳感器)的接口https://github.com/homematic-community/XML-API

b) CUxD Deamon:使用腳本命令 CMD_EXEC 將數(shù)據(jù)發(fā)送到使用 WiFi 訪問的時鐘

pYYBAGNYqKeAGpSZAAIfm6n_AVI942.jpg
需要在 CCU 上安裝 XML-API 和 CUxD 附加組件
?

要在安裝 CUxD 后首次啟用 CMD_EXEC 功能,請輸入設(shè)置并使用 CUx 守護(hù)程序中的“Exec”功能創(chuàng)建一個類型為“(28) System”的新設(shè)備,然后通過您的 CCU 收件箱確認(rèn)新設(shè)備并重新啟動您的CCU(此步驟的說明在這里(

4.2. 要選擇應(yīng)在 HM 顯示時鐘上顯示的特定家庭傳感器名稱(數(shù)據(jù)點),請執(zhí)行以下步驟:打開 XML-API 菜單:

設(shè)置-> 控制面板-> 附加軟件-> XML-API設(shè)置->狀態(tài)列表

...將列出所有執(zhí)行器...

找到正確的 并將確切的名稱復(fù)制到文本編輯器

例如“HmIP-RF.000ED8A9909BB2:1.ACTUAL_TEMPERATURE”

poYBAGNYqKuAPM0tAAPa41JXFEA474.jpg
如何為您的家庭溫度傳感器找到正確的“數(shù)據(jù)點”值
?

4.3. 創(chuàng)建一個簡單的 CCU 程序來定期發(fā)送數(shù)據(jù)。就我而言,我希望我的室內(nèi)和室外溫度傳感器每 10 分鐘自動發(fā)送到時鐘。

pYYBAGNYqK6AR2ehAALTMuJZ6Y4207.jpg
使用“時間模塊”簡單地每 10 分鐘左右觸發(fā)一個腳本......
?

為此,我創(chuàng)建了一個時間控制序列作為 CCU 程序,如上所示。此 CCU 程序?qū)⒚?10 分鐘執(zhí)行一次,然后調(diào)用如下腳本:

字符串 Temp1 = dom.GetObject(" BidCos-RF.OEQ0670990:1.TEMPERATURE ").Value().ToString(2); 字符串 Temp2 = dom.GetObject(" HmIP-RF.000ED8A9909BB2:1.ACTUAL_TEMPERATURE ").Value().ToString(2); 字符串 url = " http://HMDisplayClock /?tempL="#Temp1;dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - "#url); 字符串 url = " http://HMDisplayClock /?tempR="#Temp2; dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O -"#url);

用您選擇的數(shù)據(jù)點替換上面第 1+2 行中的傳感器對象(參見步驟 4.2)

(也許對您也有用:我使用這個有用的教程來增強(qiáng)我自己對該主題的了解(德語)

當(dāng)然可以進(jìn)一步擴(kuò)展上述方法。就我而言,每次我的家用門鈴傳感器被激活時,我也用它來顯示門鈴符號。

?

pYYBAGNYqLSAZecIAAUpwIXP2wM366.jpg
另一個 Homematic 可視化:激活的門鈴傳感器將顯示一個符號
?

?

最后——為了完整起見——你當(dāng)然可以使用任何其他本地服務(wù)來代替 Homematic 來提供數(shù)據(jù),只要你能以上述 http 訪問格式發(fā)送信息。

5.電池(可選)

您可以選擇使用鋰聚合物充電電池在斷開 USB 電源后保持時鐘運(yùn)行。Arduino Mkr WiFi 1010 板具有內(nèi)置充電器 Li-Po 充電電路 (BQ24195),允許 Arduino MKR WiFi 1010 使用電池電源或外部 5 伏電源運(yùn)行,在使用外部電源運(yùn)行時為 Li-Po 電池充電.

poYBAGNYqLmACvQxAAq1LzS9bRk071.jpg
斷開 (USB) 電源的時鐘顯示剩余電池容量
?

要在應(yīng)用中檢測USB-Power(+Charging)電池模式,測量 Mkr1010 板的“5V”輸出引腳是一種合適的方法:如果測量到 5V 引腳上的電壓在 5V 左右,則連接 USB 電源,如果使用電池,則為 3.3V。從 5V 引腳到 A1 和 GND 使用 2:1 分壓器 (2xR) 來監(jiān)控電壓電平(因為沒有 5V 可以提供給 3.3V ADC 輸入?。?。有關(guān)詳細(xì)信息,請參見示意圖。

要測量電池電壓本身,請使用 Mkr1010 板上通過“sensorValue = analogRead(ADC_BATTERY);”提供的輸入信號。

電壓(3.3-4.2V)是剩余容量的一個很好的指標(biāo)。我正在評估 5 個不同的級別(請參閱源代碼)。

備注:

  • 使用鋰聚合物可充電單節(jié)電池,3.7V,約 1024mAh Arduino 推薦
  • 電池的連接器類型是 JST PHR-2(在 Arduino 端是 JST S2B-PH-SM4-TB)。重要提示:檢查 JST PHR-2 連接器的極性!板子的 USB 連接器在您的左側(cè),+ 應(yīng)該是左側(cè)引腳(朝向 USB 連接器),請參見下圖。一些可用的鋰聚合物電池極性相反幸運(yùn)的是,如果需要,很容易改變連接器的極性。
poYBAGNYqL-AJj5jAAmOxSJa3TI453.jpg
確保你的鋰聚合物電池的連接器有這個極性
?
  • 關(guān)于切換電源的重要說明- 這沒有很好的記錄:根據(jù) Arduino,從一個電源切換到另一個電源應(yīng)該自動完成。但是:如果 MKR Wifi 1010 使用鋰聚合物電池運(yùn)行,然后插入 USB 充電,則電流將受到極大限制!因此,CRG LED 會在一段時間后閃爍,并且電路板會因電量不足而斷電。這是由于以下限制:由于沒有實現(xiàn)TI BQ芯片的USB監(jiān)控功能(D+和D-),因此無法判斷它是哪種電源。因此,BQ24195L 將安全值 0x30 寫入 reg 0x00,從而將輸入功率限制為 100mA。然后充電進(jìn)入 DPM 模式,電池上的充電電壓下降以限制電流。默認(rèn)設(shè)置。就我而言,我正在使用看門狗重置(請參閱源代碼)。肯定有更優(yōu)雅的方法來解決這個問題(例如重新配置 BQ24195),但對我來說這已經(jīng)足夠了。
pYYBAGNYqMeAK_KVAAy60vvEbjs028.jpg
重新連接USB電源后,需要RESET
?

而已。我希望你喜歡這個項目。

?


時鐘 智能家居 Arduino
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

評論

查看更多

下載排行

本周

  1. 1新一代網(wǎng)絡(luò)可視化(NPB 2.0)
  2. 3.40 MB  |  1次下載  |  免費(fèi)
  3. 2冷柜-電氣控制系統(tǒng)講解
  4. 13.68 MB   |  1次下載  |  10 積分
  5. 3MDD品牌三極管MMBT3906數(shù)據(jù)手冊
  6. 2.33 MB  |  次下載  |  免費(fèi)
  7. 4MDD品牌三極管S9012數(shù)據(jù)手冊
  8. 2.62 MB  |  次下載  |  免費(fèi)
  9. 5LAT1218 如何選擇和設(shè)置外部晶體適配 BlueNRG-X
  10. 0.60 MB   |  次下載  |  3 積分
  11. 6LAT1216 Blue NRG-1/2 系列芯片 Flash 操作與 BLE 事件的互斥處理
  12. 0.89 MB   |  次下載  |  3 積分
  13. 7收音環(huán)繞擴(kuò)音機(jī) AVR-1507手冊
  14. 2.50 MB   |  次下載  |  免費(fèi)
  15. 8MS1000TA 超聲波測量模擬前端芯片技術(shù)手冊
  16. 0.60 MB   |  次下載  |  免費(fèi)

本月

  1. 1愛華AIWA HS-J202維修手冊
  2. 3.34 MB   |  37次下載  |  免費(fèi)
  3. 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊
  4. 1.63 MB   |  23次下載  |  免費(fèi)
  5. 3NB-IoT芯片廠商的資料說明
  6. 0.31 MB   |  22次下載  |  1 積分
  7. 4UWB653Pro USB口測距通信定位模塊規(guī)格書
  8. 838.47 KB  |  5次下載  |  免費(fèi)
  9. 5蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
  10. 0.04 MB   |  4次下載  |  1 積分
  11. 6蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
  12. 0.08 MB   |  2次下載  |  1 積分
  13. 7100W準(zhǔn)諧振反激式恒流電源電路圖資料
  14. 0.09 MB   |  2次下載  |  1 積分
  15. 8FS8025B USB的PD和OC快充協(xié)議電壓誘騙控制器IC技術(shù)手冊
  16. 1.81 MB   |  1次下載  |  免費(fèi)

總榜

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