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和AB32VG1開發(fā)板實(shí)現(xiàn)家庭安全檢測(cè)功能

小華的物聯(lián)網(wǎng)嵌入式之旅 ? 來源:極速紫韻 ? 作者:極速紫韻 ? 2022-06-30 00:36 ? 次閱讀

項(xiàng)目簡(jiǎn)介

基于RT-Thread和中藍(lán)訊科的AB32VG1開發(fā)板實(shí)現(xiàn)的家庭安全檢測(cè)功能,主要包含如下功能:

1、基于RT-Thread操作系統(tǒng)的按鍵組件,音頻播放組件等;

2、基于AB32VG1開發(fā)板的語音播放功能;

3、基于Node-Red的串口功能與AB32VG1通訊;

4、連接騰訊云的Explorer平臺(tái);

5、騰訊連連公眾號(hào)接收云平報(bào)警信息;

6、門窗檢測(cè)開關(guān)。

硬件說明

因?yàn)楣俜教峁┝酥兴{(lán)訊科開發(fā)板,所以基于該開發(fā)板的語音播放功能和SD卡功能實(shí)現(xiàn)的聲音,實(shí)現(xiàn)家庭安全監(jiān)測(cè)。由于板載的音頻接口只有耳機(jī),發(fā)出的音量較小,不足以提供大聲音的語音,所以額外添加了一個(gè)音頻驅(qū)動(dòng)模塊PAM8403來驅(qū)動(dòng)一個(gè)大喇叭。另外額外焊接了塊擴(kuò)展板,引出了I2C接口連接OLED顯示屏和門窗檢測(cè)IO引腳。


9516bfe1a923ec0294f6ed2c4c2b53a.jpgpYYBAGG01cKAaToQAAbkxwLgyH0753.png

沒想到8年前買的功放模塊居然現(xiàn)在還能用上,如果不用它,聲音會(huì)很小。

image.png

音頻功放PAM8403

image.png

兩個(gè)按鈕是門和窗的觸發(fā)按鍵

軟件說明

軟件使用到RT-Thread Studio來開發(fā)我的作品,使用AB32VG1提供的案例基礎(chǔ)上實(shí)現(xiàn)的語音播放和監(jiān)控。因?yàn)橐獢?shù)據(jù)上云,RT-Thread的上云組件功能連不上網(wǎng)絡(luò),結(jié)果通過Node-Red來實(shí)現(xiàn)AB32VG1與PC Node-Red串口通信,然后通過Node-Red連接騰訊云,講串口接收的json格式數(shù)據(jù)發(fā)送到騰訊云平臺(tái),然后通過云平臺(tái)的數(shù)據(jù)流設(shè)置后可以實(shí)現(xiàn)手機(jī)收到公眾號(hào)及時(shí)發(fā)布的信息,同時(shí)音頻播放音樂。以下代碼是發(fā)送串口數(shù)據(jù)到Node-Red串口組件,并播放音效。

//檢測(cè)門開關(guān)并發(fā)送信息到云端和播放音樂
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;
}
}

//檢測(cè)窗開關(guān)并發(fā)送信息到云端和播放音樂
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

如上圖所示,騰訊云平臺(tái)接收node-red發(fā)來的開發(fā)板檢測(cè)信號(hào)

image.png

如上圖是Node-Red的配置,將數(shù)據(jù)上傳到云平臺(tái),即可通過數(shù)據(jù)開發(fā)信息下發(fā)到APP。

image.png

如上圖數(shù)據(jù)開發(fā)為設(shè)備數(shù)據(jù)選擇需要連接的云設(shè)備,然后通過數(shù)據(jù)過濾選擇需要讀取的屬性,最后通過APP推送和公眾號(hào)推送功能實(shí)現(xiàn)想推送的內(nèi)容。

image.png

如上圖紅框處為推送內(nèi)容的設(shè)置

26c91fb0f6ec61f999901ffcf341548.jpgd229008eed17124d49bbac9c18c2783.jpg

