项目介绍
自己做了一个月的毕业设计,题目是《基于物联网的Lora智慧农业系统设计与实现》,把这个项目的一些框架设计分享出来。这个项目实现的主要功能:远程监控传感器数据、远程控制设备、可视化历史数据。
模块介绍
系统分为几个模块开发,感知层、网关、服务端、APP。框架图如下
每个模块设计的工作:
-
感知层主要功能:采集传感器数据,与LoRa主机进行数据通信。
主要实现:编写单片机程序,实现传感器、LoRa等设备的驱动。LoRa需要进行星型组网,分LoRa主机、LoRa节点。所有节点的数据传输至主机。 -
网关主要功能:接收LoRa主机上报的数据或者下发命令给LoRa主机,是感知层与服务端、app的数据桥梁。
主要实现:使用qt编写应用程序,串口收发、数据格式转换、mqtt数据收发。 -
服务端主要功能:配置mqtt emqx服务器;后台程序主要负责管理设备,存储历史数据。
-
app主要功能:可视化数据。采用uni-app编写开发。
感想
整个工程实现一个基础的功能演示,并不难,很快就能实现。这个系统要做的好,工作量还是比较大的。
比如,只有一两个节点、一个网关设备,程序是比较容易编写的。当这个系统需求需要满足多个节点、多个网关的时候,这个时候设备管理、数据传输会让程序编写难度上一个级别。这个系统每个模块单独拎出来,都是可以不断去优化的。
我的毕业设计的目标就是实现上述系统,迫于时间不够,目前只实现了基本的功能演示。
这是一个简易版本的物联网链路,也可以基于此系统改成智能家居等。
学到什么
针对于面试经验,看面试的岗位不同。偏底层的岗位,比较多会问到感知层的实现。从项目实际出发,问一些单片机原理性的问题。偏软件的岗位,会问系统软件层的实现,操作系统的相关知识。
一步步更新,希望我也能优化这个系统。先分享实现功能,有机会再针对于每个模块进行优化。