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

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

3天內(nèi)不再提示

3分鐘打造手機(jī)APP遠(yuǎn)程空氣質(zhì)量監(jiān)測應(yīng)用(STM32L432 Nucleo)

機(jī)智云 ? 2022-05-24 18:16 ? 次閱讀

降低IoT開發(fā)門檻是機(jī)智云的不懈追求,所以機(jī)智云先后推出自助開發(fā)平臺、MCU代碼自動生成器、APP在線生成器、D3規(guī)則引擎等工具,不斷延伸物聯(lián)網(wǎng)生態(tài),兼容不同系列的MCU產(chǎn)品,適配STM32cubemx,大大簡化 MCU 開發(fā),降低門檻。

本文以程空氣質(zhì)量監(jiān)測應(yīng)用為例,講解STM32接入機(jī)智云,通過STM32CubeMX 圖形化配置工具生成 MCU 工程,然后只需編寫幾個簡單的接口,即可將機(jī)智云自助生成的 STM32 方案工程里面的設(shè)備協(xié)議移植過來,這樣可以十分方便的將其它型號 STM32 微控制 器連上機(jī)智云,開發(fā)智能產(chǎn)品。

本文的讀者對象需要掌握的是:

1. 知道如何利用機(jī)智云自助開發(fā)生成 MCU 工程;2. 知道如何利用 STM32CubeMX 配置外設(shè),生成 STM32 工程;3. 其它如開發(fā)工具 Keil,串口調(diào)試助手,STLINK,STM32CubeMX 等軟件的安裝使用教程這里不會贅述,新手可前往機(jī)智云開發(fā)者社區(qū)參考前期教程;

通過本文讀者將學(xué)會:

1.如何把機(jī)智云生成的協(xié)議移植到 STM32CubeMX 生成的工程; 2. ADC模數(shù)轉(zhuǎn)換器)的使用; 3.GPIO 的使用; 4 . 非阻塞長短按鍵程序的移植; 5.簡單的物聯(lián)網(wǎng)應(yīng)用開發(fā)流程;

先來張全家福:

bb49fe5a-daba-11ec-b80f-dac502259ad0.png

視頻請戳:

http://player.youku.com/player.php/sid/XMTc3MzA1NTk1Mg==/v.swf

本文使用的硬件為:

bb749af2-daba-11ec-b80f-dac502259ad0.png

軟件工具為:

1.STM32CubeMX V4.16.1; 2.機(jī)智云自助開發(fā)平臺; 3.串口調(diào)試助手; 4 . Keil V5.21.1.0;

01云端準(zhǔn)備

我們這里演示的是一個簡單的遠(yuǎn)程空氣質(zhì)量監(jiān)測應(yīng)用,即微控制器采集空氣質(zhì)量傳感器的數(shù)據(jù),通過 WIFI 上報到機(jī)智云服務(wù)器,然后我們通過手機(jī)端 APP 即可遠(yuǎn)程查看監(jiān)測值。

我們先在機(jī)智云自助開發(fā)平臺建立數(shù)據(jù)點(diǎn)并生成一個 MCU 方案 STM32 工程。

注:機(jī)智云自助開發(fā)平臺 dev.gizwits.com

具體步驟請參考請參考 http://club.gizwits.com/thread-3546-1-1.html

bbabdc42-daba-11ec-b80f-dac502259ad0.png

通過對機(jī)智云的了解,我們知道,以下幾個是必須的:

配置 WIFI 模塊入網(wǎng)方法和觸發(fā)方式;

為了和生成的測試 APP 配合,我們一般選擇長按 Key2,RGB 綠燈亮起作為提示;

一個串口用于打印日志,方便調(diào)試,波特率沒有要求;另一個串口(實(shí)現(xiàn)中斷接收和寫)用于和 WIFI 模組通信,波特率要求為 9600,其它參數(shù)后文給出;

