写在最前面

华清远见教育集团
15年专注高端IT培训
做良心教育,做专业教育,做受人尊敬的职业教育

创客学院官网:http://www.makeru.com.cn/ <http://www.makeru.com.cn/>
华清远见创客学院嵌入式课程链接:http://www.makeru.com.cn/emb <http://www.makeru.com.cn/emb>
华清远见创客学院物联网课程链接:http://www.makeru.com.cn/iot <http://www.makeru.com.cn/iot>

 

正文

 

本文主要是对整个仓储物联网项目的介绍,也对整个学习过程做个小小总结。笔者一定认真对待。

 

总结


了解的项目开发的流程,对整个知识体系有个初步的掌控。我觉得最大的收获还是对之前所学习的知识有一个综合的运用,现在看来物联网项目也不过如此。当然,或许有些片面,因为笔者只了解整个项目的一些皮毛,还有很多可以拓展的功能没有实现。笔者是从华清远见的Iot课程学习的这个项目,加上一些个人理解,就整理成系列笔记。

希望以后减少对视频教程的依赖,独立的去思考。学会独立,在这条路上能走多远。

 

 

效果展示

 

报警阈值



 

数据显示



 

控制界面



 

 

 

对于整个系统的认识

 

功能介绍


通过STM32实现仓储环境的采集,将环境信息上报给A9服务器主机处理,主机将这些数据处理并实时更新到网页上,同时将作为历史数据保存到数据库中。当A9服务器检测到环境信息超出报警阈值时,对仓储实现控制,比如仓库的光照较暗,那么系统主机端自动控制远程的LED灯开启,增加光照的强度,改善环境信息;同时用户也可以通过客户端来向发送命令,控制仓储的环境和设定警报阈值。


硬件环境

*     A9服务器,需要满足linux内核和相关驱动的移植,在此基础上进行应用开发
*     存储设备, SD卡、EMMC、SCSI或IDE接口的硬盘
*     底层硬件,STM32+若干传感器+若干输出设备进行环境的采集和控制
 

开发环境

 

*     Linux开发平台:Ubuntu14.04
*     开发语言:C语言
*     编译环境:gcc交叉编译链
 
 

 

系统分层



底层做数据采集,采集后的数据打包发送到数据处理层,最后送到网页端(客户端)展示

 

 

从数据流分析

1.至下而上

一个是底层采集传感器数据,软件打包成数据包,通过zigbee或者网络通讯协议上传,处理层解包最终发送数据到网页端显示



 

2.至上而下

另一个是用户在网页端发送命令,经过服务器处理,然后将命令下发到硬件,实现控制输出设备的动作



 

 

 

整理的学习笔记
 

A9服务器

web服务器移植:https://blog.csdn.net/feit2417/article/details/84777523
<https://blog.csdn.net/feit2417/article/details/84777523>

CGI的认识与CGIC的移植:https://blog.csdn.net/feit2417/article/details/84792908
<https://blog.csdn.net/feit2417/article/details/84792908>

应用程序主框架搭建:https://blog.csdn.net/feit2417/article/details/84930276
<https://blog.csdn.net/feit2417/article/details/84930276>

线程的同步互斥学习:https://blog.csdn.net/feit2417/article/details/84933153
<https://blog.csdn.net/feit2417/article/details/84933153>

通信前提--数据格式的定义:https://blog.csdn.net/feit2417/article/details/84898279
<https://blog.csdn.net/feit2417/article/details/84898279>

 

A9服务器到客户端

数据上报--应用进程通过CGI与html交互:https://blog.csdn.net/feit2417/article/details/84841158
<https://blog.csdn.net/feit2417/article/details/84841158>

命令下发--html通过CGI与用户进程交互:https://blog.csdn.net/feit2417/article/details/84836827
<https://blog.csdn.net/feit2417/article/details/84836827>

mjpeg-streamer视频图像的显示:https://blog.csdn.net/feit2417/article/details/84865028
<https://blog.csdn.net/feit2417/article/details/84865028>

 

A9服务器到底层

数据采集--实现串口数据的上传:https://blog.csdn.net/feit2417/article/details/84898400
<https://blog.csdn.net/feit2417/article/details/84898400>

命令解析--实现对硬件的控制:https://blog.csdn.net/feit2417/article/details/84899740
<https://blog.csdn.net/feit2417/article/details/84899740>

linux内核对USB与串口驱动移植:https://blog.csdn.net/feit2417/article/details/84912433
<https://blog.csdn.net/feit2417/article/details/84912433>

实现A9与下位机的交互:https://blog.csdn.net/feit2417/article/details/84917300
<https://blog.csdn.net/feit2417/article/details/84917300>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信