如上圖就是小程序和公眾號(hào)的操作頁面和接收到數(shù)據(jù)信息,這樣就可以及時(shí)收到信息了。

總結(jié),本項(xiàng)目可以優(yōu)化的地方還有很多,例如通過RT-Thread提供的騰訊云SDK和device組件中的ESP8266模組驅(qū)動(dòng)實(shí)現(xiàn)開發(fā)板直接上云,而不需要通過串口發(fā)送數(shù)據(jù)到node-red再轉(zhuǎn)接數(shù)據(jù)發(fā)送到云平臺(tái),可作為本地控制頁面。

代碼鏈接如下:

https://gitee.com/flytianya2010/AB32VG1-RT-Thread-NodeRed-Tencent-IoT-Explorer

審核編輯:湯梓紅


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

    關(guān)注

    25

    文章

    4898

    瀏覽量

    97061
  • 安全檢測(cè)
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

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

    關(guān)注

    31

    文章

    1261

    瀏覽量

    39839
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    通過RT-Thread Studio配置AB32VG1片上外設(shè)GPIO引腳控制RGB彩燈

    本篇文章通過 RT-Thread Studio 配置 AB32VG1 片上外設(shè) GPIO 的引腳,控制 RGB 彩燈進(jìn)行紅綠藍(lán)三色的變換。
    的頭像 發(fā)表于 11-03 17:38 ?1.3w次閱讀
    通過<b class='flag-5'>RT-Thread</b> Studio配置<b class='flag-5'>AB32VG1</b>片上外設(shè)GPIO引腳控制RGB彩燈

    【RTT大賽作品連載】AB32VG1開發(fā)環(huán)境搭建

    基于RT-ThreadAB32VG1開發(fā)環(huán)境搭建.
    的頭像 發(fā)表于 11-17 08:48 ?9351次閱讀
    【RTT大賽作品連載】<b class='flag-5'>AB32VG1</b>的<b class='flag-5'>開發(fā)</b>環(huán)境搭建

    RT-Thread設(shè)計(jì)大賽】基于AB32VG1的嵌入式網(wǎng)盤

    RT-Thread設(shè)計(jì)大賽】基于AB32VG1的嵌入式移動(dòng)網(wǎng)盤
    的頭像 發(fā)表于 07-30 12:12 ?2209次閱讀
    【<b class='flag-5'>RT-Thread</b>設(shè)計(jì)大賽】基于<b class='flag-5'>AB32VG1</b>的嵌入式網(wǎng)盤

    RT-Thread創(chuàng)新應(yīng)用設(shè)計(jì)大賽】+中科藍(lán)訊 AB32VG1開箱搭建開發(fā)環(huán)境跑demo

    rt-threadRT-Thread 源代碼Kconfigmenuconfig 使用的文件README.mdBSP 說明文件開發(fā)板通過 Type-C 接口進(jìn)行燒錄, 中科藍(lán)訊 AB32VG1
    發(fā)表于 09-29 19:50

    RT-Thread創(chuàng)新應(yīng)用設(shè)計(jì)大賽】AB32VG1開發(fā)板菜鳥入手

    本帖最后由 主戰(zhàn)坦克 于 2021-10-7 15:16 編輯 本人看到網(wǎng)上基于RT-ThreadAB32VG1開發(fā)板的創(chuàng)新應(yīng)用大賽通知,便根據(jù)自己工作的內(nèi)容進(jìn)行了申請(qǐng),沒想到申請(qǐng)通過。本人
    發(fā)表于 10-07 14:27

    【文章連載】RT-Thread創(chuàng)新應(yīng)用大賽文章匯總

    掃描RTT大賽作品:AB32VG1開發(fā)板—RGB交替閃爍RTT大賽作品:AB32VG1開發(fā)板開發(fā)環(huán)境搭建 專欄作者:萌萌的魔法世界 【
    發(fā)表于 10-11 15:13

    RT-Thread創(chuàng)新應(yīng)用設(shè)計(jì)大賽】AB32VG1開發(fā)板入手

    看到網(wǎng)上基于RT-ThreadAB32VG1開發(fā)板的創(chuàng)新應(yīng)用大賽通知,便根據(jù)自己工作的內(nèi)愛好進(jìn)行了申請(qǐng),沒想到申請(qǐng)通過。本人以前沒有使用過RT-Thread,正好利用這次大賽學(xué)習(xí)一下
    發(fā)表于 11-01 22:01

    如何搭建AB32VG1 RT-Thread開發(fā)環(huán)境?

    如何搭建AB32VG1 RT-Thread開發(fā)環(huán)境?
    發(fā)表于 02-16 06:08

    【原創(chuàng)精選】RT-Thread征文精選技術(shù)文章合集

    ,物聯(lián)網(wǎng)開發(fā)?;?b class='flag-5'>RT-Thread設(shè)備運(yùn)行數(shù)據(jù)分析預(yù)警系統(tǒng)基于RT-ThreadAB32VG1開發(fā)板實(shí)現(xiàn)
    發(fā)表于 07-26 14:56

    初識(shí)AB32VG1開發(fā)板

    開發(fā)板下載程序的方法。AB32VG1是通過29腳PA7,連接串口的RXD,并且通過200歐姆電阻連接TXD實(shí)現(xiàn)的。只需要一個(gè)IO就是實(shí)現(xiàn)了升級(jí)程序
    發(fā)表于 09-07 16:28

    中科藍(lán)訊AB32VG1開發(fā)實(shí)踐指南

    AB32VG1 評(píng)估板原生搭載 RT-Thread 物聯(lián)網(wǎng)操作系統(tǒng),基于 RT-Thread Studio 提供 SDK,并配備了數(shù)百頁開發(fā)實(shí)踐指南,踐行為
    發(fā)表于 04-12 10:56 ?82次下載

    如何在AB32VG1開發(fā)板OLED顯示使開發(fā)板上電

    中直接實(shí)現(xiàn)的,本編文章直接在MAIN函數(shù)實(shí)現(xiàn)OLED顯示,上電自動(dòng)執(zhí)行。 根據(jù)說明書,AB32VG1開發(fā)板上有一路 I2C,本文通過 RT-Thre
    的頭像 發(fā)表于 11-08 10:02 ?2558次閱讀
    如何在<b class='flag-5'>AB32VG1</b><b class='flag-5'>開發(fā)板</b>OLED顯示使<b class='flag-5'>開發(fā)板</b>上電

    【RTT大賽作品連載】基于AB32VG1 sdk BLE例程

    RT-Thread基本中科藍(lán)訊AB32VG1 BLE開發(fā)快捷方便.
    的頭像 發(fā)表于 12-06 09:07 ?4941次閱讀
    【RTT大賽作品連載】基于<b class='flag-5'>AB32VG1</b> sdk BLE例程

    AB32VG1 RT-Thread 開發(fā)環(huán)境搭建

    是:RISC-V,RISC是精簡(jiǎn)指令集計(jì)算機(jī),V的意思應(yīng)該是【第五版】RT-Thread Studio 目前已經(jīng)支持 AB32VG1開發(fā)板,所以,搭建一個(gè)RT-Thread
    發(fā)表于 12-20 19:09 ?22次下載
    <b class='flag-5'>AB32VG1</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>開發(fā)</b>環(huán)境搭建

    基于AB32VG1開發(fā)板的設(shè)備溫度檢測(cè)

    基于RT-Thread 的Sensor框架對(duì)應(yīng)的軟件包max6675,通過AB32VG1開發(fā)板模擬spi驅(qū)動(dòng),讀取熱電偶傳感器的數(shù)據(jù),并通過串口輸出,到串口屏顯示圖形。
    的頭像 發(fā)表于 02-18 11:25 ?1288次閱讀
    基于<b class='flag-5'>AB32VG1</b><b class='flag-5'>開發(fā)板</b>的設(shè)備溫度<b class='flag-5'>檢測(cè)</b>