MCU 需要一個定時器,1ms 中斷作為心跳;上面紅色的文字是實(shí)現(xiàn)任意 MCU 通過 WIFI 模塊連接機(jī)智云所必須的。

02硬件準(zhǔn)備

STM32L432 Nucleo-32 開發(fā)板是 Nucleo-32 系列開發(fā)板中最新的一款,它采用了STM32L432KC6 微控制器,除了具有良好的性能外,還支持超低功耗,板載 STlink 仿真器。

bbe1468e-daba-11ec-b80f-dac502259ad0.png

bc17423e-daba-11ec-b80f-dac502259ad0.png

根據(jù) STM32 Nucleo-32 原理圖,USART2(PA2 為 USART2_TX,PA15 為 USART2_RX)與板載仿真器連接,因此我們將它作為調(diào)試打印日志用。

bc46e2e6-daba-11ec-b80f-dac502259ad0.png

這里 MQ-135 空氣質(zhì)量傳感器 A0 輸出電壓值代表了空氣質(zhì)量狀況,我們使用 ADC 來采集這個電壓值。

bc7e3cdc-daba-11ec-b80f-dac502259ad0.png

按鍵使用 2 個,由于 STM32 GPIO 內(nèi)部可配置上拉輸入模式,因此無需額外的上拉電阻,我們使用最簡單的方法,GPIO 輸入檢測到低電平表示按鍵按下。三色 LED 為共陰極 LED,采用 GPIO 輸出高電平點(diǎn)亮的接線方式,限流電阻取 510 歐姆。

最終我們使用的外設(shè)如下:

bcbf5c8a-daba-11ec-b80f-dac502259ad0.png

03移植開始

3.1、首先來看 STM32CubeMX 的配置。

STM32CubeMX 生成的 PDF 報表詳細(xì)描述了工程的配置信息,限于篇幅這里就不貼圖了,

具體可查閱原文附件文檔:

Nucleo-L432KCU6-Gokit-STM32CubeMX 配置報表.pdf

原文地址:club.gizwits.com/thread-3876-1-1.html

這里解釋以下幾個關(guān)鍵的配置:

a) 選擇的微控制器型號為 STM32L432KCU6,這里大家根據(jù)實(shí)際選用的型號選擇即可;b) 本板卡沒有焊接外部高速晶振,因此選擇的是內(nèi)部晶振,倍頻后,系統(tǒng)時鐘為80MHz,這里時鐘配置和我們后面配置定時器有關(guān);c) 開啟定時器 7,將作為按鍵掃描用,配置為 1ms 中斷,定時器 7 時鐘為f=80MHz/( Prescaler+1),向上計數(shù)模式,計數(shù)到(ARR+1),進(jìn)入中斷;d) 開啟定時器 6,將作為心跳用,配置為 1ms 中斷,定時器 6 時鐘為f=80MHz/( Prescaler+1),向上計數(shù)模式,計數(shù)到(ARR+1),進(jìn)入中斷;e) 串口 2 選擇 Asynchronous 模式,將作為打印日志調(diào)試用。配置為 115200 波特率、8位數(shù)據(jù)、無校驗、1 位停止位,數(shù)據(jù)傳輸方向為發(fā)送和接收雙向(PS:其實(shí)這里只用到了 TX);f) 串口 1 選擇 Asynchronous 模式,將作為和 WIFI 模組通信用。參數(shù)需要符合機(jī)智云串口通信協(xié)議規(guī)定:即 9600 波特率、8 位數(shù)據(jù)、無校驗、1 位停止位;另外和 WIFI 模組通信的串口 1 需要配置為中斷接收;g) PB3 是板卡上的翠綠色 LED,給它添加標(biāo)簽 LED3;h) PB0 和 PA12 是連接了按鍵,配置為上拉輸入模式,給它添加標(biāo)簽 Key1,Key2; i) 開啟模數(shù)轉(zhuǎn)換器 ADC1,通道 5 對應(yīng)的 GPIO 是 PA0,配置為 Analog mode 并開啟DMA 傳輸,傳輸方向是外設(shè)到內(nèi)存且地址不自增,字長為 word;

