当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]该项目是在我们于昂斯埃梅尼大学就读的“计算机网络与物联网”专业课程中进行的为期 50 小时的物联网模块学习过程中诞生的。作为一组成员,我们被教授要求利用 LoRa 技术开发一个创新的解决方案。我们的目标不仅仅是满足要求,而是要创造出一种真正能为我们大学实验室服务的工具,尤其是对于像开放日活动(JPO)这样的场合。

1. 故事

项目的起源

该项目是在我们于昂斯埃梅尼大学就读的“计算机网络与物联网”专业课程中进行的为期 50 小时的物联网模块学习过程中诞生的。作为一组成员,我们被教授要求利用 LoRa 技术开发一个创新的解决方案。我们的目标不仅仅是满足要求,而是要创造出一种真正能为我们大学实验室服务的工具,尤其是对于像开放日活动(JPO)这样的场合。

问题

大学实验室常常面临这样一个实际操作上的难题:如何安全地将昂贵的硬件(如 Arduino 微控制器、传感器、专用工具)分发给学生使用。像气象站这类常见的“固定式”物联网项目虽然很常见,但并不能解决物理安全问题。我们想要打造一个互动式的设备:智能储物柜

我们的解决方案:智能双重身份验证密码锁

我们设计了一种智能储物柜系统,该系统能够提供安全的远程访问管理服务,且无需依赖无线网络。

我们的创新之处在于通过 LoRa 无线网络实现双重认证(2FA):

•第一层:用户在储物柜前使用射频识别卡进行身份验证。

•LoRa 传输:独特的标识码通过 LoRa 技术在长距离内传输至中央服务器。

•第二层:如果识别出该徽章,服务器会生成一个唯一的 4 位数字代码,并将其显示在网页应用程序上。

•最终操作:用户从应用程序中获取代码,将其输入到储物柜的键盘上,此时电磁锁便会打开。

通过选择 LoRaWAN 技术,我们确保了储物柜可以放置在校园内的任何位置——哪怕是在没有 Wi-Fi 或移动网络覆盖的区域——同时还能与我们的数据库保持安全的连接。

2. 它是如何运作的?

系统架构

该系统采用分布式架构,将物理硬件与基于云的逻辑中心相连接。储物柜的核心是一个名为“Arduino MKR WAN 1310”的板子,它充当主控制器。该板与多个外围设备相连:一个用于识别的 RFID 读取器、一个用于输入安全密码的 4x4 矩阵键盘、一个用于用户反馈的 I2C 液晶显示屏以及一个由继电器控制的电磁锁。储物柜与管理服务器之间的通信完全通过 LoRa WAN 协议通过 The Things Network 基础设施来处理。

身份验证流程

安全流程始于用户在储物柜处扫描其 RFID 识别卡之时。Arduino 读取卡片的唯一标识符,并将其封装成一个 LoRa 数据包发送至网关。此消息随后被路由至一个基于 Python 的服务器,该服务器托管着一个基于 Flask 的网络应用程序和一个 MQTT 客户端。服务器会将接收到的标识符与数据库进行比对。如果用户被识别,服务器将生成一个随机的四位数安全码。这个码同时会在用户的网络仪表板上更新显示,并作为下行消息发送回 Arduino。

物理访问与监控

一旦 Arduino 通过 LoRa 接收到了秘密代码,它就会切换到等待模式,并通过液晶显示屏提示用户输入数字。用户通过手机上的网络应用程序获取临时代码,并将其输入到实体键盘上。如果输入的代码与 Arduino 内部存储的代码相匹配,继电器就会被触发,从而释放电磁锁,使门能够打开。使用磁性干簧管来监测门的位置,以确保系统只有在门再次完全关闭后才会回到安全的待机状态。

3. 代码逻辑

Arduino 状态机

为了确保用户使用过程的流畅性,并避免在网络通信或键盘输入过程中导致系统卡顿,Arduino MKR WAN 1310 运行着一个有限状态机。这种架构使控制器能够切换到不同的运行模式:待机模式、等待服务器模式以及代码输入模式。在待机模式下,系统持续对 RFID 读取器进行轮询。一旦检测到徽章,系统就会进入等待状态,通过 LoRa 发送 ID 并在 LCD 上显示状态消息。这种非阻塞方式至关重要,因为它使得设备能够在监听 LoRa 消息的同时,同时检查用户是否已在键盘上开始输入操作。

克服 LoRa 类 A 网络延迟问题

