网站首页

人工智能P2P分享搜索全网发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

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

时间:2022-06-30 00:36

人气:

作者:admin

标签: 开发板  安全检测  RT-Thread 

导读:基于RT-Thread和中蓝讯科开发板,实现按键触发语音报警和NodeRed收集报警信息并上报腾讯云平台,最后通过手机端的腾讯练练小程序和微信公众号接收到报警信息。...

项目简介

基于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

审核编辑:汤梓红


温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信