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

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

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

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

基于RT-Thread和FRDM-MCXA156的智能頭盔傳感器數(shù)據(jù)采集系統(tǒng) | 技術(shù)集結(jié)

RT-Thread官方賬號(hào) ? 2026-03-13 17:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目錄


項(xiàng)目概述


硬件平臺(tái)


目錄結(jié)構(gòu)


傳感器模塊詳解


線程架構(gòu)


構(gòu)建與燒錄


配置說(shuō)明


數(shù)據(jù)流說(shuō)明


注意事項(xiàng)


文件依賴關(guān)系


代碼倉(cāng)庫(kù)


申請(qǐng)?jiān)囉瞄_發(fā)板

1 項(xiàng)目概述

本項(xiàng)目基于NXP FRDM-MCXA156開發(fā)板,運(yùn)行RT-Thread實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)多傳感器數(shù)據(jù)采集并通過(guò)ESP01S WiFi模塊上報(bào)至華為云IoT平臺(tái)。文末掃碼申請(qǐng)?jiān)囉瞄_發(fā)板。

4a3b73f2-1ec1-11f1-96ea-92fbcf53809c.jpg

1.1 主要功能

4a4acb86-1ec1-11f1-96ea-92fbcf53809c.png

1.2 系統(tǒng)架構(gòu)

+------------------+ +------------------+ +------------------+| 傳感器層 | | 應(yīng)用層 | | 通信層 |+------------------+ +------------------+ +------------------+|drv_mq2.c |--> | MQ2_app.c | | ||drv_dht11.c |--> | dht11_app.c | --> | esp_app.c | --> 華為云IoT|drv_max30102.c |--> | max30102_app.c | | (MQTT上報(bào)) ||(UART接收) |--> | ATGM336H_app.c | | |+------------------+ +------------------+ +------------------+

2 硬件平臺(tái)

2.1 主控芯片

型號(hào): NXP MCXA156

內(nèi)核: ARM Cortex-M33

主頻: 96 MHz

Flash: 1 MB

RAM: 128 KB

2.2 引腳分配

4a577200-1ec1-11f1-96ea-92fbcf53809c.png

3 目錄結(jié)構(gòu)

frdm-mcxa156/├── applications/ # 應(yīng)用層代碼│ ├── main.c # 主函數(shù)入口│ ├── mydefine.h # 通用頭文件定義│ ││ ├── drv_dht11.c/h # DHT11 驅(qū)動(dòng)層│ ├── dht11_app.c/h # DHT11 應(yīng)用層│ ││ ├── drv_mq2.c/h # MQ2 驅(qū)動(dòng)層│ ├── MQ2_app.c/h # MQ2 應(yīng)用層│ ││ ├── drv_max30102.c/h # MAX30102 驅(qū)動(dòng)層│ ├── max30102_app.c/h # MAX30102 應(yīng)用層│ ││ ├── ATGM336H_app.c/h # GPS模塊應(yīng)用層│ ││ ├── esp_app.c/h # ESP01S WiFi/MQTT通信│ ││ ├── adc_app.c/h # ADC采集封裝│ └── uart_app.c/h # 串口工具函數(shù)│├── board/ # 板級(jí)支持包│ ├── board.c/h # 板級(jí)初始化│ ├── Kconfig # 硬件配置菜單│ ├── MCUX_Config/ # NXP MCUXpresso配置│ │ └── board/│ │ ├── clock_config.c/h # 時(shí)鐘配置│ │ └── pin_mux.c/h # 引腳復(fù)用配置│ └── linker_scripts/ # 鏈接腳本│├── packages/ # RT-Thread軟件包│ ├── nxp-mcx-cmsis-latest/ # NXP CMSIS支持│ └── nxp-mcx-series-latest/ # NXP MCX系列驅(qū)動(dòng)│├── .config # RT-Thread配置文件├── rtconfig.h # RT-Thread配置頭文件├── Kconfig # 頂層配置菜單├── SConstruct # SCons構(gòu)建主文件├── project.uvprojx # Keil MDK工程文件└── rtthread.elf/bin # 編譯輸出文件

4 傳感器模塊詳解

4.1 MQ2 氣體傳感器

文件:drv_mq2.c/h,MQ2_app.c/h

功能:檢測(cè)甲烷(CH4)等可燃?xì)怏w濃度

數(shù)據(jù)結(jié)構(gòu):

