XIV国际科学与技术会议APEIE‐2018

基于STM32微控制器的生物对象状态监测声音识别系统开发

瓦利·哈·阿卜德拉赫曼诺夫1, 列纳特·B·萨利霍夫 2, 康斯坦丁·V·瓦日达耶夫1,2
1 乌法国立石油技术大学建筑与建筑工程学院,乌法,俄罗斯
2 乌法国立大学物理技术研究所,乌法,俄罗斯

摘要

分析了养蜂业自动化领域的主要发展趋势,特别是现代网络技术、声音识别技术在蜂群状态监测中的应用。研究了现有的主要识别技术以及对监测系统硬件的要求。探讨了基于 Arduino平台并结合Wi‐Fi模块ESP8266实现原型的可能性,并分析了该方案的优缺点。最终得出结论:应采用基于ARM Cortex‐M4内核的32位STM32微控制器,并选用 STM32F4DISCOVERY评估板来开发原型设备。同时,还讨论了在STM32上进行项目开发的特点以及开发软件的选择。

Index Terms – 蜂群状态监测,人工神经网络算法(神经网络),快速傅里叶变换算法(FFT),语音识别技术,Arduino Due,物联网,ARM Cortex‐M4,STM32F4DISCOVERY,STM32Cube,CooCox IDE

I. 引言

养蜂业自动化有助于解决多个问题。让我们考虑一些主要的、相对容易解决的问题。通过蜂箱发出的声音对养蜂状态进行诊断。在夏季,可以识别蜂箱生命周期的不同阶段:平静状态、通风、子宫鸣叫、分蜂、飞行蜜蜂等。尤其重要的是能够识别子宫鸣叫;在分蜂期,蜜蜂损失概率较高,养蜂人在此期间不得不持续监控蜂场,无法暂时离开。此外,许多有经验的养蜂人会采取各种措施来防止分蜂(例如制造继箱等),这些措施可能相当费力。

在越冬期,也可以通过声音判断蜂群的状态,例如判断是否出现食物短缺、蜜蜂疾病、越冬小屋内温度制度异常、湿度升高等情况,这些都需要养蜂人及时干预。为了监测蜂群状态,除了采集蜂箱的声音信号外,还建议监测蜂箱温度,因为在白鱼越冬期间温度升高表明蜜蜂处于不安状态。同时,蜂箱内的湿度也很重要——湿度变化也可能是一种警示信号。

II. 问题定义

根据网络上的出版物可以注意到,欧洲国家的养蜂业自动化得到了广泛应用。这主要是因为养蜂不仅是为了获取养蜂产品,还出于对农作物授粉的需求,此外蜜蜂在维持整个生物圈稳定性方面也发挥着重要作用。

目前已有一些国外开发的蜂群监测系统:例如Apis——由葡萄牙养蜂人开发的[1]系统,可让用户通过智能手机直接远程监控蜂箱状态。该系统能显著减轻初学者和专业养蜂人的工作负担,更重要的是能大幅减少对蜜蜂自身生活的物理干扰。Apis监测系统旨在为每个蜂箱打造“智能蜂箱”,内置温度和湿度传感器、蜜蜂计数器以及称重装置。所有重要的统计数据都会发送到计算机、智能手机或平板电脑。

此外,欧盟正在完成一种设备的研发,该设备可通过监测蜜蜂在蜂箱内发出的声音来实现对蜜蜂健康的远程监控。该项目由特伦特大学(英国)和英国农民协会(BFA)发起,并从欧盟预算中拨款140万欧元[2]用于项目实施。

还有一些国内研发[3],除了监测外,还建议在越冬期间以及春夏季六月初之前(当俄罗斯中部地区天气稳定变暖时)通过在下部出入口安装电加热器来实现蜂箱内的温湿度调节——此时温度急剧下降,蜂群需要消耗大量能量。监测与诊断设备的主要元件是Atmel微控制器。它连接有数字温度传感器DS1620、湿度传感器 HIH4000和驻极体麦克风SG72。

通过声音诊断蜂群状况,可以使用已知且广泛使用的语音识别技术,有两种根本不同的识别方法:T2SI(文本到说话人无关,“说话人无关”,任何人都可以说话)和SD(说话人相关,必须由训练系统的人说话)。显然,在我们的设备中,更容易实现的SD方法将更为合适。

曾考虑使用来自谷歌服务器的免费语音识别服务,如谷歌ASR或YandexSpeechKit[4],但这需要持续的网络连接,而对于使用以高功耗著称的Wi‐Fi模块ESP8266[5]的电池供电设备来说,这是不可接受的。

此外,必须指出的是,这些程序采用更为复杂的“说话人无关”T2SI方法,而在我们的情况下,使用SD(说话人相关)已足够。因此,显然谷歌ASR或 YandexSpeechKit语音识别服务无法被调整用于识别蜜蜂的声音,若要实现则需开发自己的服务器服务。可以拒绝将所有数据传输到服务器。移动设备操作系统安卓4.1支持这一点,因为它具备离线语音识别系统,无需互联网接入。然而,识别质量会降低。但在我们的情况下,使用安卓设备将是多余且昂贵的,因此应尽量避免冗余,因为首要任务是尽可能降低功耗。

EasyVR Shield 3.0 语音识别软件[6](如图1所示)也曾被考虑,但该方案在养蜂业中成本过高(价格为50欧元)。

示意图0

