安小芯 发表于 2022-4-21 17:41

基于RT-Thread和N32G457的电子围栏

基于RT-Thread和N32G457的电子围栏作品出处:RT-Thread作者:万万木想到
基于RT-Thread系统和N32G457开发板开发的电子围栏设计,主要采用的是N32G457开发板,并搭载AIR724 4G模块作为数据传输模块,通过采集GPS的数据,并将该设备的经纬度通过MQTT协议发送到后台数据上。
软件环境为RT-Thread studio。该系统的代码是基于RT-Thread系统的BSP开发的,程序简单已读。
在前端收到数据,并将该设备显示在百度地图上。通过在前端地图上规划电子围栏的范围,判断该设备是不是在该监控的范围内,如果超出范围,则在前端产生告警信息。
该系统的结构图如下所示:
https://oss-club.rt-thread.org/uploads/20220218/b9e02007594df4aab630761ca78d98a1.png
软件主要包括 AT、GPS_RMC、PahoMQTT。
https://oss-club.rt-thread.org/uploads/20220218/bcc944550b7a5a59ae932a8fe1e72972.png
在N32G457接收到GPS的数据,并解析到经纬度的时候,将数据变量传递给发送的线程,该线程将数据发送给MQTT服务器,并传递到前端,显示在百度地图上。
前端:
主要包括百度地图、范围规划工具、告警历史数据等几个部分,如图所示。
https://oss-club.rt-thread.org/uploads/20220218/53abb8dde63d13cc710d92eb094d7708.jpg.webp
实物图片:
https://oss-club.rt-thread.org/uploads/20220218/23e65e1c77116ecbbdc0a5aa3d1abefd.jpg
实物演示链接
实物演示
代码:https://gitee.com/flyinglab/n45-4-g-electronic-fence开发过程中遇到的问题:
因为ARI724兼容AIR720,可以使用相同的包。但是配置成功以后会报错,
显示
> rt-thread thread: stack overflow
这个是因为内存不足,经过仔细查找在AIR720的包内,共有两个定义stack的地方。
测试发现需要将
> #define air720_LINK_THREAD_STACK_SIZE 1024
修改为
> #define air720_LINK_THREAD_STACK_SIZE 2048
这样就不会编译出错。
页: [1]
查看完整版本: 基于RT-Thread和N32G457的电子围栏