搭建一个温湿度传感器的小项目
背景
前段时间,有个学员找我咨询了一个上位机项目报价:
一个小项目,接4个温度传感器,显示出来,再加个报警检测。
按照工作量,2-3个小时应该是可以搞定的,所以我建议的报价是1000元。
后来,过了两天,他跟我说1500元做了,挺开心,毕竟是自己接的第一个上位机项目,算是学有所用了。
硬件
我感觉这个项目挺适合初学者的,所以搭建了一套这样的硬件环境,并且也针对这套硬件做了一个仓储温湿度采集系统,很多学员都完成了,并且都有一个直观的感受就是————麻雀虽小,五脏俱全。
虽然是一个比较小的项目,但是涉及到很多知识点,Modbus采集、Modbus一主多从、Modbus串口断线重连、实时曲线、自定义控件、SQLite数据存储、数据查询、历史曲线、动态查询、报警设置、报警检测、参数配置等。
开发
1、首先设计UI界面如下图,这里主要是采用自定义组合控件的方式来实现。
2、首先确定温湿度传感器的寄存器地址,如下所示
3、开发之前需要提前将各个传感器的站地址设置好,并且保证不能重复。
4、通信部分主要应用的是Modbus一主多从,通过分析,对于每个站点的结果封装一个实体类,如下所示:
5、然后我们可以再封装一个单个设备数据读取的通用方法,如下所示:
6、然后开启多线程进行轮询,并对结果进行错误分析处理,如下所示:
直播
由于篇幅有限,本文仅仅阐述了开发思路,无法将所有细节及代码展示出来。大家如果对这块内容感兴趣,可以在讨论区留言,留下联系方式,这部分我专门在公开课做了详细的讲解,把视频给到你
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-12-14 「新阁教育」西门子TIA实现BadApple完整实例