III. 拟议的开发方案

在分析问题现状后,可以提出一种使用Arduino平台的较为经济的解决方案,包括Wi‐Fi模块ESP8266[5]、麦克风模块[7]、用于存储样本的Micro SD卡[8](如图2所示)以及DS18B20数字温度传感器。音频信号的采样频率通常取48 kHz,但对于蜂箱的声音而言,取70..600赫兹[9]的频带已足够,因此显然对麦克风模块带宽的要求较低——麦克风模块中使用的驻极体电容麦克风CZN的带宽为[7] 20赫兹..14kHz。此外,还可以降低信号的采样频率,与已知的语音识别任务相比,这将减少控制器的内存和速度要求。

示意图1

因此,我们建议对蜂群的声音和蜂箱温度进行监测。我们相信,实施温度调控以及春夏季的湿度监测将耗时过多(需要在整个蜂场范围内布线),不利于广泛推广,但养蜂人会需要能够判断分蜂状态(即所谓的子宫鸣叫)的功能——分蜂期过后,这些模块可以停用并从蜂场完全移除。我们认为对蜂箱重量进行过度且费力的监控也是不必要的。

对于识别,建议使用人工神经网络(ANN)算法[10],并先对频谱进行扩展,为此使用快速傅里叶变换算法(FFT)——已有8位转换的库[11]。因此,我们建议实现对蜂群声音和蜂箱温度的监测。

建议定期从麦克风模块提取小信号样本,使用 Arduino板进行数字化,仅在检测到蜂群状态变化时(例如,已检测到子宫鸣叫)才启用Wi‐Fi模块。这将最大限度地降低设备功耗,这一点由于采用自主供电而尤为重要。

鉴于选择过程需要大量内存,建议使用基于32位ARM Cortex‐M3 86兆赫、512K闪存+ 96K内存的Arduino Due[12]以实现高速处理。来自中国制造商的Arduino Due克隆版价格相对低廉,低至15美元。通常选择 Arduino平台是因为其成本低,并且有大量现成的模块及其连接库。此外,还可以轻松找到许多基于该平台已实现设备的相关信息。缺乏对数字信号处理的硬件支持、对浮点数运算的支持,以及在低功耗条件下对高计算能力的需求,促使人们决定考虑使用带有ARM Cortex‐M4内核的32位微控制器的合理性。

具有ARM Cortex‐M4内核的足够低成本32位微控制器STM32的出现和广泛分布,因其内置了数字信号处理 (DSP)和浮点运算单元(FPU)指令,使得它们可用于我们的开发。尽管由于ARM微控制器时序系统的特性而具有高功率和高速度,但仍可显著降低功耗。对于原型设备的开发而言,尤其方便的是基于STM32F4DISCOVERY开发板[13](如图3所示),其搭载STM32F407VG微控制器(Cortex M4,168 MHz,闪存1 MB,内存192 Kb)。

当然,DSP和FPU的存在尤为重要,这将加快声音处理速度,同时更高的时钟频率、更大的内存容量以及板载数字麦克风(ST MEMS传感器MP45DT02)也具有显著优势。
当然,以下是该文档的下半部分内容:


此外,还有一个带D类放大器的音频DAC,您可以尝试使用它来播放存储在内存中的蜂王声音样本(平静状态),以在挖掘时起到安抚作用。因此,可以通过标准的蜂王声音来研究其对蜜蜂行为的影响,这可能会有效阻止或减缓分蜂。

还可以利用板载的ST MEMS LIS302DL运动传感器以及三轴数字加速度计的输出,来监测蜂箱在空间中的位置变化、某些振动和冲击负荷。这对于记录蜂箱与大型动物碰撞导致的倾倒或倾斜情况非常有用,例如在夏季迁徙期间可能发生此类情况;同时也能够用于记录冬季蜂箱处于冬眠状态时啮齿动物侵入蜂箱的情况。

此外,控制器配备有10/100以太网MAC控制器模块,可实现连接到全球网络Internet,并将所有实时信息显示在养蜂人的智能背景界面上。这种连接方式适用于冬眠期间的模块使用;而在夏季条件下工作时,当然更方便的是使用广泛应用于物联网(IoT)和“智能家居”[15‐18]中的Wi‐Fi模块ESP8266[5]进行无线连接。

在选择用于开发的微控制器时,通常会参考之前在8位广泛应用的AVR和PIC[19]或Arduino平台[15,18]上的开发经验。同时,在开发软件时,初学者可以通过使用意法半导体(STMicroelectronics)制造商新开发的程序——CubeMX初始化代码生成器[20]来方便地了解STM32系列,该工具可用于配置(初始化)内核和外设、连接库以及生成空项目。项目生成后,可以将其导入到CooCox IDE[21]这一便捷的开发环境中。因此,学习和开始使用STM32相对较为容易。

示意图2

IV. 结论

对养蜂业自动化领域主要发展趋势进行了分析,特别是现代网络技术、声音识别技术在蜂群状态监测中的应用。研究了现有主要识别技术及监测系统硬件的要求。探讨了基于Arduino平台并结合Wi‐Fi模块ESP8266实现原型的可能性,以及该方案的优缺点。最终得出结论:采用带ARM Cortex‐M4内核的32位微控制器STM32是可取的,且在开发原型设备时应选用STM32F4DISCOVERY评估板。同时还探讨了在STM32上进行项目开发的特点以及开发软件的选择。

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