www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 工業(yè)控制 > 電路設(shè)計項目集錦
[導(dǎo)讀]輕松監(jiān)測室內(nèi)空氣質(zhì)量!這個Arduino應(yīng)用程序,在CY8CKIT-062S2-AI上運行,通過Wi-Fi和MQTT將您的二氧化碳傳感器連接到家庭助理,利用家庭助理的MQTT發(fā)現(xiàn)進(jìn)行無縫集成。

您想要發(fā)現(xiàn)使用PSOC?6微控制器進(jìn)行快速原型設(shè)計的無縫方法并將您的想法變?yōu)楝F(xiàn)實嗎?

通過PSOC?6 Arduino集成,您可以做到這一點!這種強大的組合使您能夠進(jìn)入龐大的Arduino生態(tài)系統(tǒng),并利用PSOC?6微控制器的靈活性。

通過將英飛凌CO2傳感器與PSOC?6 AI評估套件連接,并使用Arduino代碼將其連接到家庭助理,親身體驗其簡單性。告別復(fù)雜性,迎接輕松的原型制作!

概述

輕松監(jiān)測室內(nèi)空氣質(zhì)量!這個Arduino應(yīng)用程序,在CY8CKIT-062S2-AI上運行,通過Wi-Fi和MQTT將您的二氧化碳傳感器連接到家庭助理,利用家庭助理的MQTT發(fā)現(xiàn)進(jìn)行無縫集成。

先決條件:家庭助理和MQTT經(jīng)紀(jì)人

要繼續(xù),您需要準(zhǔn)備以下內(nèi)容:MQTT代理、具有MQTT集成的Home Assistant實例和Wi-Fi網(wǎng)絡(luò)。

這是它!如果您已經(jīng)運行了Home Assistant、MQTT代理和MQTT集成,那么就可以繼續(xù)了。

你需要什么?

硬件設(shè)置

獲取一個英飛凌PAS CO2傳感器,將其連接到PSOC?6 AI評估套件,并運行Arduino代碼讀取傳感器數(shù)據(jù)。然后,將其流式傳輸?shù)郊彝ブ恚涂梢赃M(jìn)行數(shù)據(jù)可視化了!下圖顯示了如何將二氧化碳傳感器連接到工具包。

傳感器需要5V電源來進(jìn)行測量,3.3V電源用于邏輯與通信,您可以在PSOC板上找到:

軟件安裝

步驟1:安裝Arduino IDE

確保安裝了Arduino IDE 2.0或更高版本。如果沒有,請從Arduino官方網(wǎng)站下載并安裝。

步驟2:將PSOC?6板添加到Arduino IDE

如果還沒有,請按照Hackster文章中的說明在Arduino IDE中安裝PSOC?6板。

步驟3:選擇CY8CKIT-062S2-AI板

在Arduino IDE中,導(dǎo)航到Tools > Board >英飛凌PSOC6 Boards并選擇CY8CKIT-062S2-AI板。

步驟4:安裝pas - co2傳感器庫

在Arduino IDE中,轉(zhuǎn)到Sketch > Include Library > Library Manager。搜索pass -co2-sensor并安裝庫。

步驟5:安裝Arduino_JSON庫

在Arduino IDE中,導(dǎo)航到Sketch > Include Library > Library Manager。搜索Arduino_JSON并單擊Install按鈕來安裝庫。此資料庫將簡化為家庭助理準(zhǔn)備訊息。

步驟6:安裝PubSubClient Library

在Arduino IDE中,導(dǎo)航到Sketch > Include Library > Library Manager。搜索PubSubClient并單擊Install按鈕來安裝庫。這是MQTT客戶機(jī),允許連接到MQTT代理。

編碼解碼

常量

現(xiàn)在,所有硬件設(shè)置和軟件安裝完成后,讓我們深入研究代碼。要開始使用我們的傳感器庫,我們需要始終將其與基本Arduino庫一起包含在代碼的頂部:

現(xiàn)在我們必須定義常量參數(shù),包括I2C通信頻率、測量間隔、壓力參考和消息緩沖區(qū)大小。

然后應(yīng)該定義用于建立Wi-Fi連接和MQTT代理的常量。

然后,我們需要使用常量來配置MQTT傳感器與Home Assistant的集成,從而啟用自動發(fā)現(xiàn)和狀態(tài)更新。

然后定義一個名為discoveryMessage的StaticJsonDocument對象,其容量為512字節(jié),用于構(gòu)造用于Home Assistant發(fā)現(xiàn)的JSON消息。

現(xiàn)在我們定義兩個對象sta,它是一個wiificlient對象,將用于建立Wi-Fi連接,然后mqttc,它是PubSubClient對象,將用于MQTT連接。

