×

可远程监控蜂巢的开源项目

消耗积分:0 | 格式:zip | 大小:0.80 MB | 2022-11-17

郭中

分享资料个

描述

十五年来,蜜蜂一直面临灭绝的威胁。事实上,在过去的十年里,欧洲有 30% 到 40% 的蜂群死亡。这对环境来说是一个令人担忧的情况,因为蜜蜂是最重要的传粉者,因此是我们生态系统不可或缺的一部分。此外,还会出现经济问题。事实上,例如在法国,蜂蜜生产是超过 54,000 名养蜂人的额外收入,也是大约 2,000 名其他养蜂人的主要收入。

我们的目标是让专业或业余的养蜂人能够远程监控他们的蜂巢。我们的解决方案旨在为他们节省不必要的生产现场之旅,从而节省时间。我们的设备是一个连接的传感器套件,每 10 分钟收集一次数据并将其发送给养蜂人。这让他了解了他的蜂群的状态和环境的质量。与其他商业化系统相比,我们的产品易于使用且价格合理(约 150 欧元)。

研究数据

为了监控蜂巢的完整性,我们选择研究:

  • 室内温度 (+/- 0.5 °C)
  • 室外温度 (+/- 0.5 °C)
  • 室外湿度 (+/- 2%)
  • 重量(+/- 0.2 公斤)

我们还花费了大量时间研究人工智能 (AI),它能够指示是否有蜂王以及是否有任何蜜蜂。不幸的是,我们无法实现我们的神经网络 (NN),因为导出它被证明比预期的更复杂。

pYYBAGN1I_GAGPkMAAEW7RHp77I348.png
系统图
 

 

软件

Mbed 源文件可在“代码”选项卡中下载。

为了使我们的系统正常工作,我们在 Mbed 上开发了该软件。使用代码我们可以:

  • 初始化所有传感器。

对于每个传感器,我们分配了一个引脚。

poYBAGN1I_SAXtTrAAAds-pEtQg595.png
传感器初始化
 
  • 每十分钟获取每个传感器的值测量值。
室内温度:我们选择使用 DS18B20 温度传感器。事实上,这种模式已经在之前的类似项目中证明了它的效率。
 
 
 
poYBAGN1I_aARso7AAA1LcK-y3w086.png
 
1 / 2DS18B20 实施
 
室外温湿度:我们选择了DHT22温湿度传感器。
pYYBAGN1I_iAHC6dAAAPJs_piY4815.png
DHT22 实施
 
重量:我们选择使用应变仪来收集重量值。
pYYBAGN1I_qAEKmWAAAT5-IiRM0435.png
应变计实现
 
  • 将我们收集的数据发送到 Sigfox 后端。
 
 
 
poYBAGN1I_yAOOtfAAAOl1jNu8w031.png
 
1 / 2Wisol 引脚分配
 
  • 当我们不发送数据时,让微控制器进入睡眠状态。

因为 Sigfox 限制了一个人每天可以发送的消息数量,所以我们只能在 24 小时内发送 140 条消息。因此,我们只能每十分钟测量一次。

poYBAGN1JACABw-1AAAIvAuQ8J4921.png
10 分钟睡眠实施
 

人工智能培训

为了创建我们的人工智能,我们决定训练一个神经网络来分析蜂巢中的声音频率。为此,我们使用了开发平台 Edge Impulse。它使您可以毫不费力地构想具有嵌入式机器学习功能的设备。

创建 Edge Impulse 帐户和项目后,我们可以选择两种方法来训练我们的神经网络。

第一个需要使用我们按照本教程连接到 Edge Impulse 的 IoT 发现套件然后,为了开发能够识别不同声音频率的 AI,我们按照此处所述的步骤进行操作

第二种方法不需要 B-L475E-IOT01A2 板。然而,这非常耗时。事实上,在搜索和下载数据集(蜜蜂或不蜜蜂The Hiveeyes 社区)之后,每个声音样本都必须手工剪切并上传到我们的设计中。对于我们的大部分项目,我们选择了这种方法,因为我们无法直接从蜂巢中收集样本。

首先,我们创建了一个脉冲设计并设置了训练我们的 AI 所需的参数。因为我们正在处理蜜蜂,所以我们需要采用比教程中演示的更大的窗口大小。我们选择使用 MFCC 块来训练我们的神经网络,但这不是我们唯一的选择。MFE 和 Spectogram 块也可以用来训练 AI。根据所研究的频率范围,任何一个集团都可能比其他集团工作得更好。

