项目简介
本项目是基于物联网(IoT)技术的包裹箱管理系统,利用多种硬件设备和软件,实现对包裹箱状态的实时监控与管理,能通过推送通知告知用户相关信息。硬件以定制化包裹箱为主体,搭配各类传感器和微控制器;软件采用 C++ 进行微处理器编程,结合 Python 服务和 HomeAssistant 服务器进行数据处理与通知。
项目的主要特性和功能
硬件特性
- 包裹箱采用 MiniTec 铝型材和 4mm 厚刨花板搭建,箱盖通过合页连接。
- 配备超声波传感器、Reed 模块、步进电机、矩阵键盘等,可全面感知包裹箱状态。
- 选用 Heltec Automation 的 WiFi - LoRa - 32 - V2 微处理器,利用其 LoRa 模块实现数据远程传输。
- 由步进电机和齿轮、活塞等构成闭锁机制,保障包裹箱安全。
软件功能
- C++ 基于 LMIC - node 框架,实现对外设组件的控制。
- Python 服务利用 HomeAssistantAPI 发送通知,通过
paho - mqtt
库处理 LoRa 数据并触发 HomeAssistant 服务。 - HomeAssistant 作为服务器,接收 Python 服务指令,向用户手机推送包裹箱状态信息。
数据传输
传感器数据在包裹箱开关时,经微处理器通过 LoRa 和 TTN 发送,TTN 通过 MQTT 服务器提供数据,Python 服务接收处理后触发 HomeAssistant 服务,向用户手机推送通知。
安装使用步骤
硬件连接
- 按以下引脚分配连接硬件: | 设备 | 引脚 | | ---- | ---- | | 矩阵键盘 | 0, 2, 23, 25 | | 步进电机 | 12, 13, 17, 21 | | Reed 传感器 | 36 | | 超声波传感器 | 22, 37 | | LoRa 模块(原厂) | 19, 18, 5, 15, 4, 16, 26, 27, 14 |
- 用 5V 电源(如移动电源)为系统供电。
软件配置
- C++ 程序烧录
- 确保开发环境安装所需库,如
chris--a/Keypad@^3.1.1
、waspinator/AccelStepper@^1.64
等。 - 将 C++ 代码烧录到 Heltec Automation 的 WiFi - LoRa - 32 - V2 微处理器。
- 确保开发环境安装所需库,如
- Python 服务配置
- 安装
paho - mqtt
库和 HomeAssistantAPI 相关依赖。 - 配置 Python 服务,使其能连接 TTN 的 MQTT 服务器和 HomeAssistant 服务器。
- 安装
- HomeAssistant 配置
- 在 Oracle VM VirtualBox 上启动 HomeAssistant 服务器,确保与 Python 服务在同一 WLAN 环境。
- 配置 HomeAssistant 中的通知服务,使其能正常向用户手机推送消息。
使用方法
- 启动硬件设备,确保传感器和微处理器正常工作。
- 启动 Python 服务和 HomeAssistant 服务器。
- 包裹箱状态变化时,传感器数据按流程传输,用户手机将收到推送通知。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】