基于STM32的蜂箱防盗定位追踪系统研究
2022-07-07朱迪方荣杰尹导付婉婷黄映雪
朱迪 方荣杰 尹导 付婉婷 黄映雪
摘 要:针对目前蜜蜂养殖安防市场设备较为空缺,以及设备功能简单、耗电量大导致设备续航短等缺点,提出了在高性能处理器STM32中加入NB-IOT实现网络功能并实现新型的蜂箱防盗定位追踪。该设备借助微动传感器实现了STM32可从低功耗模式被唤醒;结合GPS全球定位系统可将设备坐标位置通过NB-IOT发送到云平台,实现蜂巢防盗追踪,从而进一步提升户外养殖蜜蜂的安全性。
关键词:STM32;GPS全球定位系统;NB-IOT;单片机
中图分类号:TP368 文献标识码:A文章编号:2096-4706(2022)04-0193-03
Research on Beehive Anti-theft Positioning and Tracking System Based on STM32
ZHU Di, FANG Rongjie, YIN Dao, FU Wanting, HUANG Yingxue
(School of Information Technology, Minzu Normal University of Xingyi, Xingyi 562400, China)
Abstract: In view of the shortage of equipment in the current bee breeding security market and the shortcomings of simple equipment functions, short equipment life caused by large power consumption, it is proposed to add NB-IOT to the high-performance processor STM32 to realize the network function and realize the new beehive anti-theft positioning and tracking. The device realizes that STM32 can be awakened from low-power mode with the help of micro motion sensor; combined with the GPS global positioning system, the coordinate position of the equipment can be sent to the cloud platform through NB-IOT to realize the honeycomb anti-theft tracking, so as to further improve the safety of outdoor bee breeding.
Keywords: STM32; GPS global positioning system; NB-IOT; Single-Chip Microcomputer
0 引 言
近年来,在贵州这样一个典型的发展中地区,无论哪一个方面都在迅速的发展。其中因为自然生态环境较好,种植业和畜牧业得到迅速发展。贵州分布广袤的原始森林中有大量野生蜜蜂活跃,该类野生蜜蜂能通过人工技术招纳于养蜂木箱中进行家养,其所酿蜂蜜营养价值丰富、药用价值高、价格100~200元/斤、市场需求量巨大,常处于供不应求状态。
蜜蜂养殖过程中有许多的不定因素,比如受蜜蜂群体活动半径内的花草植被数量影响,花粉产量直接影响了蜜蜂数量和蜂蜜产量。由此,将集中家养的蜜蜂分散到野外散养不失为一个很好的解决办法。但万事都有一定的弊端,蜜蜂野外散养解决了蜜蜂产量受自然环境限制的部分问题,但也给蜜蜂养殖带来了养殖管理、蜂蜜安全及防盗的问题。
为了改善野外养殖蜜蜂的困难,本项目以STM32为主控芯片,以GPS定位模块、震动传感器和NB-IOT模块实现远程数据传输,设计完成一套功耗低、感应唤醒、自动定位的防盗系统。
1 总体设计
随着NB-IOT通信技术在IOT领域的发展和兴起,该技术的低功耗广域网(LPWAN)也逐渐被熟知。NB-IOT支持待机时间长、对网络链接要求更高效,因此在实现数据传输的过程中更加的稳定,且NB-IOT具有覆蓋广、速率快、成本低、功耗低等特点。该系统的设计和实现采用迭代—递增模型来完成,使用迭代—递增模型的优点在于可以将系统分模块化进行设计和实现。迭代和增量开发方法的基本特征是迭代地进行开发、增量地产生成果以及持续地交付[1]。
通过理解应用域,也就是该系统所应用的特定环境,来建立一个业务模型确定系统使用者的需求。该系统采用迭代—递增模型进行开发,所以该部分主要考虑软件模块。
本项目将以STM32为主控芯片,以NB-IOT模块实现远程数据传输,以GPS定位模块和震动感应传感器模块等器件设计完成一套功耗低、感应防盗、自动定位追踪等系统,以解决野生蜜蜂分散养殖防盗问题。依据应用域确定软件模块的术语表,术语表如表1所示。
2 业务模型
建立业务模型,获得应用域中各种行为和过程的理解,便可以提取出需求。根据应用域中提取出来的需求建立用例图,用例图如图1所示。该用例图的用例描述如表2所示。
通过用例图和用例描述可以明确系统的需求,并且对需求进行了模块化处理,对各个模块单独进行完善和处理,可以使各模块高内聚低耦合,这样可以有效防止因为单独一个模块出错而需要修改多个模块的问题发生。
3 硬件设计与选型
3.1 主控模块
STM32已经被广泛应用于数据收集、导航定位、智能控制等领域。相比较于C51系列单片机,STM32性能更强,ARM内核的芯片功耗及成本都更低。在本设计中需要使用到STM32的低功耗模式,STM32有三种低功耗模式,包括只关闭CPU时钟、不关闭ADC和其他时钟的睡眠模式、所有时钟均关闭等,但电压调节器为低功耗模式的停止模式以及全部时钟及电压调节器都关闭的待机模式,其中停止模式和待机模式的功耗较低,分别为20 μA左右以及2 μA左右,相较于待机模式只能用特定的引脚唤醒,停止模式则可以通过外部中断来进行唤醒,所以说停止模式更方便也更契合本设计。STM32F030采用ARM®Cortex®-M0内核,运算速度高达48 MHz。STM32F030 MCU图2是STM32系列中价格最低的产品,具有全套外设,例如高速12位ADC、先进且灵活的定时器、日历RTC和通信接口(例如I²C、USART、SPI)。
3.2 GPS定位模块
ATGM336H模块是基于中科微第四代低功耗GNSS SOC单芯片—AT6558,支持多种卫星导航系统,包括中国的BDS(北斗卫星导航系统)、美国的GPS、俄罗斯的GLONASS等。AT6558是一款真正意义的六合一多模卫星导航定位芯片,包含32个跟踪通道,可以同时接收六个卫星导航系统的GNSS信号,并且实现联合定位、导航与授时。ATGM336H模块具有高灵敏度、低功耗、低成本等优势,其冷启动捕获灵敏度为-148 dBm,跟踪灵敏度为-162 dBm,定位精度为2.5米(CEP50),适用于车载导航、手持定位、可穿戴设备[2]。
3.3 震动传感器
SW-420震动传感器采用LM393输出,信号干净、波形好、驱动能力强。工作电压宽泛3.3 V~5 V均可使用,不震动时开关闭合输出低电平,震动时输出高电平,适用于震动触发作用。
3.4 NB-IOT模块
NB-IoT无线通信模块主要用于数据节点和云平台的信息交互,采用移远科技的BC26模块。BC26模块支持TCP、UDP和COAP协议,同时可支持中国移动OneNET/Andlink、中国电信IoT/AEP以及阿里云IoT等物联网云平台,为客户的应用提供极大的便利。其供电电压为2.1 V~3.6 V,模块与主控MCU通信采用UART接口或SPI接口[3-5]。阿里云平台显示效果如图3所示。
4 代码实现
用户使用一个系统首先是通过软件的,使用软件的优势是不需要去了解系统的底层结构和逻辑,并且用户可以快速上手该系统来满足用户的需求。STM32低功耗模块部分代码为:
MX_GPIO_Init();
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
__HAL_RCC_PWR_CLK_ENABLE();
if (__HAL_PWR_GET_FLAG(PWR_FLAG_SB) == SET)
{__HAL_PWR_CLEAR_FLAG(PWR_FLAG_SB);}
HAL_Delay(30000);
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);
HAL_PWR_EnterSTANDBYMode();
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
GPS的驅动部分代码如下:
if ((subStringNext = strstr(subString, “,”)) != NULL)
{
charusefullBuffer[2];
switch(i)
{
case1:memcpy(Save_Data.UTCTime, subString, subStringNext - subString);break; //获取UTC时间
case2:memcpy(usefullBuffer, subString, subStringNext - subString);break; //获取UTC时间
case3:memcpy(Save_Data.latitude, subString, subStringNext - subString);break; //获取纬度信息
case4:memcpy(Save_Data.N_S, subString, subStringNext - subString);break; //获取N/S
case5:memcpy(Save_Data.longitude, subString, subStringNext - subString);break; //获取经度信息
case6:memcpy(Save_Data.E_W, subString, subStringNext - subString);break; //获取E/W
5 结 论
本文的设计基于STM32的蜂箱防盗定位追踪系统,以STM32为主控制器,利用采集GPS定位数据、震动感应传感器唤醒等功能解决蜂箱防盗的难题。收集到的数据经NB-IOT通信模块上传到云平台,实现蜂箱的移动感知、报警、蜂箱位置可视化追踪。该设计从低成本、低功耗、性能稳定以及可视化追踪位置等方面相较于传统养殖防盗措施有较大的优势,为传统野生蜂的养殖防盗问题提供了较好的解决方案。
参考文献:
[1] 蔡竞晖.在IT项目中采用迭代方法实行项目管理的实践和研究 [D].厦门:厦门大学,2008.
[2] 白书华.基于一种单片机的GPS定位控制系统的设计与分析 [J].电子测试,2016(9):24+26.
[3] 潘磊磊,张桂青,田崇翼,等.基于NB-IOT的农业环境监控系统设计 [J].电子设计工程,2019,27(1):25-30+36.
[4] 何灿隆,沈明霞,刘龙申,等.基于NB-IoT的温室温度智能调控系统设计与实现 [J].华南农业大学学报,2018,39(2):117-124.
[5] 聂珲,陈海峰,周豪.基于NB-IoT的环境监测系统 [J].实验技术与管理,2020,37(5):89-93+110.
作者简介:朱迪(1999.05—),男,汉族,贵州威宁人,本科在读,研究方向:单片机;方荣杰(1998.04—),男,苗族,贵州凯里人,本科在读,研究方向:单片机;尹导(2001.08—),男,汉族,云南师宗人,本科在读,研究方向:单片机;付婉婷(2000.06—),女,苗族,贵州贵阳人,本科在读,研究方向:单片机;黄映雪(1998.11—),女,穿青人,贵州毕节人,本科在读,研究方向:单片机。