当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]Meshtastic 是一个基于 LoRa 技术的平台,可构建独立于互联网接入或蜂窝网络的服务通信网络。近年来,它在全球范围内日益流行,被用于创建社区网络,为偏远地区提供基本通信服务,或在紧急情况下作为商业网络的替代方案。

Meshtastic 是一个基于 LoRa 技术的平台,可构建独立于互联网接入或蜂窝网络的服务通信网络。近年来,它在全球范围内日益流行,被用于创建社区网络,为偏远地区提供基本通信服务,或在紧急情况下作为商业网络的替代方案。

尽管其主要功能是传输简短文本消息和 GPS 位置数据,但 Meshtastic 还具备基础的遥测功能,可实现传感器数据通过网状网络进行传输。

为了支持这些应用,Meshtastic 固件包含两个专用软件模块:遥测模块和检测传感器模块。在本教程中,我将深入讲解检测传感器模块的工作原理、配置方法,并指导您如何在自己的项目中充分发挥其功能潜力。

检测传感器模块该模块包含在官方Meshtastic固件中,用于监控节点的GPIO引脚状态,并在满足特定配置条件时通过网状网络发送消息。

该模块仅与GPIO引脚上的离散信号配合工作。它会解析引脚的状态(高/低或开/关),并在需要时检测从一种状态到另一种状态的变化。它无法读取提供与物理量成比例数值的传感器,例如BMP280。而其他模块——遥测模块——正是为此目的而设计的。

典型应用场景包括:报告PIR传感器检测到的运动、通知门的开启或关闭、报告警报的触发、指示主电源的有无,或当水箱水位低于临界阈值时发出警告。在所有这些情况下,模块均处理只有两种可能状态的二进制条件。

引脚与连接

要使用检测传感器模块,需将被监测的传感器连接到用作节点的电路板上可用的某个GPIO引脚。

请注意,可用引脚的数量因电路板而异。本教程中的所有示例均基于 Seeed Studio Meshtastic Kit for ESP32-S3。

该套件包含一个 XIAO ESP32-S3 和一个通过板对板连接器安装在 XIAO 顶部的 SX1262 基础 LoRa 模块。

LoRa 模块在运行和控制过程中使用了 XIAO 的许多引脚,仅剩下三个引脚可用于通用用途:D5、D6 和 D7。

下图展示了 SX1262 模块的引脚分配及各引脚的功能。被绿色标出的引脚可用,并可与检测传感器模块配合使用。

该模块每 100 毫秒读取一次选定的 GPIO 引脚,因此不适用于变化非常快的信号。

模块配置

选定传感器连接的引脚后,需对模块进行配置。除了其他设置外,还需指定对应的 GPIO 编号、触发警报的条件以及传输间隔。

下图显示的是运行固件版本 2.7.26 的节点在 Android 应用中的配置界面,尽管早期版本的操作流程类似。要访问此屏幕,请打开节点设置,然后选择模块配置 → 检测传感器。

让我们逐一查看可用的设置:

•检测传感器启用:用于开启或关闭该模块。

•最小广播时间(秒):定义两次检测警报之间允许的最短时间间隔。

•状态广播时间(秒):定义周期性状态报告之间的间隔。即使配置的引脚未被激活,这些报告也会发送。

•带铃声与警报消息:在文本警报中添加铃声字符。可用于触发接收节点上的外部通知功能,并激活附加的警告设备。

•友好名称:这是警报消息中包含的文本,后接“detected”一词。

•监控的GPIO引脚:指定触发警报的GPIO引脚。必须输入实际的GPIO编号。在本例中使用的XIAO ESP32-S3板上,D5对应GPIO6,D6对应GPIO43,D7对应GPIO44。

•检测触发类型:定义触发警报的引脚状态或状态变化。

•使用INPUT_PULLUP模式:用于启用或禁用所选GPIO引脚上的内部上拉电阻。

启用时,检测传感器模块可发送两种不同类型的信号:检测警报和状态报告。当被监控的引脚被视为“活动”时,将发送检测警报。所谓“活动”的确切含义取决于所选的检测触发类型,该类型将在下一节中进行更详细的说明。

