日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

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

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

通過PSOC?6 Arduino集成,您可以做到這一點!這種強大的組合使您能夠進入龐大的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)進行無縫集成。

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

要繼續(xù),您需要準備以下內(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ù)郊彝ブ?,您就可以進行數(shù)據(jù)可視化了!下圖顯示了如何將二氧化碳傳感器連接到工具包。

傳感器需要5V電源來進行測量,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按鈕來安裝庫。此資料庫將簡化為家庭助理準備訊息。

步驟6:安裝PubSubClient Library

在Arduino IDE中,導(dǎo)航到Sketch > Include Library > Library Manager。搜索PubSubClient并單擊Install按鈕來安裝庫。這是MQTT客戶機,允許連接到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連接。在這里,它進入一個循環(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客戶機,為通信做好準備。如果MQTT連接丟失,則調(diào)用reconnect_mqtt()函數(shù)來重新建立鏈接。

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

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

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

此代碼將MQTT發(fā)現(xiàn)有效負載打印到串行控制臺以進行調(diào)試。然后,它使用MQTT客戶機將有效負載發(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()來維護MQTT連接。

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

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

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

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

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

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

本文編譯自hackster.io

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