本帖最后由 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, 下载次数: 193)
 
 
仓库端.rar
(1.63 MB, 下载次数: 187)
 
 
上位机.rar
(1.62 MB, 下载次数: 192)
 
 
 
 
 
 
 
 
 |