而状态报告则会在引脚未激活的情况下定期发送,以提供其当前状态的更新信息。

模块仅需在传感器物理连接的节点上启用并配置,接收消息的其他节点无需额外配置。

检测警报

当选定的引脚变为活动状态时,即满足“检测触发类型”设置所定义的条件,便会发送此消息。该参数可配置为以下任一值:

后两种情况属于特殊情形,此时会同时发送两种类型的消息:引脚变为活动时发送检测警报,变为非活动时发送状态报告。

下面我们详细分析每种情况。

逻辑低电平

当选择此选项时,只要检测到低电平逻辑,该引脚即被视为“活动”。

通过查看下图即可轻松理解其工作原理。在第1点时,该引脚因处于低电平状态而变为激活状态。这会触发发送警报消息,并启动模块配置中的另一个参数——最小广播间隔。

如果在此间隔结束时,引脚仍处于激活状态(如图2所示),则会再次发送警报。

这说明了最小广播间隔的重要性。如果没有该参数,警报消息将不断传输,可能导致无线电信道被占满。

如果引脚如图3所示重新变为激活状态,但最小间隔尚未结束,则该条件将被忽略。

最后,如果间隔已过期,但引脚已不再激活(因为其返回高电平状态),则不会发送任何警报(如图4所示)。

该模式的一种可能应用是电源故障检测器。当主电源电压消失时,会触发警报,并根据配置的最小广播间隔周期性重复。当电源恢复后,警报将停止。

最小间隔在一定程度上也起到去抖滤波器的作用。由于接触反弹,机械传感器可能会产生一系列短脉冲。这个保护间隔可防止每次出现这些脉冲时都发送警报。

逻辑高

此选项的工作方式与前一种类似,但采用反向逻辑。

如果引脚变为高电平状态而激活(如图1所示),则会发送警报信息,并开始计时最小间隔。

如果在间隔结束时引脚仍处于激活状态(如图2所示),则会再次发送警报。但如果在间隔未结束前引脚再次变为激活状态(如图3所示),则不发送警报。如果在间隔结束时引脚已不再激活(如图4所示),同样也不会发送警报。

该模式的一种可能应用是使用温度传感器和比较器构建的高温检测器。当测量温度超过预设阈值时,比较器输出变为高电平,否则保持低电平。

采用此设置时,当温度超过限值时会发送警报信息,并在条件持续有效期间继续发送。当温度降至阈值以下时,警报停止。

下降沿

选择此选项后,当引脚从高电平变为低电平时,引脚将被激活,产生一个下降沿。

该行为如下图所示:在点1处检测到下降沿,触发警报并开始最小间隔计时;在点2处再次出现下降沿,但由于最小间隔尚未结束,因此被忽略。

在点3处,最小间隔已过期,引脚仍保持低电平。但因未发生新的下降沿,引脚不被视为处于激活状态,因此不会发送警报。

在点4处再次检测到下降沿,从而发送新的警报。

如果将此选项与前面描述的主电源故障检测器结合使用,当断电时会发送警报,但除非再次发生状态变化,否则不会继续发送后续警报。如果仅使用警报消息作为指示器,我们就能知道电源何时中断,但无法得知何时恢复。

上升沿

此选项是前一个选项的对应形式。

当引脚从低电平变为高电平(如图1所示)时,会触发警报并开始最小间隔计时。

如果在间隔时间未到之前再次出现上升沿(如图2所示),则不会发送警报。如果在间隔期满时引脚仍保持高电平状态(如图3所示),也不会发送警报,因为除非检测到新的边沿,否则该引脚不被视为处于激活状态。

当再次出现上升沿时(如图4所示),引脚重新变为激活状态,并发送新的警报。

若将此选项用于温度比较器示例,则当温度超过上限时会发送警报;当温度回到正常范围时,不会发送额外信息。

边缘激活低电平

此选项稍显复杂,因为它同时结合了边沿和状态检测功能,可同时发送“检测警报”和“状态报告”。

图示展示了其工作原理。为简化说明,此处未显示最小间隔时间,但其适用方式与之前示例相同。

在此模式下,活动电平为低电平。当引脚因状态转换而变为激活状态时(如图1所示),将发送检测警报。当激活结束并使引脚恢复至非激活的高电平状态时,将发送状态报告。

