本帖最后由 zgq2173329 于 2017-12-13 16:46 编辑
刚毕业上班了几个月,在公司做的东西比较杂,PCB和程序都是一个人弄,还有整理各种文档,有时候一天下来都很忙但是没有学到什么东西,有时候想深入学习Linux,但是没有时间学习,也很难转到相关的岗位,感觉自己更喜欢纯编程,对互联网更感兴趣,对互联网的工资更感兴趣(感觉自己在大学也不是太懒那种,然后现在有些做互联网的同学随便8K 10K,自己在深圳5.5K ....)
Anyway,趁着现在辞职了有空,分享下大学时期拖拖拉拉做到毕业的项目
车载端:STM32F103RCT6、GPRS、GPS、RC522、LCD
仓库端:STM32F103RCT6、OV2640、USR-215R(WiFi)、RC522、一堆传感器
上位机:C# (WinForm) 、SQL Server数据库、百度地图
一、整体结构图
二、仓库端
(1)摄像头:仓库端仓库端主机把摄像头的实时画面通过USR-215 WiFi模块传输到 PC端(服务器)显示 (2)环境传感器包括:空气质量(PM2.5)、温度、湿度检测 (3)安防传感器包括 :人体红外监测、可燃气泄漏监测 (4)继电器:能在服务器和手机端控制,使用两个继电器来模拟用电器(开关)的状态 (5)RFID读写器(RC522):用于货物出库登记打卡
三、车载端
正面:
反面:
四、PC端上位机
使用C#编写,功能包括“库存管理”、“物流管理”、“仓库监控”
使用SQL数据库保存以下几个表格:
1、库存管理
货物入库登记(记录客户姓名、电话、送货目的地、货物类型等信息),库存况查询,RFID出库登记打卡。
(1)货物入库登记:
(2)货物出库登记时,需要先按提示把RFID卡放在读卡器上:
然后按提示在上面的库存情况表中选择需要出库登记的一项,在右下角会显示该项的详细信息:
点击“出库登记”,此时弹出提示“确认出库?”,点击“是”,若出库成功会提示“出库登记成功!”
库存情况表:
2、物流管理
(1)打卡出发:
货物出库时需要在仓库端打卡,然后在运货出发前,先在车载端打卡登记装车,打卡后,在PC服务器会见到该车辆在线,能够看到该车辆的信息(运单号、车号、车牌号、司机姓名、客户姓名、客户电话、运货目的地、货物类型等)。
打卡后会在地图上显示起点标志(即当前车辆的位置),并在右上角显示中文地址,此时能够看到该车辆的信息:
(2)路途中:
车辆在运货路途中,会把GPS模块采集到的经纬度数据,通过GPRS发送到PC端服务器,服务器通过JavaScript把经纬度数据传送到百度地图的API,在地图中实时显示车辆的位置,并进行跟踪,同时把经纬度数据记录保存在SQL数据库中。
车辆经纬度记录表(用于查询每个运单的历史轨迹):
(3)到达:
抵达目的地后,需要打卡卸货,然后PC端服务器会显示车辆已下线,并且显示“到达”,中文地址变成红色。
把地图放大:
(4)查询历史轨迹:
在某个运单完成后,能够通过运单号来查询该运单的信息(车号、车牌号、司机姓名、客户姓名、客户电话、起点地址、终点地址、出发时间、到达时间、历时等),同时在地图上描绘该车辆的历史轨迹、起点、终点。
把地图放大后可以看到起点、终点图标:
3、仓库监控
(1)安防监控:实时显示摄像头画面,人体红外感应是否有人经过,可燃气泄漏检测,若出现响应则警报提醒。 (2)环境检测:实时显示空气质量(PM2.5)、温度、湿度,同步上传到OneNET云平台,记录并描绘其变化曲线。 (3)电器(开关)控制:实时检测仓库端主机控制的电器的开关状态,同步上传到OneNET云平台,以便在PC端服务器或者用手机监控电器的开关状态。
把数据同步上传到OneNET云平台:
从而能够从手机端的APP中监控仓库端的数据:
代码如下:
车载端.rar
(1.04 MB)
仓库端.rar
(1.63 MB)
上位机.rar
(1.62 MB)
|