01項(xiàng)目簡介
本項(xiàng)目實(shí)現(xiàn)了基于啟明RA6M5的《物聯(lián)網(wǎng)居家環(huán)境健康監(jiān)控設(shè)備》。項(xiàng)目以啟明RA6M5為主控,OLED為顯示設(shè)備用于顯示信息,HS3003傳感器用于采集環(huán)境溫濕度數(shù)據(jù),MQ-5可燃?xì)怏w傳感器采集空氣中可燃?xì)怏w濃度,Max30102傳感器采集人體心率以及血氧值,遙感模塊為設(shè)備的本地控制端,內(nèi)部RTC用于實(shí)時(shí)時(shí)鐘,ESP8266模塊用于連接物聯(lián)網(wǎng)平臺(tái)以及更新實(shí)時(shí)時(shí)鐘時(shí)間,并且實(shí)現(xiàn)阿里云物聯(lián)網(wǎng)平臺(tái)的連接,用于數(shù)據(jù)上傳與下發(fā),蜂鳴器用于環(huán)境危險(xiǎn)報(bào)警。本項(xiàng)目實(shí)現(xiàn)了集環(huán)境監(jiān)控,健康監(jiān)控以及物聯(lián)網(wǎng)為一體的多功能監(jiān)控裝置。
02系統(tǒng)架構(gòu)
使用到的外設(shè)模塊有:
LED:紅色用于模擬燈,可以被遠(yuǎn)程控制打開與關(guān)閉。綠色LED周期性呼吸,指示系統(tǒng)是否正常運(yùn)行。
蜂鳴器:用于可燃?xì)怏w超閾值報(bào)警。
搖桿模塊:用于搖桿控制顯示界面切換以及報(bào)警關(guān)閉。
MQ-5可燃?xì)怏w傳感器:用于檢測空氣中可燃?xì)怏w濃度值。
EEPROM:用于保存MQ-5可燃?xì)怏w濃度閾值。
ESP8266 WIFI模塊:用于更新網(wǎng)絡(luò)時(shí)間以及連接物聯(lián)網(wǎng)平臺(tái)。
MAX30102:用于采集人體的心率以及血氧值。
HS3003:用于采集環(huán)境溫濕度信息。
OLED:用于顯示時(shí)間,溫濕度信息,可燃?xì)怏w濃度,心率,血氧數(shù)值,物聯(lián)網(wǎng)平臺(tái)鏈接狀態(tài)等信息。
詳細(xì)結(jié)構(gòu)描述見下圖:
所使用的板載資源以及OS資源見下圖所示:
03硬件資源說明
3.1 線路連接
板載資源不做說明(連線參考開發(fā)板原理圖),只說外接模塊的連線。
3.1.1 OLED
使用了SCI I2C6:
SCL - P505
SDA - P506
VCC - 3.3V
GND - GND
3.1.2 HS3003
同OLED,使用了SCI6 I2C:
SCL - P505
SDA - P506
VCC - 3.3V
GND - GND
3.1.3 MQ-5
使用了ADC0 AN003:
ADC- P003(AN003)
3.1.4 MAX30102
使用了SCI3 I2C:
SCL - P408
SDA - P409
VCC - 3.3V
GND - GND
INT引腳使用了外部中斷:
INT - P804
3.1.5 搖桿模塊
使用了ADC0 AN001,AN002,AN010:
X軸 - P001(AN001)
Y軸 - P002(AN002)
Z軸(按鈕) - P010(AN010)
+5V - 3.3V
GND - GND
04軟件實(shí)現(xiàn)
4.1 OS資源說明
軟件使用了FreeRTOS實(shí)時(shí)操作系統(tǒng),創(chuàng)建了7個(gè)任務(wù),功能如下:
Os_Display:用于控制OLED顯示信息。
Os_LedCtrl:用于控制LED功能。
Os_HwInit:用于初始化公共資源,并且該任務(wù)是首先執(zhí)行的,執(zhí)行完畢之后其他任務(wù)才允許執(zhí)行,避免資源在未初始化之前使用。
Os_WifiCtrl:用于控制ESP8266模塊,進(jìn)行聯(lián)網(wǎng)控制以及網(wǎng)絡(luò)資源管理。
Os_Sensor:用于采集傳感器信息,包括HS3003,MQ-5。
Os_JoystickCtrl:用于采集搖桿模塊信息,并且判斷搖桿模塊的動(dòng)作。
Os_Max30102Ctrl:用于采集人體的心率以及血樣數(shù)值。
下圖簡單描述了各個(gè)任務(wù)的工作,由于各個(gè)部分的關(guān)系型較為復(fù)雜,下面以文字和示例圖詳細(xì)說明。
4.2 功能說明
首先上一張全家福:
4.2.1 HS3003溫濕度采集
通信方式:
HS3003通過I2C通信,與OLED控制使用了同一路SCI的I2C,通過互斥量相互隔離,實(shí)現(xiàn)一路I2C控制兩個(gè)從設(shè)備的目的。功能:
HS3003可以測量環(huán)境的溫度以及濕度信息,通過計(jì)算公式進(jìn)行轉(zhuǎn)換成攝氏度以及百分比值。
周期性采集,每一秒鐘采集一次。供其他模塊使用。
4.2.2 MQ-5 可燃?xì)怏w濃度采集
通信方式:
MQ-5通過將采集到的可燃?xì)怏w濃度值轉(zhuǎn)換為ADC值輸出,單片機(jī)周期性采集ADC信號(hào)用于計(jì)算空氣中可燃?xì)怏w濃度。
功能:
MQ-5可燃?xì)怏w濃度傳感器可以采集空氣中的可燃?xì)怏w濃度,單位為ppm(百萬分之一),每一秒鐘更新一次數(shù)據(jù)。供其他模塊使用。
4.2.3 MAX30102心率血樣采集
通信方式:
MAX30102使用I2C通信,為了精度以及采集速率,使用了單獨(dú)的一路I2C來工作(其實(shí)和OLED使用同一路也是可以的)
功能:
MAX30102上面的INT中斷引腳用于判斷數(shù)據(jù)是否更新,當(dāng)有更新數(shù)據(jù)時(shí),中斷會(huì)拉高,數(shù)據(jù)被讀取之后拉低。
MAX30102會(huì)一直處于通信狀態(tài),當(dāng)中斷引腳變高之后,開始采集數(shù)據(jù)。當(dāng)沒有手指放上去的時(shí)候,采集到的傳感器輸出值RED以及IR數(shù)值,輸出值大概在2000以內(nèi),但是當(dāng)手指放上去之后,輸出值會(huì)突變?yōu)?00000以上,以此來判斷是否有手指放在傳感器上做數(shù)據(jù)采集。
采集到的RED以及IR值會(huì)周期性變化,以此來計(jì)算心率以及血樣數(shù)值。
手指剛放上去的時(shí)候采集到的數(shù)值是不穩(wěn)定的,需要等待一段時(shí)間才會(huì)采集到穩(wěn)定的數(shù)值,血氧值大于95%,心率在60到120之前是較為正常的值。
4.2.4 搖桿模塊控制功能
通信方式:
搖桿模塊有兩個(gè)方向(X軸和Y軸)以及一個(gè)按鈕(Z軸),都是通過ADC進(jìn)行采樣。
功能:
對(duì)搖桿模塊的控制,在X軸,Y軸和Z軸上都會(huì)輸出一個(gè)ADC值,通過對(duì)采樣值進(jìn)行分析判斷可以直到當(dāng)前搖桿處于什么位置,以此來實(shí)現(xiàn)控制的功能。
搖桿模塊用于對(duì)現(xiàn)實(shí)界面進(jìn)行切換,當(dāng)搖桿模塊滑向右和上方時(shí)(即X軸以及Y軸的正方向),則會(huì)切換到傳感器顯示界面;當(dāng)搖桿模塊滑向左或者下方時(shí)(即X軸和Y軸的負(fù)方向)則切換到時(shí)間顯示界面。
4.2.5 報(bào)警功能
報(bào)警使用了板載的蜂鳴器,當(dāng)MQ-5采集到的空氣中可燃?xì)怏w濃度大于設(shè)定閾值的時(shí)候就會(huì)打開蜂鳴器報(bào)警,報(bào)警閾值可以通過物聯(lián)網(wǎng)設(shè)置。也可以通過物聯(lián)網(wǎng)控制報(bào)警功能打開/關(guān)閉。
當(dāng)設(shè)定閾值更新時(shí),會(huì)判斷更新的閾值是否和當(dāng)前閾值相等,不等則寫入EEPROM,下次系統(tǒng)上電的時(shí)候會(huì)自動(dòng)從EEPROM中讀取閾值
4.2.6 ESP8266 網(wǎng)絡(luò)通信
板載的ESP8266 WIFI模塊用于物聯(lián)網(wǎng)通信,通信平臺(tái)為阿里云物聯(lián)網(wǎng)平臺(tái),通信方式為MQTT。
ESP8266上電工作流程:
復(fù)位ESP8266
關(guān)閉回顯,連接AP
連接AP完成之后更新SNTP時(shí)間,并將時(shí)間寫入到RTC
時(shí)間更新完成之后MQTT通信連接阿里云物聯(lián)網(wǎng)平臺(tái)
數(shù)據(jù)通信(上載和下發(fā)),上載一秒鐘更新一次
使用了一個(gè)定時(shí)器用來判斷ESP8266 AT指令是否響應(yīng)超時(shí),如果超時(shí),會(huì)重新發(fā)送。
連接了物聯(lián)網(wǎng)平臺(tái)之后,會(huì)將溫度、濕度、可燃?xì)怏w濃度、血氧數(shù)值,心率數(shù)值,可燃?xì)怏w報(bào)警閾值、報(bào)警開關(guān)以及LED亮度上傳到阿里云物聯(lián)網(wǎng)平臺(tái)。
物聯(lián)網(wǎng)平臺(tái)可以下發(fā)LED亮度百分比命令來控制本地LED的亮度。
物聯(lián)網(wǎng)平臺(tái)可以下發(fā)可燃?xì)怏w濃度報(bào)警閾值到本地。
物聯(lián)網(wǎng)平臺(tái)可以下發(fā)可燃?xì)怏w報(bào)警使能命令到本地。
下圖為阿里云平臺(tái)收到的數(shù)據(jù):
下圖為阿里云平臺(tái)下發(fā)數(shù)據(jù)的調(diào)試界面:
4.2.7 OLED顯示功能
OLED提供顯示功能,包括:
上電顯示
日期時(shí)間星期顯示
wifi連接狀態(tài)顯示
IoT物聯(lián)網(wǎng)平臺(tái)連接狀態(tài)顯示
溫度、濕度、可燃?xì)怏w濃度顯示
心率、血氧顯示
上電之后會(huì)顯示啟動(dòng)界面,1s之后切換到時(shí)間顯示界面
時(shí)間顯示界面下會(huì)顯示W(wǎng)IFI連接狀態(tài),IoT物聯(lián)網(wǎng)平臺(tái)連接狀態(tài),日期時(shí)間星期,空氣濕度和溫度。wifi圖標(biāo)閃爍,表示在連接AP,常亮表示連接成功;IoT圖標(biāo)閃爍表示在連接物聯(lián)網(wǎng)平臺(tái),常亮表示連接成功;時(shí)間或從RTC中讀取并顯示。
當(dāng)搖桿模塊滑向X軸或者Y軸正方向時(shí),切換到傳感器數(shù)據(jù)顯示界面,此界面下,搖桿模塊滑到X軸或者Y軸負(fù)方向時(shí),切換到時(shí)間顯示界面
當(dāng)手指放到MAX30102傳感器上進(jìn)行測量時(shí),切換到心率血樣顯示界面,此界面下,手指離開MAX30102,則退回到之前的界面
4.2.8 燈控制功能
板載的LED1來模擬普通LED燈,亮度控制位百分比,支持0~100:0為關(guān)閉LED;100為全亮度。
通過物聯(lián)網(wǎng)平臺(tái)下發(fā)控制亮度命令,本地接收到命令之后使用PWM控制LED的亮度。
4.2.9 RTC
RTC用于本地實(shí)時(shí)時(shí)鐘
上電會(huì)自動(dòng)從上一次的時(shí)間開始計(jì)時(shí),EAP8266成功連接AP之后之后會(huì)自動(dòng)發(fā)起時(shí)間更新命令獲取SNTP時(shí)間,并更新到本地RTC中。
06總結(jié)
本人是第一次使用野火的開發(fā)板,之前聽說過野火,但是一直沒機(jī)會(huì)接觸。無意間在公眾號(hào)中看到了本次比賽,遂毫不猶豫的參加了。啟明RA6M5給我的感覺就是精簡,美觀,板載資源豐富,擴(kuò)展性強(qiáng),給作品開發(fā)帶來了很多便攜性,像是板載ESP8266以及蜂鳴器,就減少了外擴(kuò)模塊的工作。歷時(shí)三個(gè)月,終于算是完成了比賽,期間的心酸以及收獲也難以述說,遇到了很多難題,也收獲了很多知識(shí)。
簡而言之,本次比賽學(xué)習(xí)到了很多東西,也讓我了解了更多野火的產(chǎn)品。感謝野火提供的本次機(jī)會(huì)。祝愿野火越來越好,開發(fā)更多物美價(jià)廉的產(chǎn)品,方便廣大愛好者以及工程師。
審核編輯:湯梓紅
-
傳感器
+關(guān)注
關(guān)注
2565文章
52930瀏覽量
766845 -
mcu
+關(guān)注
關(guān)注
146文章
17961瀏覽量
366220 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2930文章
46201瀏覽量
391835 -
蜂鳴器
+關(guān)注
關(guān)注
12文章
895瀏覽量
46916 -
監(jiān)控設(shè)備
+關(guān)注
關(guān)注
0文章
100瀏覽量
13286
原文標(biāo)題:【瑞薩RA MCU創(chuàng)意氛圍賽作品賞析】項(xiàng)目10——物聯(lián)網(wǎng)居家環(huán)境/健康監(jiān)控設(shè)備
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
基于瑞薩RA6M5/RA2L1和百度語音云的語音識(shí)別控制與無線通信控制系統(tǒng)

基于RA6M5的智能煙霧感應(yīng)吸除系統(tǒng)設(shè)計(jì)

基于RA6M5開發(fā)板的低功耗電子時(shí)鐘設(shè)計(jì)

【野火啟明6M5開發(fā)板體驗(yàn)】與野火啟明6M5開發(fā)板的第一次親密接觸
【野火啟明6M5開發(fā)板體驗(yàn)】1 RA6M5開發(fā)環(huán)境搭建
【野火啟明6M5開發(fā)板體驗(yàn)】3 RA6M5按鍵
基于RA6M5 MCU組的云套件數(shù)據(jù)手冊

評(píng)論