项目简介
本项目是基于物联网技术的集装箱跟踪系统,旨在解决新冠疫情期间港口人力短缺问题。系统借助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数据库中的集装箱数据。
- 提供
current
和timeInterval
两个主要方法,分别用于过滤重复的设备数据和根据时间范围筛选数据。
安装使用步骤
前提条件
- 已安装Python、Flask、boto3、Folium等必要的软件和库。
- 拥有AWS账户以使用DynamoDB数据库服务。
- GPS硬件设备编程需要Arduino软件和相关库。
步骤概要
第一步:硬件设置与编程
- 配置GPS节点和网关硬件。
- 使用项目文件中的GPS_NODE.ino和GPSLoRaServer.ino代码进行硬件编程,确保硬件能正确接收和传输数据。
第二步:数据库配置与数据录入
- 在AWS控制台创建一个DynamoDB数据库表,用于存储集装箱的位置数据。
- 确保表的结构与代码中使用的数据结构匹配,并按需录入必要的数据。
- 配置API密钥和访问权限,确保服务器端程序可访问数据库。
第三步:服务器端程序编写与部署
- 使用Flask框架编写服务器端程序,从DynamoDB数据库读取数据并呈现在web GUI中。
- 部署应用程序,包括配置服务器环境、上传代码等。
- 运行应用程序并测试其功能,确保一切正常。
完成以上步骤后,集装箱跟踪系统即可正式投入使用,为码头工人和司机提供实时的集装箱位置信息,提升港口运作效率。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】