# 温湿度采集系统 **Repository Path**: hinzer/temp_hum_system ## Basic Information - **Project Name**: 温湿度采集系统 - **Description**: temp_hum_system 是一个基于esp8266模组的单点温度采集设计方案,可以接入阿里云平台并完成网页端和app端的界面显示。软硬件设计比较简单,或许可以为你提供一个物联网、智能硬件的解决方案。 此外,本项目包含硬件设计相关的PCB源文件、原理图文件,软件相关底层程序、app端设计方法,供参考。 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 4 - **Created**: 2019-01-27 - **Last Updated**: 2024-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 介绍 NodeMCU采集传感器数据,并通过MQTT协议上报到阿里云Link平台,然后将数据发往web服务器,web服务器将数据提供给app端或者web前端(均使用阿里云可视化平台设计)。数据在展示过程中不断被刷新。 <1>硬件设计 ![设计PCB板](https://images.gitee.com/uploads/images/2019/0718/071935_fda5cb6c_1983031.png "simple_pcb.png") <2>app端显示 ![app端界面显示](https://images.gitee.com/uploads/images/2019/0718/060743_9a97ce0e_1983031.jpeg "show1.jpg") ### 目录介绍 - . - ├── adc_test #ADC测试程序,adc + (程序)转换 + 串口显示 - ├── README.md #帮助文档 - ├── template #修改过的项目模板 - ├── temp_system #温度采集项目--程序 - └── temp_system_pcb #温度采集项目--PCB和原理图文件 ### 使用说明 - **搭建开发环境** 参考博客:https://blog.csdn.net/feit2417/article/details/86609632 - **项目参数配置** 参考博客:https://blog.csdn.net/feit2417/article/details/86666833 - 1. 在'template'项目模板中,需要添加配置。在"user_config.h"文件中添加WIFI热点连接的配置 !['user_config.h文件中写入wifi配置,和mqtt请求地址'](https://images.gitee.com/uploads/images/2019/0718/061817_7074ad6d_1983031.jpeg "QQ截图20190718061808.jpg") - 2.在"MQTTEcho.c"中添加设备的三元组信息 !['MQTTEcho.c'中,写入阿里云平台设备信息](https://images.gitee.com/uploads/images/2019/0718/062100_33e148a9_1983031.jpeg "QQ截图20190718062023.jpg") ![阿里云对应设备](https://images.gitee.com/uploads/images/2019/0718/062310_768e2b9a_1983031.jpeg "设备信息.jpg") ### 可视化平台设计 阿里云物联网平台 --> 开发服务 --> "Iot Studio" --> 移动端设计(图形化设计,很简单) 参考文档:https://studio.iot.aliyun.com/studiomobile-doc?spm=a2c9d.12728400.0.0.487b2dc50H2tmT#mobile-wswg-index.html ### 如何修改 - 1.使温度采集准确 修改'user'目录下的"user_adc.c"文件,这里进行ad采集,函数捕获量化后的值,我们通过查表法将量化的值转换成为对应的问题。所以根据实际温度与量化的原始数据的对应关系,修改这个数组就可以了。 ![adc采集](https://images.gitee.com/uploads/images/2019/0718/062905_28059a62_1983031.jpeg "adc.jpg") - 2.成功连接阿里云 在程序中添加自己对应设备的三元组参数,如果还是没有显示数据的话。请到阿里云后台,查看日志,看看数据格式("MQTTEcho.c"中写入了json格式的模板)有没有对应正确。 ![阿里云后台-设备日志](https://images.gitee.com/uploads/images/2019/0718/063506_72c098e9_1983031.jpeg "日志.jpg") ![修改json模板](https://images.gitee.com/uploads/images/2019/0718/063529_a76f3d9d_1983031.jpeg "json.jpg") - 3.如何提高上报速度 在处理线程中,设置vTaskDelay函数改变上报时间。不过阿里云前端目前设备相关采用的是固定时间轮询方式,所以更新时间会不及时。问了客服,预计下一个版本会修改这个问题。 ![前端显示](https://images.gitee.com/uploads/images/2019/0718/065555_b4d262c1_1983031.jpeg "显示.jpg") ### 软件开发流程 - 1.整个底层基于乐鑫的开发环境,上位机使用Linux系统环境,交叉编译再通过烧写工具写入程序到esp8266的flash中 - 2.ad采集-量化-转换过程中,程序读出内置adc单元的原始量化数据,使用查表法进行实际温度的转换 - 3.硬件上云的过程,除了要配置硬件连接wifi,跑TCP/IP协议栈外,还要对程序移植阿里云平台的C-SDK,应用层使用MQTT协议连接阿里云 - 4.阿里云后台进行项目和连接设备信息的配置 - 5.使用阿里云的可视化开发平台,进行web网页端开发或者app端开发 ### 相关项目 温湿度采集到云端:[https://blog.csdn.net/feit2417/article/details/86671932](http://https://blog.csdn.net/feit2417/article/details/86671932) ### 意见与反馈 如果在使用或者学习过程中发现任何问题或者有优化建议,请qq联系我(2417479847)或者邮箱hinzer@yeah.net像我反馈,大家一起学习探讨!