項目簡介
基于RT-Thread和中藍訊科的AB32VG1開發板實現的家庭安全檢測功能,主要包含如下功能:
1、基于RT-Thread操作系統的按鍵組件,音頻播放組件等;
2、基于AB32VG1開發板的語音播放功能;
3、基于Node-Red的串口功能與AB32VG1通訊;
4、連接騰訊云的Explorer平臺;
5、騰訊連連公眾號接收云平報警信息;
6、門窗檢測開關。
硬件說明
因為官方提供了中藍訊科開發板,所以基于該開發板的語音播放功能和SD卡功能實現的聲音,實現家庭安全監測。由于板載的音頻接口只有耳機,發出的音量較小,不足以提供大聲音的語音,所以額外添加了一個音頻驅動模塊PAM8403來驅動一個大喇叭。另外額外焊接了塊擴展板,引出了I2C接口連接OLED顯示屏和門窗檢測IO引腳。
![9516bfe1a923ec0294f6ed2c4c2b53a.jpg](https://file.elecfans.com/web2/M00/25/9B/pYYBAGG3Z1eAVhAdABF7FVdsezM287.jpg)
![pYYBAGG01cKAaToQAAbkxwLgyH0753.png](https://file.elecfans.com/web2/M00/25/96/poYBAGG3Z4iAU7WfAAbkxwLgyH0103.png)
沒想到8年前買的功放模塊居然現在還能用上,如果不用它,聲音會很小。
![image.png](https://file.elecfans.com/web2/M00/25/0F/pYYBAGG01nmARS1rAA9gPqP_dUI221.png)
音頻功放PAM8403
![image.png](https://file.elecfans.com/web2/M00/25/96/poYBAGG3aKOAfoDXAAYyfKgvvqc856.png)
兩個按鈕是門和窗的觸發按鍵
軟件說明
軟件使用到RT-Thread Studio來開發我的作品,使用AB32VG1提供的案例基礎上實現的語音播放和監控。因為要數據上云,RT-Thread的上云組件功能連不上網絡,結果通過Node-Red來實現AB32VG1與PC Node-Red串口通信,然后通過Node-Red連接騰訊云,講串口接收的json格式數據發送到騰訊云平臺,然后通過云平臺的數據流設置后可以實現手機收到公眾號及時發布的信息,同時音頻播放音樂。以下代碼是發送串口數據到Node-Red串口組件,并播放音效。
//檢測門開關并發送信息到云端和播放音樂
staticvoidDoorOpen_detect_callback(void*btn)
{
uint32_tDoorOpen_status;
intstate1;
charvolum[]={0};
DoorOpen_status=get_button_event((structbutton*)btn);
switch(DoorOpen_status)
{
caseSINGLE_CLICK:
rt_kprintf("{"method":"report","clientToken":"clientToken-a8b80020-084a-4082-818f-5bd1b238ce5f",");
rt_kprintf(""params":{"DoorOpen":1,"WindowOpen":0\}}\n\r");
//rt_kprintf("Setvolume=%d\n",saia_volume_get());
saia_volume_set(Default_volume);
//Read_WAV_List();
wavplayer_play("/WAVmusic/DoorOpen/DoorOpenAlarm.wav");
break;
}
}
//檢測窗開關并發送信息到云端和播放音樂
staticvoidWindowOpen_detect_callback(void*btn)
{
uint32_tWindowOpen_status;
intstate1;
charvolum[]={0};
WindowOpen_status=get_button_event((structbutton*)btn);
switch(WindowOpen_status)
{
caseSINGLE_CLICK:
rt_kprintf("{"method":"report","clientToken":"clientToken-a8b80020-084a-4082-818f-5bd1b238ce5f",");
rt_kprintf(""params":{"DoorOpen":0,"WindowOpen":1\}}\n\r");
//rt_kprintf("Setvolume=%d\n",saia_volume_get());
saia_volume_set(Default_volume);
//Read_WAV_List();
wavplayer_play("/WAVmusic/WindowOpen/WindowOpenAlarm.wav");
break;
}
}
![image.png](https://file.elecfans.com/web2/M00/25/11/pYYBAGG1VD2Afu0uAAFpf5jUnz4507.png)
如上圖所示,騰訊云平臺接收node-red發來的開發板檢測信號。
![image.png](https://file.elecfans.com/web2/M00/25/0A/poYBAGG03BWAGdgvAACKEEXYpdk305.png)
如上圖是Node-Red的配置,將數據上傳到云平臺,即可通過數據開發信息下發到APP。
![image.png](https://file.elecfans.com/web2/M00/25/0F/pYYBAGG030eAJCD9AADad0kEBgQ047.png)
如上圖數據開發為設備數據選擇需要連接的云設備,然后通過數據過濾選擇需要讀取的屬性,最后通過APP推送和公眾號推送功能實現想推送的內容。
![image.png](https://file.elecfans.com/web2/M00/25/11/pYYBAGG1UVuAQ746AAGCK48RarQ746.png)
如上圖紅框處為推送內容的設置
![26c91fb0f6ec61f999901ffcf341548.jpg](https://file.elecfans.com/web2/M00/25/0B/poYBAGG1TTWAZ34oAAeuqg11Q7w680.jpg)
![d229008eed17124d49bbac9c18c2783.jpg](https://file.elecfans.com/web2/M00/25/10/pYYBAGG1TM6APWYoAATzPnPuKkw660.jpg)
如上圖就是小程序和公眾號的操作頁面和接收到數據信息,這樣就可以及時收到信息了。
總結,本項目可以優化的地方還有很多,例如通過RT-Thread提供的騰訊云SDK和device組件中的ESP8266模組驅動實現開發板直接上云,而不需要通過串口發送數據到node-red再轉接數據發送到云平臺,可作為本地控制頁面。
代碼鏈接如下:
https://gitee.com/flytianya2010/AB32VG1-RT-Thread-NodeRed-Tencent-IoT-Explorer
審核編輯:湯梓紅
-
開發板
+關注
關注
25文章
5126瀏覽量
98320 -
安全檢測
+關注
關注
0文章
24瀏覽量
6747 -
RT-Thread
+關注
關注
31文章
1305瀏覽量
40419
發布評論請先 登錄
相關推薦
通過RT-Thread Studio配置AB32VG1片上外設GPIO引腳控制RGB彩燈
![通過<b class='flag-5'>RT-Thread</b> Studio配置<b class='flag-5'>AB32VG1</b>片上外設GPIO引腳控制RGB彩燈](https://file.elecfans.com/web2/M00/1B/2A/pYYBAGGCSVqACdRoAAR9iZ-dG5o697.png)
【RT-Thread創新應用設計大賽】+中科藍訊 AB32VG1開箱搭建開發環境跑demo
【RT-Thread創新應用設計大賽】AB32VG1開發板菜鳥入手
【文章連載】RT-Thread創新應用大賽文章匯總
【RT-Thread創新應用設計大賽】AB32VG1開發板入手
初識AB32VG1開發板
中科藍訊AB32VG1開發實踐指南
如何在AB32VG1開發板OLED顯示使開發板上電
![如何在<b class='flag-5'>AB32VG1</b><b class='flag-5'>開發板</b>OLED顯示使<b class='flag-5'>開發板</b>上電](https://file.elecfans.com/web2/M00/1B/C3/poYBAGGIhYeAEHu7AAAtezY1WBA572.png)
AB32VG1 RT-Thread 開發環境搭建
![<b class='flag-5'>AB32VG1</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>開發</b>環境搭建](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于AB32VG1開發板的設備溫度檢測
![基于<b class='flag-5'>AB32VG1</b><b class='flag-5'>開發板</b>的設備溫度<b class='flag-5'>檢測</b>](https://file.elecfans.com/web2/M00/31/3A/pYYBAGIPGw-AT08NAACrtjhPKGs288.png)
評論