此外,我們必須實例化一個PASCO2Ino類型的對象來定義我們想要的傳感功能,假設(shè)我們將其命名為cotwo。

聲明一個字符數(shù)組msg,其大小為MSG_BUFFER_SIZE,它將用于存儲MQTT消息。

在我們可以嘗試一切之前,要做的最后一步是創(chuàng)建一個錯誤類型變量和一個16位整數(shù)來存儲我們的傳感器讀數(shù)。(錯誤類型變量將被用作錯誤監(jiān)控緩沖區(qū),我們將監(jiān)控其值以確保一切正常工作):

Wi-Fi連接

現(xiàn)在定義一個函數(shù)connect_wifi來建立Wi-Fi連接。該函數(shù)首先打印一條消息,指示要連接的Wi-Fi網(wǎng)絡(luò),并使用begin()啟動Wi-Fi連接。然后等待連接建立,連接成功后打印成功消息和在Wi-Fi網(wǎng)絡(luò)中獲得的本地IP地址。

MQTT連接

定義了reconnect_mqtt()函數(shù)來建立或重新建立MQTT連接。在這里,它進(jìn)入一個循環(huán),直到MQTT連接建立為止。然后,它嘗試使用mqttc.connect()連接到MQTT代理。如果連接成功,則打印成功消息;如果連接失敗,則打印帶有返回代碼的錯誤消息,并等待3秒后重試。

設(shè)置

現(xiàn)在我們有了setup()函數(shù)。這里我們初始化波特率為115200的串行端口

初始化CO2傳感器的I2C接口。

下一步是實際初始化我們的傳感器,我們通過在我們創(chuàng)建的PASCO2Ino對象的實例上使用begin()函數(shù)來實現(xiàn)。在這里,我們前面創(chuàng)建的錯誤類型變量證明它很方便。我們將使用它來檢查初始化是否成功執(zhí)行:

通過調(diào)用connect_wifi()函數(shù)建立Wi-Fi連接。接下來,使用服務(wù)器地址、端口和緩沖區(qū)大小配置MQTT客戶機(jī),為通信做好準(zhǔn)備。如果MQTT連接丟失,則調(diào)用reconnect_mqtt()函數(shù)來重新建立鏈接。

現(xiàn)在我們必須為PAS CO2傳感器準(zhǔn)備Home Assistant MQTT Discovery消息。請參閱此處查看背后的文檔。這里我們?yōu)閭鞲衅髟O(shè)置了name、state_topic、unit_of_measurement、device_class和unique_id等屬性。

我們還創(chuàng)建了一個嵌套的設(shè)備對象,該對象具有name屬性和一個標(biāo)識符數(shù)組,其中包含我們的MQTT client_id作為標(biāo)識符。

在此之后,JSON對象被序列化為字符串,準(zhǔn)備發(fā)布到MQTT代理。

此代碼將MQTT發(fā)現(xiàn)有效負(fù)載打印到串行控制臺以進(jìn)行調(diào)試。然后,它使用MQTT客戶機(jī)將有效負(fù)載發(fā)布到指定的discoveryTopic,使用false參數(shù)表示消息不應(yīng)保留在代理上。

現(xiàn)在,作為一個可選的中間步驟,我們打印要發(fā)布的消息。

在此之后,消息將發(fā)布到代理的Home Assistant Discovery主題,設(shè)備將已經(jīng)顯示在Home Assistant中。

循環(huán)

主循環(huán)做以下事情:

?如果斷開連接,通過調(diào)用reconnect_mqtt()來維護(hù)MQTT連接。

?使用cotwo. getco2 (co2ppm)檢索CO2傳感器值,如果出現(xiàn)錯誤,則嘗試處理錯誤,如果成功則發(fā)布CO2值。

?將更新的傳感器值發(fā)布到指定的state_topic。

?調(diào)用mqttc.loop()來處理傳入的MQTT消息。

?等待指定的時間間隔(PERIODIC_MEAS_INTERVAL_IN_SECONDS),然后進(jìn)行下一次測量。

現(xiàn)在,一旦你編譯并上傳Arduino代碼到你的PSOC6設(shè)備,你會看到傳感器二氧化碳添加在你的家庭助理MQTT設(shè)備(設(shè)備-> MQTT)。上傳后,您應(yīng)該看到“CO2傳感器設(shè)備”和“CO2值”實體添加。

在幾秒鐘的初始化時間后,傳感器將發(fā)布第一個測量值,該值將更新每個測量間隔。您的設(shè)置已經(jīng)完成,您已經(jīng)準(zhǔn)備好開始監(jiān)控和探索傳感器的讀數(shù)!

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