视频展示
整体架构分析
整个项目主要的功能在于底层MCU进行数据采集和485问询,然后通过NB模组进行数据准发,采用的通讯协议为MQTT,同时自己搭建阿里云的MQTT服务器进行数据接收,然后自己再开发安卓APP客户端进行数据展示。OVER!
操作系统:
操作系统:RT-thread
这是一个国产的操作系统,官网给出的说明是:小而美,的确用在STM32上确实是很方便的。资料和教程也是非常丰富的。但是不推荐大家去官网学习,我就学了几天就搞懂了其基本逻辑,并运用到了我的毕业设计上。我主要参考的是野火的操作系统资料和教材(教材我一页都没看),我的学习思路就是:直接撸1直接实战才是王道。参考资料可以去我的QQ群。
STM32编程逻辑:
STM32方面的编程逻辑如下:主要分为三个线程,各司其职,当时还没怎么深入学习操作系统,所以并没有加入消息队列,而是直接用全局变量进行的数据传输。
数据采集方面采用的是RS485的问询采集
NBIOT方面也是直接采用的串口AT指令的通讯
安卓APP的开发
安卓端的开发就显得有些简单了,因为MQTT有现成的jar包可以拿来使用,我只需要把接收到的数据进行解析处理,并渲染在layout里就行了。整体效果还是可以的。
PC上位机开发:
PC端的上位机采用python编写(由于某些原因烂尾了。)
但是整体的效果都实现了,UI界面也是有的,只是自己没有太大兴趣去完成和优化了。
布局分析
下图就是我用三维图绘制的整体的模型。
总结:
整体来说我的毕业设计还算圆满,自己也花了大量的时间在上面,但是由于我是机械专业 的学生,我们学院老师和领导要求的毕业设计都是和机械相关的,我这个项目做出来基本都是和电子与物联网相关,从开始到最后没有一个老师给我一个展示的机会,所以自始至终,我的设备没开机运行。。。。。。给老师看我做的安卓APP老师也不懂。他们的不懂导致了他们不知道这个项目的工作量,他们的不懂导致了我满腔热血没有得到理解,也导致了我后期没有了优化硬件和代码的兴趣(也是python上位机烂尾的原因)。
2019年6月8日
愿所有努力都不被辜负!
开源
此次项目的所有工程文件和代码都开源在QQ群里,以及个人github中
QQ群:476840321
github:https://github.com/az666/my_Rt-thread_STM32_projects