这个作业花费的心思还是比较多的,基本上用到了暑假实习过程中的一些部分,并且是对过去一年所学知识的部分调用吧,但是依然有一些无法接受的缺陷,前端是Python渲染出来的,并不是js,导致在写的时候会在页面刷新部分存在一些我不想接受的逻辑,后端用Python,效率太差,未来有时间的话会重新写一个Go版本的。
从作业评分角度来看,还是可以的,个人全班最高分9.5,组内平均分也上8了,希望大家可以思考一下。
代码语言:Python,Keil C++
涉及模块:数据库MySQL,Python,多线程,STC-B单片机
上位机涉及包:streamlit,SQLAlchemy,pyserial
上下位机通信方式:串口收发
系统架构:
硬件电路模块
最终效果:
上位机:
支持Web查看数据库不同表的数据,定时向下位机发送数据,连接数据库,可通过单选框选择指定数据库中的表。对于下位机发送的数据,写入数据库中,并可通过点击绘图按钮,进行最近1min的可视化绘制。
下位机:
扩展土壤湿度传感器:树莓派自动浇花灌溉DIY套件。收集温度,光照,土壤湿度数据,并显示在数码管上,与上位机串口通信,接受数据并做出对应的返回。如果超过阈值,会触发蜂鸣器,并且超过土壤湿度阈值会启动水泵。