0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RT-Thread和AB32VG1开发板实现家庭安全检测功能

小华的物联网嵌入式之旅 来源:极速紫韵 作者:极速紫韵 2022-06-30 00:36 次阅读

项目简介

基于RT-Thread和中蓝讯科的AB32VG1开发板实现的家庭安全检测功能,主要包含如下功能:

1、基于RT-Thread操作系统的按键组件,音频播放组件等;

2、基于AB32VG1开发板的语音播放功能;

3、基于Node-Red的串口功能与AB32VG1通讯;

4、连接腾讯云的Explorer平台;

5、腾讯连连公众号接收云平报警信息

6、门窗检测开关。

硬件说明

因为官方提供了中蓝讯科开发板,所以基于该开发板的语音播放功能和SD卡功能实现的声音,实现家庭安全监测。由于板载的音频接口只有耳机,发出的音量较小,不足以提供大声音的语音,所以额外添加了一个音频驱动模块PAM8403来驱动一个大喇叭。另外额外焊接了块扩展板,引出了I2C接口连接OLED显示屏和门窗检测IO引脚。


9516bfe1a923ec0294f6ed2c4c2b53a.jpgpYYBAGG01cKAaToQAAbkxwLgyH0753.png

没想到8年前买的功放模块居然现在还能用上,如果不用它,声音会很小。

image.png

音频功放PAM8403

image.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

如上图所示,腾讯云平台接收node-red发来的开发板检测信号

image.png

如上图是Node-Red的配置,将数据上传到云平台,即可通过数据开发信息下发到APP。

image.png

如上图数据开发为设备数据选择需要连接的云设备,然后通过数据过滤选择需要读取的属性,最后通过APP推送和公众号推送功能实现想推送的内容。

image.png

如上图红框处为推送内容的设置

26c91fb0f6ec61f999901ffcf341548.jpgd229008eed17124d49bbac9c18c2783.jpg

如上图就是小程序和公众号的操作页面和接收到数据信息,这样就可以及时收到信息了。

总结,本项目可以优化的地方还有很多,例如通过RT-Thread提供的腾讯云SDK和device组件中的ESP8266模组驱动实现开发板直接上云,而不需要通过串口发送数据到node-red再转接数据发送到云平台,可作为本地控制页面。

代码链接如下:

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

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    4822

    浏览量

    96751
  • 安全检测
    +关注

    关注

    0

    文章

    21

    浏览量

    6674
  • RT-Thread
    +关注

    关注

    31

    文章

    1246

    浏览量

    39677
收藏 人收藏

    评论

    相关推荐

    通过RT-Thread Studio配置AB32VG1片上外设GPIO引脚控制RGB彩灯

    本篇文章通过 RT-Thread Studio 配置 AB32VG1 片上外设 GPIO 的引脚,控制 RGB 彩灯进行红绿蓝三色的变换。
    的头像 发表于 11-03 17:38 1.3w次阅读
    通过<b class='flag-5'>RT-Thread</b> Studio配置<b class='flag-5'>AB32VG1</b>片上外设GPIO引脚控制RGB彩灯

    【RTT大赛作品连载】AB32VG1开发环境搭建

    基于RT-ThreadAB32VG1开发环境搭建.
    的头像 发表于 11-17 08:48 9309次阅读
    【RTT大赛作品连载】<b class='flag-5'>AB32VG1</b>的<b class='flag-5'>开发</b>环境搭建

    RT-Thread设计大赛】基于AB32VG1的嵌入式网盘

    RT-Thread设计大赛】基于AB32VG1的嵌入式移动网盘
    的头像 发表于 07-30 12:12 2147次阅读
    【<b class='flag-5'>RT-Thread</b>设计大赛】基于<b class='flag-5'>AB32VG1</b>的嵌入式网盘

    RT-Thread创新应用设计大赛】+中科蓝讯 AB32VG1开箱搭建开发环境跑demo

    rt-threadRT-Thread 源代码Kconfigmenuconfig 使用的文件README.mdBSP 说明文件开发板通过 Type-C 接口进行烧录, 中科蓝讯 AB32VG1
    发表于 09-29 19:50

    RT-Thread创新应用设计大赛】AB32VG1开发板菜鸟入手

    本帖最后由 主战坦克 于 2021-10-7 15:16 编辑 本人看到网上基于RT-ThreadAB32VG1开发板的创新应用大赛通知,便根据自己工作的内容进行了申请,没想到申请通过。本人
    发表于 10-07 14:27

    【文章连载】RT-Thread创新应用大赛文章汇总

    扫描RTT大赛作品:AB32VG1开发板—RGB交替闪烁RTT大赛作品:AB32VG1开发板开发环境搭建 专栏作者:萌萌的魔法世界 【
    发表于 10-11 15:13

    RT-Thread创新应用设计大赛】AB32VG1开发板入手

    看到网上基于RT-ThreadAB32VG1开发板的创新应用大赛通知,便根据自己工作的内爱好进行了申请,没想到申请通过。本人以前没有使用过RT-Thread,正好利用这次大赛学习一下
    发表于 11-01 22:01

    如何搭建AB32VG1 RT-Thread开发环境?

    如何搭建AB32VG1 RT-Thread开发环境?
    发表于 02-16 06:08

    【原创精选】RT-Thread征文精选技术文章合集

    ,物联网开发。基于RT-Thread设备运行数据分析预警系统基于RT-ThreadAB32VG1开发板实现
    发表于 07-26 14:56

    初识AB32VG1开发板

    开发板下载程序的方法。AB32VG1是通过29脚PA7,连接串口的RXD,并且通过200欧姆电阻连接TXD实现的。只需要一个IO就是实现了升级程序
    发表于 09-07 16:28

    中科蓝讯AB32VG1开发实践指南

    AB32VG1 评估板原生搭载 RT-Thread 物联网操作系统,基于 RT-Thread Studio 提供 SDK,并配备了数百页开发实践指南,践行为
    发表于 04-12 10:56 82次下载

    如何在AB32VG1开发板OLED显示使开发板上电

    中直接实现的,本编文章直接在MAIN函数实现OLED显示,上电自动执行。 根据说明书,AB32VG1开发板上有一路 I2C,本文通过 RT-Thre
    的头像 发表于 11-08 10:02 2518次阅读
    如何在<b class='flag-5'>AB32VG1</b><b class='flag-5'>开发板</b>OLED显示使<b class='flag-5'>开发板</b>上电

    【RTT大赛作品连载】基于AB32VG1 sdk BLE例程

    RT-Thread基本中科蓝讯AB32VG1 BLE开发快捷方便.
    的头像 发表于 12-06 09:07 4893次阅读
    【RTT大赛作品连载】基于<b class='flag-5'>AB32VG1</b> sdk BLE例程

    AB32VG1 RT-Thread 开发环境搭建

    是:RISC-V,RISC是精简指令集计算机,V的意思应该是【第五版】RT-Thread Studio 目前已经支持 AB32VG1开发板,所以,搭建一个RT-Thread
    发表于 12-20 19:09 22次下载
    <b class='flag-5'>AB32VG1</b> <b class='flag-5'>RT-Thread</b> <b class='flag-5'>开发</b>环境搭建

    基于AB32VG1开发板的设备温度检测

    基于RT-Thread 的Sensor框架对应的软件包max6675,通过AB32VG1开发板模拟spi驱动,读取热电偶传感器的数据,并通过串口输出,到串口屏显示图形。
    的头像 发表于 02-18 11:25 1257次阅读
    基于<b class='flag-5'>AB32VG1</b><b class='flag-5'>开发板</b>的设备温度<b class='flag-5'>检测</b>