pYYBAGN1JAKAHKEnAACild1DdB0283.png
冲动设计
 

接下来,我们确定了训练周期数、学习率和要设置的最小置信度,因为这些参数会极大地影响模型的准确性。最后,混淆矩阵显示了我们的神经网络的准确性。当我们对结果不满意时,我们上传了额外的数据并重新训练我们的模型。

pYYBAGN1JASAfr7sAABOEcoeOuY693.png
神经网络精度
 

如您所见,我们的神经网络很难识别何时有蜜蜂。由于缺乏数据和时间,我们无法对其进行重新训练。

最后一步是在我们的 STM 板上导出我们的 AI

PCB制作

包含所有源的 Kicad 项目文件可在 Schematics 选项卡中下载。

PCB制作的第一步是为每个组件制作电气原理图。

poYBAGN1JAeAZOJxAAFlZVHe8dY304.png
Kicad 电气原理图
 

之后,我们按照教程构思了我们的电路板,并将我们的温度传感器与 Grove 连接器打印相关联,以获得更坚固的设备。

在设计印刷电路板时,我们注意到一些引脚(D7、D8 和 A7)不允许我们收集所需的数据集。这是由于 Nucleo STM32 是如何制造的,因此在打印电路板之前,请确保测试每个引脚。

在整个项目中,我们生产了 2 个 PCB。如前所述,起初我们希望能够研究蜂巢的声音频率。因此,我们设计并印刷了一块电路板,可以让我们用麦克风收集声音样本。

 
 
 
poYBAGN1JAqAZsUYAAHcx45Q-k0085.png
 
1 / 2PCB - 版本 1
 

从那时起,我们不得不设计第二个来减少我们的能源消耗。考虑到当时我们辞职不实施人工智能这一事实,我们决定尽可能缩小我们的系统。

 
 
 
pYYBAGN1JA2AdgzHAAEYHUXraRA058.jpg
 
1 / 2PCB - 版本 2
 

设计完成后,我们生成了打印电路板所需的 Gerber 文件。对于这个项目,我们可以使用台式 PCB 铣床进行所有打印,但您可以将文件发送给制造商。

Sigfox 和 Ubidots

为了从远程位置收集数据,我们使用了 Sigfox 网络。

要进行此设置,我们必须在此处激活我们的 Wisol 设备然后,我们创建并登录了一个Ubidots帐户并添加了一个新设备。

pYYBAGN1JA-AJKsqAAAw8PUxBEY824.png
 

下一步是我们按照本教程配置回调

最后,我们在 Ubidots 上创建了一个带有仪表板的用户界面,以方便数据检查。

pYYBAGN1JBKAV30IAAEmH1dD0J4801.png
用户界面 - Ubidots
 

系统能源

为了使我们的系统自主,我们选择使用电池。后者可以通过太阳能充电,这要归功于 Lipo Rider Pro 板,该板将从太阳能电池板接收到的能量转换为可存储的能量。

然后,为了给我们的系统供电,我们焊接了从 Lipo Rider Pro 到我们的 PCB 的电线。我们添加了一个 ON/OFF 开关,使我们的系统更易于使用。

为了降低能耗,我们决定使用 5 - 3.3 伏转换器 (LDO),而不是使用嵌入在控制器中的转换器。实际上,通过执行此步骤,我们能够取出微控制器底层的焊桥 SB9 和 SB14。我们还移除了 LED,如下图所示。

拆焊这些元件必须最后完成,因为之后重新编程电路板是不可能的。

 
 
 
poYBAGN1JBWAISjqAADXtlyK-ro211.jpg
 
1 / 2Nucleo-32 板顶部布局
 

系统组装

首先,我们建议您使用双层 H 底盘来固定应变片并稳定蜂巢。一些制造商可以为您建造它。否则,你可以自己做,如下图所示。

pYYBAGN1JBeASWXJAABNWhJdBf4101.png
双H底盘
 

应变片(灰色)用螺丝固定在顶部 H 机箱(深棕色)的底部和底部的上侧(浅棕色)。我们建议使用坚固且防水的材料,例如铝。

一旦系统经过测试并处于正常工作状态,我们就选择了一个适合尺寸的密封盒。之后,我们精心布置了每个元素,以优化空间。我们必须在盒子的侧面钻孔,以便我们的传感器可以在蜂巢内读取。一旦每个组件都在其指定的位置,我们拧上盖子并热粘在传感器周围以使其防水。

 
 

 


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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !