基于TinyML和LoRaWAN技术的AIoT森林传感器,用于监测蘑菇生长环境并检测人体存在
采蘑菇是一项受欢迎的户外活动,尤其在斯洛文尼亚这里十分流行。但每位采菇者都知道其中的烦恼——你驱车前往最爱的采蘑菇地点,穿过森林,结果却一无所获。要么是因为天气条件不适合,要么是别人早就在你到达之前把所有蘑菇都采完了。
问题是,蘑菇只有在温度和湿度达到合适水平时才会生长,而这个适宜的窗口期非常短暂。普通的天气预报其实不太有帮助,因为它们覆盖的范围很大,无法针对森林深处的具体位置进行准确预测。
我们希望打造一个能解决两个问题的东西——告诉你当前天气状况如何,以及是否有人已经访问过你的地点。PoGobeobe 就是由此诞生的。
我们的解决方案
PoGobe 是一种智能传感器,隐藏在3D打印的蘑菇内部,安装在树上。它有两个功能:监测温度和湿度,并利用人工智能监听人类的脚步声。
这是它的运作方式:
在正常模式下,它每天仅测量一次温度和湿度,并保存最近的10次读数。当这些读数超过某个阈值(即环境适合蘑菇生长)时,系统将切换至AI模式。此时麦克风会开启,TinyML模型开始监听。如果检测到连续两次有人的脚步且置信度超过70%,系统便会通过LoRaWAN发送警报。
10天后,整个过程会重新开始,因为蘑菇通常在良好条件下的2到3天内就会出现,并且可以食用大约一周。
万物如何相连
整个数据流水线如下所示:
传感器(NatureGuard物联网板 + DHT11)采集数据,并通过LoRaWAN发送至The Things网络。随后,一个Webhook会触发Make.com的场景,将数据路由到我们的Firebase实时数据库。我们有两种类型的事件:一种是蘑菇生长条件(包含温度和湿度值),另一种是人体检测警报(包含置信度百分比)。最后,一个网页仪表盘从Firebase获取数据,并以清晰的概览形式展示所有信息。
AI模型
在AI部分,我们使用了Edge Impulse和FSC22数据集——该数据集专为森林声音分类而设计,包含27种不同的声音类别。我们将数据集缩小为仅两类:人类声音和非人类声音。
该模型直接在微控制器(Edge AI)上运行,无需云端处理,从而保持低功耗和快速响应。
我们在验证集上的结果:
•准确率:83.8%
•人体检测:72.8%(F1:0.79)
•非人类声音:91.5%(F1:0.87)
该模型已量化为int8,可适配NatureGuard物联网板。虽然并非完美,但足以作为概念验证——它能明显区分有人经过和普通的森林声音。
硬件
我们用3D打印了一个蘑菇形状的外壳,使传感器与森林融为一体。底部设有用于麦克风和湿度传感器的通风孔,盖子可旋紧固定。
内部包含:
•NatureGuard物联网板(Seeed XIAO nRF52840 Sense),内置PDM麦克风和加速度计
•DHT111 温湿度传感器
•用于远距离通信的LoRa模块
•CR2032纽扣电池
整个装置相当紧凑,可以很好地放在树枝或树干上。
仪表盘
我们搭建了一个简单的网页仪表盘,用于显示来自传感器的所有数据。你可以查看温度和湿度读数,在蘑菇生长条件适宜时收到提醒,并在有人靠近你的监测区域时发出警告。
它使用纯HTML、CSS和JavaScript构建,可实时从Firebase读取数据。支持多个传感器位置,并且可以切换斯洛文尼亚语和英语。
本文编译自hackster.io





