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

【源码】基于物联网的集装箱跟踪系统

项目简介

本项目是基于物联网技术的集装箱跟踪系统,旨在解决新冠疫情期间港口人力短缺问题。系统借助GPS和LoRa技术实现集装箱的实时定位与数据传输,助力码头工人和司机高效找到特定集装箱,加快卸载区域空间周转,缓解全球港口拥堵,降低运输成本。

项目的主要特性和功能

硬件部分

  • GPS Endnode(GPS节点):采用Arduino UNO和NEO - 6M GPS模块,实现集装箱实时定位。
  • Gateway(网关):通过LoRa服务器(GPSLoRaServer.ino),实现数据远程传输。

软件部分

web GUI(服务器端)

  • 基于Flask框架创建web应用,展示集装箱位置地图。
  • 利用boto3库连接AWS DynamoDB数据库,获取集装箱位置数据。
  • 运用Folium库创建地图,以OpenStreetMap作为基础地图。
  • 支持根据设备名称自动分配不同颜色标记点,点击标记点可显示设备名称、日期和时间等详细信息。

readDynamodb.py(数据处理)

  • 该Python类用于读取DynamoDB数据库中的集装箱数据。
  • 提供currenttimeInterval两个主要方法,分别用于过滤重复的设备数据和根据时间范围筛选数据。

安装使用步骤

前提条件

  • 已安装Python、Flask、boto3、Folium等必要的软件和库。
  • 拥有AWS账户以使用DynamoDB数据库服务。
  • GPS硬件设备编程需要Arduino软件和相关库。

步骤概要

第一步:硬件设置与编程

  1. 配置GPS节点和网关硬件。
  2. 使用项目文件中的GPS_NODE.ino和GPSLoRaServer.ino代码进行硬件编程,确保硬件能正确接收和传输数据。

第二步:数据库配置与数据录入

  1. 在AWS控制台创建一个DynamoDB数据库表,用于存储集装箱的位置数据。
  2. 确保表的结构与代码中使用的数据结构匹配,并按需录入必要的数据。
  3. 配置API密钥和访问权限,确保服务器端程序可访问数据库。

第三步:服务器端程序编写与部署

  1. 使用Flask框架编写服务器端程序,从DynamoDB数据库读取数据并呈现在web GUI中。
  2. 部署应用程序,包括配置服务器环境、上传代码等。
  3. 运行应用程序并测试其功能,确保一切正常。

完成以上步骤后,集装箱跟踪系统即可正式投入使用,为码头工人和司机提供实时的集装箱位置信息,提升港口运作效率。

下载地址

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