3.2.工程文件的添加和修改

工程文件的添加和修改內(nèi)容主要是:

按鍵驅(qū)動的移植;1ms 定時心跳的移植;串口讀寫的移植;工程框架的移植;

移植步驟參考:club.gizwits.com/thread-3641-1-1.html

下面簡單解釋下應(yīng)用程序部分,即 ADC DMA 方式采集模擬電壓信號

bceba3da-daba-11ec-b80f-dac502259ad0.png

我們在 main.c 文件定義全局變量 ADC_ConvertedValue 存放 ADC 數(shù)據(jù)寄存器讀取值,ADC_ConvertedValueLocal 為換算的電壓值,由于參考電壓為 3.3V,ADC 精度為 12bit,

計算公式如下:

ADC_ConvertedValueLocal =ADC_ConvertedValue)*3.3/4095;

bd202dbc-daba-11ec-b80f-dac502259ad0.png

初始化完成后調(diào)用 HAL_ADC_Start_DMA()啟動 ADC,使用 ADC 的好處是無需 CPU干預(yù),減少 CPU 負(fù)擔(dān)。

bd5b8fec-daba-11ec-b80f-dac502259ad0.png

在 main.c 里定義一個 ADC 轉(zhuǎn)換完成回調(diào)函數(shù),里面重新啟動 ADC 轉(zhuǎn)換。

bd876bee-daba-11ec-b80f-dac502259ad0.png

在 userHandle()接口里面把 ADC 采集的數(shù)值賦值給 airQuality 字段即可,當(dāng)然這里可以加上一些數(shù)據(jù)處理,轉(zhuǎn)換代碼。

接下來就是調(diào)試了,關(guān)于如何在機(jī)智云自助開發(fā)平臺生成 STM32 工程和測試 APP 以及配置入網(wǎng)步驟,這里不再贅述,不清楚的請參考:

http://club.gizwits.com/thread-3546-1-1.html

http://club.gizwits.com/thread-3550-1-1.html

http://club.gizwits.com/thread-3572-1-1.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IOT
    IOT
    +關(guān)注

    關(guān)注

    187

    文章

    4222

    瀏覽量

    197172
  • 機(jī)智云
    +關(guān)注

    關(guān)注

    2

    文章

    590

    瀏覽量

    26441
