電子發(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)>電子資料下載>電子資料>神奇的OpenThread網(wǎng)狀圣誕燈

神奇的OpenThread網(wǎng)狀圣誕燈

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

資料介紹

描述

為什么是網(wǎng)狀?

OpenThread 和 Particle 使創(chuàng)建一個(gè)廉價(jià)的協(xié)調(diào)圣誕燈展變得如此簡單和有趣!傳統(tǒng)的圣誕燈飾都需要連接到中央控制器。在我的設(shè)計(jì)中,每個(gè)網(wǎng)狀設(shè)備都是模塊化的,你只需要提供電源。燈光秀的時(shí)間是通過網(wǎng)狀網(wǎng)絡(luò)協(xié)調(diào)的。安裝和拆卸非常容易,因?yàn)槟枰龅木褪翘峁╇娫础?/font>

對我來說,網(wǎng)狀網(wǎng)絡(luò)的另一個(gè)主要好處是它可以將網(wǎng)絡(luò)擴(kuò)展到我的 Wi-Fi 網(wǎng)絡(luò)范圍之外。前幾年我制作的設(shè)備都使用 Wi-Fi。我的院子里有盲區(qū)和 Wi-Fi 超出范圍的區(qū)域。OpenThread 網(wǎng)狀網(wǎng)絡(luò)非常智能,沒有單點(diǎn)故障,擴(kuò)頻技術(shù)提供抗干擾能力。

為什么是粒子?

Particle 提供了一個(gè) IoT 平臺,可以更輕松地創(chuàng)建網(wǎng)格和其他產(chǎn)品。當(dāng)您不需要從頭開始開發(fā)管道和架構(gòu)時(shí),開發(fā)效率會高得多。我已經(jīng)開發(fā)物聯(lián)網(wǎng)解決方案很長時(shí)間了,并且從頭開始構(gòu)建自己的平臺,但現(xiàn)在我比以往任何時(shí)候都更有效率地專注于產(chǎn)品的業(yè)務(wù)邏輯,而不是花時(shí)間構(gòu)建平臺。Particle 的第三代設(shè)備采用了 OpenThread 網(wǎng)格。

什么是開放線程?

OpenThread 由 Google 發(fā)布,作為 Google 為 Nest 創(chuàng)建的 Thread 的開源實(shí)現(xiàn)。谷歌發(fā)布的聯(lián)網(wǎng)技術(shù)加速了聯(lián)網(wǎng)家庭產(chǎn)品的開發(fā),以使用Thead。(OpenThread 網(wǎng)站: https ://openthread.io/

我的公司正在利用這項(xiàng)技術(shù)進(jìn)行更多的聯(lián)網(wǎng)家庭項(xiàng)目。這項(xiàng)技術(shù)也非常適合制造和其他企業(yè)項(xiàng)目,因?yàn)樵摻鉀Q方案的安裝比通過在設(shè)備或控制器之間連接電線的傳統(tǒng)方法簡單得多。