此模式与之前模式的主要区别在于,当引脚变为激活状态时发送一条消息,当其变为非激活状态时再发送另一条消息。

应用于电源检测器时,该设置会同时报告电源中断和恢复的两个事件,尽管这两个事件使用不同类型的报文进行传输。

边缘激活高电平

最后一个选项与前一种相反。

当引脚从低电平(LOW)变为高电平(HIGH)而激活时,将发送检测警报(Detection Alert),如图1所示。随后,当引脚返回非激活的低电平状态时,将发送状态报告(State Report),如图2所示。

在温度检测器示例中,该设置会在温度过高时发送警报,然后在条件结束、温度降至临界阈值以下时发送状态报告。

状态报告

除了检测警报外,检测传感器模块还可定期发送包含所选引脚当前状态的更新信息。

如果设置了大于零的状态广播间隔(State Broadcast Interval),模块将发送包含以下其中一项值的报文:

在此上下文中:

这些值并不代表引脚的实际逻辑电平,而是根据所选的检测触发类型,指示该引脚是否被视为活动状态或非活动状态。

例如,如果配置条件为 LOGIC_LOW,且在发送状态报告时所选引脚处于 LOW 状态,则模块会发送:state: 1。

这是因为在此配置中,LOW 级别被视为活动状态。

通道

需要特别注意的是,与节点自动发送的其他遥测数据一样,检测警报和状态报告仅通过主通道(即通道 0)传输。

作为保护措施,如果主通道未配置 PSK,固件将不会发送此类信息。这有助于防止大量自动消息通过常被用作公共通道的渠道进行传输。

这意味着,连接传感器的发送节点以及所有接收节点都必须配置相同的主通道。您可以选择如“Sensors”或“Telemetry”等名称,并定义一个共享给所有节点的 PSK。像LongFast这样的公共信道仍然可以使用,但必须将其配置为辅助信道,例如在未定义其他辅助信道时,设置为通道1。

下图展示了一个包含两个已配置信道的示例:Sensors作为主信道,LongFast作为辅助信道。

示例

以下部分展示了Detection Sensor模块在检测警报和状态报告方面的几种简单应用。

所有这些示例中,我均使用了固件版本2.7.26,发送节点(用于ESP32-S3的Seeed Studio Meshtastic套件)和接收节点(Wio Tracker L1 Pro)均采用该版本。

在电路图中,仅可见安装在XIAO ESP32-S3顶部的SX1262模块。尽管连接看起来是直接连接到该模块,但实际上它们是连接到其下方XIAO板上的引脚,如照片所示。

紧急按钮

这可能是最简单的示例:一个按下按钮即可触发检测警报的按钮。

一种可能的应用场景是在偏远位置(如公园或自然保护区)安装的紧急按钮,而Meshtastic是唯一可用的通信覆盖区域。按下按钮时,节点会发送求助请求。

下图展示了电路和模块配置。

按钮连接在 D5(对应 GPIO6)与 GND 之间。当按下时,该引脚将接地,产生低电平逻辑。

在配置中,触发类型设置为 LOGIC_LOW,内部上拉电阻已启用,最小广播间隔设为 15 秒。

当发送端和接收端的通道均正确配置后,按下按钮会触发检测警报。若按钮持续按压,则每 15 秒重复一次警报。

如果在节点开机或重启后立即按下按钮但未收到警报,请等待约一分钟后再重试。启动后,固件显然需要一段时间进行初始化,包括搜索附近节点以及执行其他任务,之后才会开始监控 GPIO 引脚。

在上图的右侧,可以看到目标节点接收到的警报信息。该消息包含已配置的友好名称“Emergency”,后跟固件自动添加的“detected”一词。

下图展示了在面包板上组装的测试电路。

门开启检测器

假设您想使用Meshtastic远程监控某个位置的门,例如仓库或建筑工地。您也可以将其用作家庭安全的附加功能,在您离开时门被打开时发送警报。

这可以通过修改之前的示例,并将按钮替换为磁性门传感器来实现。

该传感器由线缆一侧的干簧管和另一侧的磁铁组成。当两者靠近时(即门关闭状态),触点保持闭合;当它们分开(即门打开)时,触点也会断开。