一个重要的技术难题在于如何有效地接收来自服务器的二次身份验证(2FA)代码。由于 LoRa WAN 类 A 型设备在发送上行数据后才能立即接收数据,所以我们采用了特定的“ping”机制。在发送初始的 RFID 标识符后,Arduino 会向服务器发送短周期的“ping”信号。这些空消息会开启频繁的接收窗口,使得服务器能够以极短的延迟将生成的安全代码推送到储物柜中。如果没有这种逻辑,用户可能需要等待几分钟才能让网络传递该代码,这对于实体储物柜来说是不切实际的。

服务器端智能与 MQTT

后端逻辑托管在一台 Linux 虚拟机上,是用 Python 语言通过 Flask 框架和 MQTT 客户端编写的。与传统的 Web 调用不同,服务器通过 MQTT 协议与 The Things Network(TTN)保持持续连接。当收到徽章 ID 时,Python 脚本会查询 MariaDB 数据库以验证用户身份。如果身份得到授权,服务器的逻辑会同时处理两项任务:它会生成一个随机的四位数字代码,并将其存储在网页仪表板的会话中,同时还将这个相同的代码编码为 Base64 格式的数据包,以便发送回 Arduino。

通过射频识别技术进行的行政管理

我们还将管理逻辑直接集成到了后端系统中。通过在 Python 配置文件中定义特定的主徽章 UID,服务器可以切换到普通访问模式和管理员注册模式。当管理员徽章被扫描时,服务器会进入“监听”状态,在此状态下,接下来扫描到的 RFID 卡要么会被添加到数据库中(如果是新的),要么会被移除(如果已经存在)。这使得在储物柜站点可以直接轻松管理用户访问,而无需手动编辑数据库表或重启服务器。

本文编译自hackster.io

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

摩尔斯微电子的Wi-Fi HaLow接入点,实现可靠、远距离、低功耗的物联网连接

关键字: 物联网 Wi-Fi 工业传感器

Mavenir 进一步深化与 RINA 的现有合作关系,在其演进分组核心网上部署全新托管语音解决方案,作为多厂商设备更换项目的一部分德克萨斯州理查森, April 10, 2026 (GLOBE NEWSWIRE) -...

关键字: INA Wi-Fi WIRELESS VOLTE

当地时间 3 月 31 日,亚马逊低轨卫星项目Amazon Leo宣布再获重要突破,正式与美国达美航空达成合作,将为其提供机上高速互联网连接服务,标志着亚马逊正式切入航空互联赛道。

关键字: 亚马逊 Leo 达美航空 Wi-Fi

智能家居设备的蓬勃发展,让智能门锁成为家庭自动化的核心入口,而电池续航短、协议兼容性差等痛点,也成为设备升级的关键诉求。针对这些挑战,Kwikset推出了Halo Select智能门锁,通过集成芯科科技的超低功耗Wi-F...

关键字: 智能家居 Wi-Fi 芯片

智能家居市场的持续增长,催生了消费者对可无缝融入其互联生活的创新安全解决方案的需求,硅谷智能家居安全创新企业U-tec自2015年成立以来便深耕这一领域。依托企业安全与生物识别领域数十年经验,U-tec发现传统智能锁电池...

关键字: 智能家居 Wi-Fi 智能锁

上海2026年3月11日 /美通社/ -- 3月11日,在embedded world 2026期间,移远通信宣布,正式发布基于MediaTek平台G520芯片的新一代支持A...

关键字: AI 移远通信 智能化 Wi-Fi

计划将加速Wi-Fi HaLow技术的普及与产品上市进程,推动Wi-Fi HaLow生态系统规模化发展

关键字: Wi-Fi 物联网 嵌入式

上海2026年3月2日 /美通社/ -- 3月2日,在2026年世界移动通信大会(MWC Barcelona 2026)期间,移远通信携手联发科技发布基于MediaTek T...

关键字: 联发科技 移远通信 Wi-Fi 5G

在嵌入式物联网设备中,Wi-Fi模块是实现高速数据传输的核心组件。然而,受限于MCU资源、协议栈效率及网络环境,实际吞吐量常低于理论带宽的30%。本文以ESP32-S3(支持Wi-Fi 6,最大速率150Mbps)为例,...

关键字: Wi-Fi 嵌入式系统

想象一批货物被装上卡车,踏上跨越大陆甚至跨越海洋的旅程。在运输过程中,它配备了GPS和蜂窝网络来进行追踪,然而一旦进入仓库,这种可视性就消失了。GPS无法穿透墙壁,而蜂窝网络在室内尤其是像仓库或医院这样密集的环境或信号被...

关键字: Wi-Fi GPS 蜂窝网络
关闭