OpenThread 是基于 IPv6 的低功耗,主要功能包括:(摘自 OpenThread 網(wǎng)站: https ://openthread.io/guides/thread-primer

  • 簡單性——安裝、啟動(dòng)和操作簡單
  • 安全性——Thread 網(wǎng)絡(luò)中的所有設(shè)備都經(jīng)過身份驗(yàn)證,所有通信都經(jīng)過加密
  • 可靠性——自愈網(wǎng)狀網(wǎng)絡(luò),無單點(diǎn)故障,擴(kuò)頻技術(shù)提供抗干擾能力
  • 效率——低功耗 Thread 設(shè)備可以休眠并依靠電池供電運(yùn)行多年
  • 可擴(kuò)展性——Thread 網(wǎng)絡(luò)可以擴(kuò)展到數(shù)百個(gè)設(shè)備

OpenThread 將開發(fā)人員已知的 IPv6 和網(wǎng)絡(luò)/Web 協(xié)議的優(yōu)點(diǎn)擴(kuò)展到網(wǎng)狀網(wǎng)絡(luò)。

網(wǎng)狀網(wǎng)絡(luò)架構(gòu)

我創(chuàng)建了一個(gè)網(wǎng)狀網(wǎng)絡(luò),可以輕松擴(kuò)展以每年添加新的光功能節(jié)點(diǎn)。該網(wǎng)絡(luò)有兩種類型的設(shè)備:

  • 網(wǎng)關(guān)節(jié)點(diǎn) - 粒子氬(Wi-Fi + OpenThread)
  • 光特征節(jié)點(diǎn) - 粒子氙氣(僅限 OpenThread)

網(wǎng)關(guān)節(jié)點(diǎn)

網(wǎng)關(guān)節(jié)點(diǎn)主要用于橋接 Internet 與 OpenThread 網(wǎng)狀網(wǎng)絡(luò)。Particle 制造 Argon 和 Boron 網(wǎng)關(guān)設(shè)備。Argon 專為 Wi-Fi 而建,而 Boron 專為蜂窩網(wǎng)絡(luò)而建。我為網(wǎng)關(guān)編寫的代碼設(shè)計(jì)簡單,不會阻止網(wǎng)關(guān)執(zhí)行其他任務(wù)。我計(jì)劃擴(kuò)展網(wǎng)關(guān)以用于我的家庭自動(dòng)化,并且不希望圣誕燈的邏輯產(chǎn)生明顯的延遲或禁止我的家庭自動(dòng)化中的其他功能。

網(wǎng)關(guān)代碼執(zhí)行以下功能:

  • 訂閱來自圣誕樹的網(wǎng)格消息 - 圣誕樹發(fā)布網(wǎng)格消息以宣布它已完成其燈光模式。網(wǎng)關(guān)偵聽此消息,收到消息后會等待一秒鐘,然后會向所有光功能設(shè)備發(fā)布消息以啟動(dòng)新模式。
  • 有一個(gè)粒子函數(shù)的處理程序來更新模式。粒子函數(shù)從云中觸發(fā),然后本地網(wǎng)關(guān)處理程序通過網(wǎng)格中繼模式消息。最初,我在燈光特征節(jié)點(diǎn)上只有粒子函數(shù)處理程序,但當(dāng)設(shè)備處于執(zhí)行燈光顯示的緊密循環(huán)中時(shí),云函數(shù)經(jīng)常會超時(shí)。在網(wǎng)關(guān)上設(shè)置處理程序可以快速響應(yīng)云確認(rèn)調(diào)用了該功能,并且網(wǎng)格確保將消息傳遞到所有輕型特征節(jié)點(diǎn)。網(wǎng)格有 15 種操作模式。大多數(shù)模式用于調(diào)試問題,例如點(diǎn)亮單個(gè)通道以放置功能或查找需要更換的燈泡。
  • 為我通常連接的所有接入點(diǎn)設(shè)置 Wi-Fi 憑據(jù)。這包括我的房子、我的電話和辦公室。這使得將網(wǎng)格移動(dòng)到辦公室或在會議上以我的手機(jī)作為接入點(diǎn)進(jìn)行演示變得容易。
  • 心跳指示燈。我?guī)缀蹩偸菫槲业?a target='_blank' class='arckwlink_none'>微控制器項(xiàng)目添加一個(gè)心跳 LED這會添加一個(gè)快速視覺指示器,表明設(shè)備處于活動(dòng)狀態(tài)且未掛起。Particle 原型設(shè)備都有一個(gè) LED 連接到 PCB 上的 D7 引腳,所以我通常將其用于心跳 LED。

燈光特征節(jié)點(diǎn)

所有輕特性節(jié)點(diǎn)都運(yùn)行相同的代碼副本。為每個(gè)設(shè)備部署不同的代碼或具有不同版本的代碼將是代碼維護(hù)的噩夢。每次我添加新功能或修復(fù)錯(cuò)誤時(shí),我都會將更新部署到網(wǎng)絡(luò)上的所有輕功能節(jié)點(diǎn)。Particle 構(gòu)建了一個(gè)平臺,支持從 Particle 云通過網(wǎng)關(guān)設(shè)備到網(wǎng)狀節(jié)點(diǎn)的無線 OTA 更新。網(wǎng)狀節(jié)點(diǎn)旨在安裝在高高的樹上,因此能夠在任何時(shí)間和惡劣天氣下從我舒適的客廳或任何有互聯(lián)網(wǎng)連接的地方更新固件是非常好的和安全的。操作系統(tǒng)的版本和在設(shè)備上運(yùn)行業(yè)務(wù)邏輯的固件都可以從粒子云推送到 OpenThread 網(wǎng)狀網(wǎng)絡(luò)上的設(shè)備!粒子實(shí)時(shí)操作系統(tǒng) RTOS 存在一個(gè)問題,有時(shí)網(wǎng)格節(jié)點(diǎn)的 OTA 更新會因代碼運(yùn)行光模式特征的緊密循環(huán)而出現(xiàn)問題。簡單的解決方法是首先通過上面網(wǎng)關(guān)部分討論的粒子函數(shù)更新網(wǎng)格節(jié)點(diǎn)的模式。我將更新所有燈光功能節(jié)點(diǎn)上的模式以退出緊密循環(huán)并打開所有燈光。一旦我看到所有的燈都亮了,我就會運(yùn)行 OTA 更新,并且每次都會可靠地更新固件。簡單的解決方法是首先通過上面網(wǎng)關(guān)部分討論的粒子函數(shù)更新網(wǎng)格節(jié)點(diǎn)的模式。我將更新所有燈光功能節(jié)點(diǎn)上的模式以退出緊密循環(huán)并打開所有燈光。一旦我看到所有的燈都亮了,我就會運(yùn)行 OTA 更新,并且每次都會可靠地更新固件。簡單的解決方法是首先通過上面網(wǎng)關(guān)部分討論的粒子函數(shù)更新網(wǎng)格節(jié)點(diǎn)的模式。我將更新所有燈光功能節(jié)點(diǎn)上的模式以退出緊密循環(huán)并打開所有燈光。一旦我看到所有的燈都亮了,我就會運(yùn)行 OTA 更新,并且每次都會可靠地更新固件。