当节点的GPIO输入启用PULL_UP电阻时,在门关闭状态下,D5通过传感器始终连接到GND,输出低电平。当门打开时,触点断开,引脚变为高电平。从低电平(LOW)变为高电平(HIGH)的过程称为上升沿。因此,本例中使用的检测触发类型为RISING_EDGE。其余设置保持不变。

当门打开时,会发送一次警报,不会重复,因为触发条件是状态变化本身,而非后续的电平值。

下图展示了传感器如何连接到电路板。

水箱液位传感器

另一种可能的应用是当水箱或储水罐达到特定液位时发出警报,例如水箱满或液位低于临界最低值时。

水位可通过多种方式检测。一种简单的方法是使用XKC-Y25型电容式传感器,该传感器能够通过塑料或玻璃容器的外壁检测不同类型的液体,而无需直接接触液体。

该传感器有多个版本可供选择。本次测试所用版本具有PNP晶体管输出。

应用电路如下所示:传感器由5V和GND供电。当检测到液体时,传感器将被激活,并通过其内部的PNP晶体管将输出端连接至5V。为了避免电压损坏ESP32,使用三个10 kΩ电阻作为分压器,将信号降至约3.3 V。

因此,当传感器检测到水时输出高电平,未检测到水时输出低电平。

为了使节点在水位低于特定值时发送警报,必须在传感器输出变为低电平时触发警报。因此,该模块可通过LOGIC_LOW或FALLING_EDGE进行配置。

为演示另一种选项,我选择了EITHER_EDGE_ACTIVE_LOW。此设置在引脚变为低电平时发送检测警报,然后在恢复为高电平时发送状态报告。

这使得系统能够同时报告水位过低以及水位恢复到可接受水平的情况。

如上图所示,当水位低于最低阈值时,会接收到“检测到低水位”的消息;当水位再次上升时,则会接收到“低水位状态:0”的消息。

在此情况下,“状态:0”并不表示GPIO输入具有低电平逻辑,而是表示被监测的条件处于非激活状态,在本配置中对应高电平逻辑。

下图展示了组装好的电路。

带有NPN晶体管输出的传感器版本无需使用电阻分压器。当激活时,它会将输入端连接到GND。GPIO输入必须启用内部的PULL_UP功能,而激活后会产生下降沿。

浮子开关电平传感器

为了完成这些示例,该电路与前一个电路具有相同的基本功能,但使用的是浮子开关而非电容式传感器。

有多种类型的浮子开关可供选择。此处使用的型号包含一个内置开关,具有两个输出:常开(NO)和常闭(NC)。

装置内部的一个小钢球随着水位变化而移动,从而切换电气触点。

对于本电路,我使用了常闭触点,并通过蓝色和棕色导线进行连接。根据浮子在容器内的位置,它可以指示水位是高于还是低于设定的临界水平。

通过上述接法,浮子开关的工作原理如下:

将浮子开关连接到ESP32最简单的方式如图所示。

当油箱液位高于临界水平时,D5 通过内部的上拉电阻保持为高电平。随着油箱排空,浮子开关闭合,该引脚连接到地,产生低电平逻辑信号。

为了探索检测传感器模块的另一项功能,本例中我没有配置检测警报,而是使用了周期性状态报告,最小可用间隔为15分钟。

警报的最小广播间隔未进行配置。虽然在本例中不会用于触发警报,但检测触发类型已设置为LOGIC_LOW。

采用此配置后,D5的状态每15分钟上报一次,无论该引脚在两次报告之间如何变化。

如前所述,状态报告中包含的值并非引脚的实际逻辑电平,而是表示所配置条件是否处于激活或非激活状态。

由于选择的触发类型为LOGIC_LOW,因此低电平引脚被视为激活状态。因此:

当浮点开关按描述连接时:

在上图右侧可以看到电路行为:油箱初始位置高于临界水平,产生状态0;随后下降至低于临界水平,产生状态1;最后再次上升超过临界水平,返回状态0。

每次报告均以15分钟为间隔发送。

前面的示例旨在展示检测传感器模块的几种实际应用和不同的配置选项。使用不同类型的传感器,您可能会想到更多可能性。