typedefstruct { rt_base_tdopin; // 數(shù)字輸出引腳 floatadc_val; // ADC原始值 floatch4ppm; // 甲烷濃度 (ppm)}mq2_device_t;

API接口:

// 初始化MQ2設(shè)備rt_err_tmq2_init(mq2_device_t*dev,rt_base_tdopin);// 讀取氣體濃度mq2_result_tMQ2_GetPmm(mq2_device_t*dev);// 獲取當(dāng)前甲烷濃度 (應(yīng)用層接口)floatmq2_get_ch4ppm(void);

全局變量:g_mq2_dev- MQ2設(shè)備對(duì)象

4.2 DHT11 溫濕度傳感器

文件:drv_dht11.c/h,dht11_app.c/h

功能:檢測(cè)環(huán)境溫度和濕度

數(shù)據(jù)結(jié)構(gòu):

typedefstruct { rt_base_tpin; // 數(shù)據(jù)引腳 rt_uint8_thumidity; // 濕度整數(shù)部分 rt_uint8_ttemperature;// 溫度整數(shù)部分}dht11_device_t;

API接口:

// 初始化DHT11設(shè)備rt_err_tdht11_init(dht11_device_t*dev,rt_base_tpin);// 讀取溫濕度數(shù)據(jù)dht11_result_tdht11_read(dht11_device_t*dev,rt_uint8_t*temp,rt_uint8_t*humi);// 獲取當(dāng)前溫度 (應(yīng)用層接口)rt_uint8_tdht11_get_temperature(void);// 獲取當(dāng)前濕度 (應(yīng)用層接口)rt_uint8_tdht11_get_humidity(void);

全局變量:

g_dht11_dev- DHT11設(shè)備對(duì)象

g_dht11_temperature- 最新溫度值

g_dht11_humidity- 最新濕度值

4.3 MAX30102 心率血氧傳感器

文件:drv_max30102.c/h,max30102_app.c/h

功能:通過(guò)紅光和紅外光檢測(cè)心率和血氧

通信接口:I2C (地址: 0x57)

數(shù)據(jù)結(jié)構(gòu):

typedefstruct { structrt_i2c_bus_device *i2c_bus; // I2C總線句柄 rt_mutex_tlock; // 互斥鎖 rt_uint8_taddr; // I2C地址 rt_bool_tinitialized; // 初始化標(biāo)志}max30102_device_t;

API接口:

// 初始化MAX30102設(shè)備max30102_device_t*max30102_init(constchar *i2c_bus_name);// 從FIFO讀取LED數(shù)據(jù)rt_err_tmax30102_read_fifo(max30102_device_t*dev, rt_uint32_t*red_led, rt_uint32_t*ir_led);// 獲取心率 (應(yīng)用層接口)rt_uint32_tmax30102_get_heart_rate(void);

全局變量:

g_max30102_red_led- 紅光LED原始值

g_max30102_ir_led- 紅外LED原始值

g_max30102_heart_rate- 心率估算值

工作模式: 支持中斷模式和輪詢模式 (通過(guò)USE_INTERRUPT_MODE宏切換)

4.4 ATGM336H GPS模塊

文件:ATGM336H_app.c/h

功能: 獲取GPS定位信息 (經(jīng)度、緯度)

通信接口: UART2 (波特率: 9600)

數(shù)據(jù)結(jié)構(gòu):

typedefstruct { charGPS_Buffer[80]; // GPS原始數(shù)據(jù)緩沖 charisGetData; // 數(shù)據(jù)接收標(biāo)志 charisParseData; // 數(shù)據(jù)解析標(biāo)志 charUTCTime[11]; // UTC時(shí)間 charlatitude[11]; // 緯度字符串 charN_S[2]; // 南北半球 charlongitude[12]; // 經(jīng)度字符串 charE_W[2]; // 東西半球 charisUsefull; // 定位有效標(biāo)志} _SaveData;typedefstruct { floatlatitude; // 緯度 (十進(jìn)制度) floatlongitude; // 經(jīng)度 (十進(jìn)制度) charN_S; // 南北半球標(biāo)識(shí) charE_W; // 東西半球標(biāo)識(shí)} LatitudeAndLongitude_s;

全局變量:

Save_Data- GPS原始數(shù)據(jù)結(jié)構(gòu)

g_LatAndLongData- 解析后的經(jīng)緯度數(shù)據(jù)

latitude, longitude- 全局經(jīng)緯度變量

4.5 ESP01S WiFi模塊

文件:esp_app.c/h

功能:通過(guò)MQTT協(xié)議將傳感器數(shù)據(jù)上報(bào)至華為云IoT平臺(tái)

通信接口:UART1

云平臺(tái)配置(定義在esp_app.h):

#defineWIFI_NAME "LP11"#defineWIFI_PWD "123456aa"#defineHUAWEI_MQTT_ADDRESS "e8b7ac5772.st1.iotda-device.cn-east-3.myhuaweicloud.com"#defineHUAWEI_MQTT_PORT 1883

API接口:

// 發(fā)送AT指令voidesp_send(constchar *data);// 上報(bào)傳感器數(shù)據(jù)到云端intesp_report(floatdensity,inthr,inttemp,inthumi);

數(shù)據(jù)上報(bào)格式 (MQTT JSON):

{ "services":[{ "service_id":"BasedData", "properties":{ "density":100.5, "heart_rate":75, "temperature":25, "humidity":60 } }]}

5 線程架構(gòu)

系統(tǒng)采用多線程架構(gòu),各傳感器獨(dú)立采集:

4a690b50-1ec1-11f1-96ea-92fbcf53809c.png

6 構(gòu)建與燒錄

6.1 使用Keil MDK

打開project.uvprojx工程文件

編譯:Project -> Build TargetF7

燒錄:Flash -> DownloadF8

6.2 使用SCons (命令行)

# 配置scons--menuconfig# 編譯scons# 清理scons -c

7 配置說(shuō)明

7.1 RT-Thread配置

通過(guò)menuconfig或直接編輯.config文件配置:

# 串口配置CONFIG_BSP_USING_UART0=y # 調(diào)試串口CONFIG_BSP_USING_UART1=y # ESP01SCONFIG_BSP_USING_UART2=y # GPS模塊# I2C配置CONFIG_BSP_USING_I2C0=y # MAX30102# ADC配置CONFIG_BSP_USING_ADC0_CH0=y# MQ2模擬輸出

7.2 傳感器引腳配置

在各應(yīng)用文件中修改引腳定義:

// MQ2_app.c#defineMQ2_DATA_PIN ((3*32)+7) // P3_7// dht11_app.c#defineDHT11_DATA_PIN ((3*32)+6) // P3_6// max30102_app.c#defineMAX30102_INT_PIN ((1*32)+13) // P1_13

8 數(shù)據(jù)流說(shuō)明

[傳感器采集]-->[全局變量更新]-->[esp_thread_entry讀取]-->[esp_report上報(bào)]-->[華為云]時(shí)序:1. 各傳感器線程周期性采集數(shù)據(jù),更新全局變量2. ESP線程在主循環(huán)中讀取全局變量3. 調(diào)用esp_report() 構(gòu)造MQTT消息并發(fā)送4. 華為云IoT平臺(tái)接收并存儲(chǔ)數(shù)據(jù)

9 注意事項(xiàng)

DHT11: 兩次讀取間隔至少2秒

MQ2: 上電后需預(yù)熱穩(wěn)定期

MAX30102: I2C通信需要較大??臻g

GPS: 首次定位需要較長(zhǎng)時(shí)間,室內(nèi)可能無(wú)法定位

ESP01S: WiFi連接需要5秒等待,MQTT連接需要3秒等待

10 文件依賴關(guān)系

mydefine.h (基礎(chǔ)定義) ├── drv_dht11.h ├── drv_mq2.h ├── drv_max30102.h │ ├── dht11_app.h --> dht11_app.c ├── MQ2_app.h --> MQ2_app.c ├── max30102_app.h--> max30102_app.c ├── ATGM336H_app.h--> ATGM336H_app.c │ └── esp_app.h --> esp_app.c (引用所有傳感器數(shù)據(jù))

11 代碼倉(cāng)庫(kù)

倉(cāng)庫(kù)地址https://github.com/drifting-cloudlet/smart_helmet

演示視頻已放在對(duì)應(yīng)倉(cāng)庫(kù)的github releases上,為對(duì)應(yīng)的zip文件。

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

    關(guān)注

    2576

    文章

    55108

    瀏覽量

    791716
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7405

    瀏覽量

    129373
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1618

    瀏覽量

    44930
  • FRDM
    +關(guān)注

    關(guān)注

    1

    文章

    22

    瀏覽量

    5466
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    恩智浦FRDM-MCXA153 RT-Thread開發(fā)實(shí)戰(zhàn)(六):I2C總線開發(fā)與應(yīng)用

    ? 工程創(chuàng)建 目前RT-Thread Studio尚未支持恩智浦FRDM-MCXA153開發(fā)板BSP,需要從gitee下載最新的主線,通過(guò)scons命令創(chuàng)建工程。下載好主線源碼后,在
    的頭像 發(fā)表于 11-21 09:26 ?2833次閱讀
    恩智浦<b class='flag-5'>FRDM-MCXA</b>153 <b class='flag-5'>RT-Thread</b>開發(fā)實(shí)戰(zhàn)(六):I2C總線開發(fā)與應(yīng)用

    風(fēng)洞懸浮球:基于RT-ThreadMCXA156的簡(jiǎn)單控制實(shí)踐 | 技術(shù)集結(jié)

    目錄項(xiàng)目概述硬件選型與連接軟件架構(gòu)設(shè)計(jì)VL53L0X配置風(fēng)扇控制(PWM)控制算法遠(yuǎn)程監(jiān)控OLED數(shù)據(jù)顯示有待改進(jìn)的地方項(xiàng)目源碼直播回放1項(xiàng)目概述本項(xiàng)目基于RT-Thread實(shí)時(shí)操作系統(tǒng)
    的頭像 發(fā)表于 10-17 11:53 ?5544次閱讀
    風(fēng)洞懸浮球:基于<b class='flag-5'>RT-Thread</b>與<b class='flag-5'>MCXA156</b>的簡(jiǎn)單控制實(shí)踐 | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>

    智能門鎖:基于RT-ThreadFRDM-MCXA156的多外設(shè)嵌入式實(shí)踐 | 技術(shù)集結(jié)

    本項(xiàng)目為RT-Thread嵌入式大賽獲獎(jiǎng)作品,基于恩智浦MCXA156系列微控制構(gòu)建了一款多功能智能門鎖控制系統(tǒng)。目前,恩智浦已有多款產(chǎn)品
    的頭像 發(fā)表于 01-23 11:06 ?6705次閱讀
    <b class='flag-5'>智能</b>門鎖:基于<b class='flag-5'>RT-Thread</b>與<b class='flag-5'>FRDM-MCXA156</b>的多外設(shè)嵌入式實(shí)踐 | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>

    基于RT-ThreadMCXA156的USB HID游戲手柄設(shè)計(jì)與實(shí)現(xiàn) | 技術(shù)集結(jié)

    目錄項(xiàng)目概述RT-Thread使用情況概述硬件框架軟件框架說(shuō)明軟件模塊說(shuō)明效果演示代碼地址總結(jié)1項(xiàng)目概述1.1實(shí)現(xiàn)功能本項(xiàng)目基于NXPFRDM-MCXA156開發(fā)板,實(shí)現(xiàn)了一個(gè)標(biāo)準(zhǔn)的USBHID游戲
    的頭像 發(fā)表于 02-02 18:53 ?6930次閱讀
    基于<b class='flag-5'>RT-Thread</b>與<b class='flag-5'>MCXA156</b>的USB HID游戲手柄設(shè)計(jì)與實(shí)現(xiàn) | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>

    FRDM-MCXA156 LPUART1不工作是哪里出了問(wèn)題?

    我正在使用 FRDM-MCXA156并且MCUXpresso IDE 版本 24.12 我無(wú)法讓LPUART1工作。 我導(dǎo)入了使用 LPUART0 的示例
    發(fā)表于 04-07 06:23

    RT-Thread作品秀】精選作品集,來(lái)看看大佬是怎么玩轉(zhuǎn)RT-Thread

    通過(guò)GPRS上傳數(shù)據(jù)至云服務(wù),上位機(jī)部分接收云端返回數(shù)據(jù)并進(jìn)行本地顯示。3、基于RT-Thread和MM32L373開發(fā)板的藥房冷鏈監(jiān)控系統(tǒng)
    發(fā)表于 05-26 16:46

    RT-Thread發(fā)布IoT傳感器徽標(biāo)計(jì)劃

    任何傳感器廠商只要有意向開發(fā)兼容RT-Thread操作系統(tǒng)的驅(qū)動(dòng),從RT-Thread官網(wǎng)下載表格,填寫公司信息,即可申請(qǐng)獲得使用“sensor driver accessed”LOG
    的頭像 發(fā)表于 02-19 15:15 ?3976次閱讀

    RT-Thread全球技術(shù)大會(huì):螢石研發(fā)團(tuán)隊(duì)使用RT-Thread技術(shù)挑戰(zhàn)

    RT-Thread全球技術(shù)大會(huì):研發(fā)團(tuán)隊(duì)使用RT-Thread技術(shù)挑戰(zhàn) ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 11:36 ?2263次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):螢石研發(fā)團(tuán)隊(duì)使用<b class='flag-5'>RT-Thread</b>的<b class='flag-5'>技術(shù)</b>挑戰(zhàn)

    RT-Thread全球技術(shù)大會(huì):RT-Thread構(gòu)建配置系統(tǒng)

    RT-Thread全球技術(shù)大會(huì):RT-Thread構(gòu)建配置系統(tǒng),構(gòu)建系統(tǒng)也稱為組件自動(dòng)化,通常需要通過(guò)腳本聲明構(gòu)建行為。 ? ? ? ? 審
    的頭像 發(fā)表于 05-27 14:39 ?1881次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b>構(gòu)建配置<b class='flag-5'>系統(tǒng)</b>

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    基于恩智浦FRDM-MCXA153開發(fā)板實(shí)現(xiàn)RT-Thread的ADC驅(qū)動(dòng)

    數(shù)轉(zhuǎn)換(ADC)是現(xiàn)代嵌入式系統(tǒng)中不可或缺的組件,它能將連續(xù)的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)。本文將深入探討如何在NXP的FRDM-MCXA153開發(fā)板上實(shí)現(xiàn)和使用RT-Thread
    的頭像 發(fā)表于 11-01 12:29 ?4432次閱讀
    基于恩智浦<b class='flag-5'>FRDM-MCXA</b>153開發(fā)板實(shí)現(xiàn)<b class='flag-5'>RT-Thread</b>的ADC驅(qū)動(dòng)

    免費(fèi)申請(qǐng) | FRDM-MCXA156評(píng)測(cè)活動(dòng)發(fā)布!

    RT-Thread現(xiàn)已支持恩智浦官方推出的FRDM-MCXA156開發(fā)板并提供BSP!為了讓大家更好地體驗(yàn)MCXA156高能效微控制的魅力,RT-
    的頭像 發(fā)表于 02-10 18:45 ?1066次閱讀
    免費(fèi)申請(qǐng) | <b class='flag-5'>FRDM-MCXA156</b>評(píng)測(cè)活動(dòng)發(fā)布!

    《恩智浦FRDM-MCXA156開發(fā)實(shí)踐指南》上線啦

    RT-Thread率先支持NXPFRDM-MCXA156,并聯(lián)合恩智浦半導(dǎo)體推出了NXPFRDM-MCXA156開發(fā)板評(píng)測(cè)活動(dòng)。測(cè)評(píng)活動(dòng)順利完成,并且有了不錯(cuò)的產(chǎn)出,我們將大家的測(cè)試文檔及代碼整理后
    的頭像 發(fā)表于 04-06 10:51 ?3648次閱讀
    《恩智浦<b class='flag-5'>FRDM-MCXA156</b>開發(fā)實(shí)踐指南》上線啦

    NXP新品FRDM-MCXA346 RT-Thread 評(píng)測(cè)活動(dòng)開放,下周四新品直播預(yù)約!| 社區(qū)活動(dòng)

    應(yīng)用開發(fā)。RT-Thread社區(qū)已率先完成對(duì)NXPFRDM-MCXA346的系統(tǒng)支持,并攜手恩智浦半導(dǎo)體聯(lián)合發(fā)起FRDM-MCXA346開發(fā)板評(píng)測(cè)活動(dòng)?;顒?dòng)面向所有
    的頭像 發(fā)表于 11-14 15:59 ?1743次閱讀
    NXP新品<b class='flag-5'>FRDM-MCXA</b>346 <b class='flag-5'>RT-Thread</b> 評(píng)測(cè)活動(dòng)開放,下周四新品直播預(yù)約!| 社區(qū)活動(dòng)

    探索FRDM - MCXA156開發(fā)板:設(shè)計(jì)與評(píng)估的理想之選

    ,它為工業(yè)和消費(fèi)物聯(lián)網(wǎng)(IoT)應(yīng)用提供了卓越的設(shè)計(jì)與評(píng)估環(huán)境。 文件下載: NXP Semiconductors FRDM-MCXA156 開發(fā)板.pdf 一、開發(fā)板概述 FRDM - MCXA156
    的頭像 發(fā)表于 12-24 11:50 ?1590次閱讀