所有網(wǎng)格光特征節(jié)點(diǎn)都運(yùn)行相同的代碼,但每個(gè)節(jié)點(diǎn)都知道自己的身份,并且可以根據(jù)自己的身份運(yùn)行特殊的例程。當(dāng)代碼在 setup 方法中初始化時(shí),燈光特征節(jié)點(diǎn)訂閱 Particle, particle/device/name, api 返回友好的設(shè)備名稱。然后代碼可以根據(jù)設(shè)備的友好名稱標(biāo)識進(jìn)行切換。到目前為止,代碼中只有一個(gè)基于設(shè)備身份的開關(guān)。christmasTree 設(shè)備是特殊的,被視為領(lǐng)導(dǎo)者,當(dāng) christmasTree 在啟動(dòng)時(shí)空閑或完成一個(gè)燈光模式后空閑時(shí),向網(wǎng)關(guān)發(fā)送一條消息,告訴它是時(shí)候發(fā)送同步網(wǎng)格消息了。如果網(wǎng)關(guān)被拔掉,christmasTree 將繼續(xù)每秒發(fā)送消息。一旦網(wǎng)關(guān)確認(rèn) christmasTree 空閑,它就會發(fā)送關(guān)于 christmasLights 主題的網(wǎng)格消息。所有燈光功能節(jié)點(diǎn)都訂閱了 christmasLights 主題,并在收到消息后開始燈光秀。所有網(wǎng)狀節(jié)點(diǎn)幾乎同時(shí)接收消息,并且?guī)缀跬昝琅判颉?/font>可以注意到小至 20 毫秒的排序延遲,因此所有設(shè)備似乎完全一致地工作真是太棒了。

圣誕樹建造

我用一些固態(tài)繼電器、圣誕燈和黑鐵 1/2 英寸管道建造了 20 英尺高的樹。黑色鐵管可以從五金店購買,每段 10 英尺,因此您還需要使用耦合器配件連接兩段管道。我將 3/4 英寸的 PVC 管錘入地面約 1.5 英尺,這樣我就不需要每年挖一個(gè)洞來支撐這棵樹。這棵樹有 12 個(gè)固態(tài)繼電器通道,每個(gè)通道都有 100 個(gè)綠色燈泡串,我用一根繩子系在上面,并在每個(gè)角上串在地上。使用脈沖寬度調(diào)制來控制每個(gè)通道的亮度是最理想的,但是 Particle Xenon 沒有可用的 12 個(gè) pwm 引腳,所以我編寫了自己的脈沖邏輯來控制每個(gè)通道的亮度在一個(gè)緊密的循環(huán)中。

pYYBAGOSp6yAPRaDABgRqCEcX_M880.jpg
二十英尺圣誕燈樹的建造
?
pYYBAGOSp9uAMJuLAAp4PwY37fg647.jpg
20 英尺圣誕節(jié) OpenThread 網(wǎng)格樹
?

圣誕舞會建設(shè)

我制作了 2 組 6 個(gè)圣誕球,每個(gè)球的直徑為 1 英尺,并有 200 個(gè)圣誕燈。每組 6 個(gè)球有 1 個(gè)粒子氙和一組控制每個(gè)球亮度的固態(tài)繼電器。一半的球是用紅燈做的,另一半是用綠燈做的。兩組 6 個(gè)球位于不同的電路上,因此每組 6 個(gè)球可以安裝在不同的樹上或展示在院子的不同區(qū)域。

pYYBAGOSqECAIHZtABkKOENSRdI064.jpg
圣誕舞會的施工圖
?

?

結(jié)論

OpenThread 提供了一種同步圣誕燈的絕佳方法,您無需將所有燈連接到中央控制器。彈性網(wǎng)狀網(wǎng)絡(luò)比 Wi-Fi 可靠得多。Particle 提供了一個(gè)平臺,使使用 OpenThread 和做 IoT 變得更容易,也更有趣!我希望您喜歡這篇文章并構(gòu)建一些您自己的 OpenThread 圣誕魔法燈!


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)