收藏 人收藏

    評論

    相關(guān)推薦

    如何利用地物高光譜進(jìn)行空氣質(zhì)量監(jiān)測?

    地物高光譜遙感技術(shù)在環(huán)境監(jiān)測領(lǐng)域展現(xiàn)出強(qiáng)大的應(yīng)用潛力。借助高光譜數(shù)據(jù),可以實(shí)現(xiàn)對空氣質(zhì)量的全面監(jiān)測,提供準(zhǔn)確、實(shí)時的信息支持。以下是利用地物高光譜進(jìn)行空氣質(zhì)量
    的頭像 發(fā)表于 01-03 10:37 ?130次閱讀
    如何利用地物高光譜進(jìn)行<b class='flag-5'>空氣質(zhì)量</b><b class='flag-5'>監(jiān)測</b>?

    Nordic無線物聯(lián)網(wǎng)技術(shù)協(xié)助開發(fā)空氣質(zhì)量監(jiān)測系統(tǒng)

    是無法知道空氣中到底有那些污染物的。幸運(yùn)的是,通過精確的空氣質(zhì)量監(jiān)測設(shè)備與無線物聯(lián)網(wǎng)系統(tǒng),將有助于檢測出空氣質(zhì)量,再通過空氣濾清設(shè)備來凈化
    的頭像 發(fā)表于 12-11 09:14 ?787次閱讀
    Nordic無線物聯(lián)網(wǎng)技術(shù)協(xié)助開發(fā)<b class='flag-5'>空氣質(zhì)量</b><b class='flag-5'>監(jiān)測</b>系統(tǒng)

    簡單認(rèn)識華盛昌空氣質(zhì)量控制器

    顯著,它不僅可以實(shí)時監(jiān)測室內(nèi)空氣質(zhì)量,包括PM2.5、二氧化碳、TVOC等指標(biāo),并及時給出相應(yīng)的警示,還可以自動開啟空氣凈化器并調(diào)整通風(fēng)系統(tǒng),讓室內(nèi)空氣保持清新,在各大細(xì)分場景中得到了
    的頭像 發(fā)表于 11-15 14:10 ?273次閱讀
    簡單認(rèn)識華盛昌<b class='flag-5'>空氣質(zhì)量</b>控制器

    空氣質(zhì)量傳感器有哪些優(yōu)勢

    空氣質(zhì)量傳感器以其高效、便捷、準(zhǔn)確的特點(diǎn),在我國環(huán)境保護(hù)事業(yè)中發(fā)揮著重要的作用。未來,隨著技術(shù)的不斷進(jìn)步和應(yīng)用領(lǐng)域的不斷拓展,空氣質(zhì)量傳感器將為我國的環(huán)保事業(yè)貢獻(xiàn)更多的智慧和力量。
    的頭像 發(fā)表于 10-21 15:24 ?198次閱讀

    空氣質(zhì)量傳感器的功能特點(diǎn)

    空氣質(zhì)量傳感器作為一款高效、便捷的監(jiān)測設(shè)備,在我國環(huán)境保護(hù)事業(yè)中發(fā)揮著越來越重要作用,空氣質(zhì)量傳感器能夠幫助我們實(shí)時監(jiān)測和改善空氣質(zhì)量,保護(hù)
    的頭像 發(fā)表于 08-29 16:05 ?349次閱讀

    空氣質(zhì)量傳感器解決方案

    空氣質(zhì)量傳感器解決方案
    發(fā)表于 08-08 12:59 ?0次下載

    城市空氣質(zhì)量監(jiān)測解決方案

    隨著城市化進(jìn)程的加快,空氣質(zhì)量問題逐漸成為人們關(guān)注的焦點(diǎn)。空氣污染不僅影響人們的健康,也對環(huán)境造成了不可逆的損害。因此,制定并實(shí)施有效的城市空氣質(zhì)量監(jiān)測解決方案,對于保障公眾健康、促進(jìn)
    的頭像 發(fā)表于 07-02 16:28 ?386次閱讀

    如何使用空氣質(zhì)量傳感器檢測新房室內(nèi)空氣質(zhì)量

    隨著人們對健康居住環(huán)境的日益關(guān)注,新房室內(nèi)空氣質(zhì)量成為了一個不可忽視的問題。室內(nèi)空氣質(zhì)量不僅關(guān)乎居住者的舒適度,更直接關(guān)系到人們的身體健康。因此,使用空氣質(zhì)量傳感器來檢測新房室內(nèi)空氣質(zhì)量
    的頭像 發(fā)表于 05-29 15:00 ?433次閱讀
    如何使用<b class='flag-5'>空氣質(zhì)量</b>傳感器檢測新房室內(nèi)<b class='flag-5'>空氣質(zhì)量</b>

    一款基于 LoRaWAN 標(biāo)準(zhǔn)協(xié)議、遠(yuǎn)距離通信的空氣質(zhì)量傳感器

    傳數(shù)據(jù),可以第一時間感知空氣質(zhì)量 數(shù)據(jù)的變化,一體化的結(jié)構(gòu)設(shè)計,安裝方便,可以吸頂或者墻壁側(cè)裝。廣泛應(yīng)用于酒店、學(xué)校、醫(yī)院、辦公樓、倉庫、博物館等多種室內(nèi)場景的空氣質(zhì)量監(jiān)測。 隨著全球工業(yè)化和城鎮(zhèn)化的快速發(fā)展,
    的頭像 發(fā)表于 05-13 09:32 ?382次閱讀
    一款基于 LoRaWAN 標(biāo)準(zhǔn)協(xié)議、遠(yuǎn)距離通信的<b class='flag-5'>空氣質(zhì)量</b>傳感器

    STM32L432用keil debug的時候代碼直接就開始跑了,為什么?

    今天調(diào)了下STM32L432板子,出現(xiàn)了一個問題,用keil debug的時候代碼直接就開始跑了。復(fù)位的位置貌似也不正常。
    發(fā)表于 05-09 07:26

    空氣質(zhì)量傳感器搭上智能手機(jī)?三星新專利曝光

    來源:芯傳感,謝謝 編輯:感知芯視界 Link 海外消息,三星最近獲得了一項可卷曲手機(jī)的專利。這款可卷曲手機(jī)時創(chuàng)新性地集成了空氣質(zhì)量傳感器,這一創(chuàng)新功能可以幫助用戶實(shí)時監(jiān)測
    的頭像 發(fā)表于 03-14 09:23 ?414次閱讀

    安富利推出基于Sysinno的iAeris室內(nèi)空氣質(zhì)量一體化解決方案

    在傳統(tǒng)的空氣質(zhì)量測量方式中,由于技術(shù)限制和操作復(fù)雜性,常常面臨著耗時耗力、成本高昂、精度和準(zhǔn)確性不足等挑戰(zhàn),同時難以滿足實(shí)時可視化的需求。針對這一問題,安富利憑借深厚的行業(yè)經(jīng)驗和技術(shù)積累,推出了基于Sysinno的iAeris室內(nèi)空氣質(zhì)量一體化解決方案,為商業(yè)建筑和企業(yè)應(yīng)
    的頭像 發(fā)表于 03-07 09:23 ?757次閱讀

    城市空氣質(zhì)量監(jiān)測系統(tǒng)功能特點(diǎn)

    空氣質(zhì)量,在城市內(nèi)部署選擇一些監(jiān)測點(diǎn),放置傳感器節(jié)點(diǎn),并通過GPRS、WiFi、LoRa等通訊網(wǎng)絡(luò)實(shí)時的傳輸數(shù)據(jù),通過智慧氣象管理平臺,進(jìn)行遠(yuǎn)程管理和配置、發(fā)布監(jiān)測任務(wù)或是收集回傳數(shù)據(jù)
    的頭像 發(fā)表于 03-04 16:12 ?877次閱讀

    如何使用智能型空氣質(zhì)量傳感器監(jiān)測環(huán)境

    作者:Jeff Shepard 投稿人:DigiKey 北美編輯 現(xiàn)在,采用智能型空氣質(zhì)量傳感器進(jìn)行環(huán)境監(jiān)測在各種各樣的應(yīng)用中迅猛擴(kuò)展,從智能家居、建筑和城市,到傳統(tǒng)汽車、電動汽車 (EV) 和電池
    的頭像 發(fā)表于 02-13 18:14 ?1095次閱讀
    如何使用智能型<b class='flag-5'>空氣質(zhì)量</b>傳感器<b class='flag-5'>監(jiān)測</b>環(huán)境

    構(gòu)建一個基于Arduino的空氣質(zhì)量監(jiān)測系統(tǒng)

    呼吸清潔、健康的空氣對我們的健康至關(guān)重要,但在許多環(huán)境中,空氣質(zhì)量仍然是一個問題。在本文中,我們將深入探討如何創(chuàng)建一個基于Arduino的空氣質(zhì)量監(jiān)測系統(tǒng)。我們將從討論各種組件開始,然
    的頭像 發(fā)表于 02-11 12:03 ?4251次閱讀
    構(gòu)建一個基于Arduino的<b class='flag-5'>空氣質(zhì)量</b><b class='flag-5'>監(jiān)測</b>系統(tǒng)