一个重要的问题是,通过移动设备或手机应用程序接收警报或状态消息,并不是监控传感器最方便的方式,尤其是当涉及多个传感器时。

幸运的是,从网状网络中提取这些消息进行进一步处理,并以更图形化的方式显示,并不特别困难。例如,可以使用 Node-RED 或运行在连接到 Meshtastic 节点的树莓派或电脑上的 Python 脚本,来收集多个传感器的数据并将其显示在仪表板上,从而提供一种更快、更便捷的方式来监控其状态。结论

检测传感器模块极大地扩展了Meshtastic的功能,可将节点转变为一个简单的远程监控系统。

通过正确配置模块参数,可以利用开关型传感器开发出多种应用,例如按钮、门禁传感器和水位探测器。

尽管该模块仅支持二进制信号,但将其集成到标准固件中,可在充分利用现有Meshtastic网络基础设施的同时,实现简单且经济的解决方案。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

该ESP32智能建筑维护监控系统展示了如何利用低成本的物联网硬件来提升设施管理效率。该系统不仅依赖人工检查,还能实时提供环境状况和维护需求的信息。这个项目是一次很好的学习经历。

关键字: 物联网 传感器 ESP32

当我认真思考Tamed实际在做什么时,健康问题就显得再合适不过了。它并非只是管理家务或自动完成某些任务,而是在我外出时监测环境状况,并提醒我该如何照顾自己的身体,以免问题发生。高温、紫外线、湿度——这些在户外悄然累积的因...

关键字: 传感器 Java 26 BME280

在这个项目中,你将构建一个双通道肌电图(EMG)游戏控制器,将前臂肌肉活动转换为键盘输入。通过使用DIY神经科学套件Pro,系统能够检测双前臂的肌肉收缩,并将其映射到不同的键盘按键,从而让你能够自然地操控和驾驶赛车游戏。

关键字: 双通道肌电图 Arduino 传感器

随着机器人逐步进入人机交互的开放场景,明确感知、决策与控制模块的部署位置,对设备的稳定性、安全性、响应能力及使用可信度至关重要。人形机器人存在一项核心的全身控制难题:所有关节、传感器与执行器必须协同运作,以此维持机体平衡...

关键字: 机器人 人机交互 传感器

本项目的目标是从人工、被动的植物养护转向自动化、数据驱动的生态系统。该系统需要监测环境条件,实时追踪土壤湿度,安全地触发自动灌溉周期,并提供本地和远程用户界面。

关键字: 微控制器 OLED显示屏 传感器 BME280

随着数字城市化进程加速,智慧城市已成为城市现代化建设的核心方向。依托物联网、大数据、人工智能等技术,城市交通、能源、安防、民生服务等领域实现智能化升级,极大提升了城市治理效率与居民生活品质。物联网作为智慧城市的核心感知与...

关键字: 智慧城市 物联网 传感器

中国北京(2026年8月5日)—— 业界领先的半导体器件供应商兆易创新GigaDevice(股票代码:603986.SH;3986.HK)今日宣布,正式推出GD32H77R高性能32位微控制器,该款芯片是面向伺服驱动与机...

关键字: 人形机器人 伺服驱动器 传感器

全球领先的电子元器件和自动化产品分销商 DigiKey 在 2026 年第二季度,新增 27,000 多种可快速发货的现货新品。总体而言, 通过 DigiKey 商城和 DigiKey 代发两个核心计划,在 DigiKe...

关键字: 连接器 传感器 电感器

2026 年 8 月 5 日,中国北京讯 - 全球半导体解决方案供应商瑞萨电子(TSE:6723)今日宣布,将携多款面向具身智能、工业机器人、服务机器人及AI开发平台的先进解决方案,首次亮相中国具身智能机器人产业大会暨展...

关键字: 机器人 AI 传感器

大多数空气质量设备将有趣的部分隐藏在屏幕上的数字背后。而这个作品则恰恰相反:它将DFRobot Gravity ENS160气体传感器的读数,转化为Arduino UNO Q上13x8蓝光LED矩阵上的生动动画。走过它时...

关键字: 传感器 Arduino LED矩阵 STM32U585
关闭