littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于C++和Python的IoT包裹箱管理系统

项目简介

本项目是基于物联网(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 服务,向用户手机推送通知。

安装使用步骤

硬件连接

  1. 按以下引脚分配连接硬件: | 设备 | 引脚 | | ---- | ---- | | 矩阵键盘 | 0, 2, 23, 25 | | 步进电机 | 12, 13, 17, 21 | | Reed 传感器 | 36 | | 超声波传感器 | 22, 37 | | LoRa 模块(原厂) | 19, 18, 5, 15, 4, 16, 26, 27, 14 |
  2. 用 5V 电源(如移动电源)为系统供电。

软件配置

  1. C++ 程序烧录
    • 确保开发环境安装所需库,如 chris--a/Keypad@^3.1.1waspinator/AccelStepper@^1.64 等。
    • 将 C++ 代码烧录到 Heltec Automation 的 WiFi - LoRa - 32 - V2 微处理器。
  2. Python 服务配置
    • 安装 paho - mqtt 库和 HomeAssistantAPI 相关依赖。
    • 配置 Python 服务,使其能连接 TTN 的 MQTT 服务器和 HomeAssistant 服务器。
  3. HomeAssistant 配置
    • 在 Oracle VM VirtualBox 上启动 HomeAssistant 服务器,确保与 Python 服务在同一 WLAN 环境。
    • 配置 HomeAssistant 中的通知服务,使其能正常向用户手机推送消息。

使用方法

  1. 启动硬件设备,确保传感器和微处理器正常工作。
  2. 启动 Python 服务和 HomeAssistant 服务器。
  3. 包裹箱状态变化时,传感器数据按流程传输,用户手机将收到推送通知。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】