本帖最后由 beam92 于 2018-8-2 11:02 编辑
本次项目主要目的是实现鱼缸温度自动控制,水循环的自动控制和手动控制。
本次设计不再采用本地温度调节,一个按键用于配网即可。
物料准备:
2个温度传感器(防水型DS18B20)用于检测循环箱和鱼缸温度
继电器3个,一个用于常温水蓄水罐抽水和废水放水(合用一个,保证水位平衡),一个用于循环水送水(可接制氧机),一个用于循环水升温。
方案优势:
采用esp8266 SOC方案,节省成本
——————进入正文——————
第一步:在机智云自助开发平台创建“智能鱼缸”产品,建立数据点
创建一个新产品,建立以下数据点
- 显示名称:加热开关
标识名:Heating_switch
读写类型:可写
数据类型:布尔值
备注: 加热开关
- 显示名称:循环开关
标识名:Cir_water_switch
读写类型:可写
数据类型:布尔值
备注: 循环水开关
- 显示名称:排水开关
标识名:drain_off_water
读写类型:可写
数据类型:布尔值
备注: 无
- 显示名称:模式设定
标识名:auto_mode
读写类型:可写
数据类型:枚举
枚举范围:0.自动调整 1.手动控制
备注: 无
- 显示名称:循环水温
标识名:Heating_box_temperature
读写类型:只读
数据类型:数值
数据范围:0 - 99
分辨率:1
增量:0
备注: 无
- 显示名称:鱼缸水温
标识名:fishbowl_temperature
读写类型:只读
数据类型:数值
数据范围:0 - 99
分辨率:1
增量:0
备注: 无
- 显示名称:温度上限
标识名:Max_temperature
读写类型:可写
数据类型:数值
数据范围:0 - 99
分辨率:1
增量:0
备注: 无
- 显示名称:温度下限
标识名:Min_temperature
读写类型:可写
数据类型:数值
数据范围:0 - 99
分辨率:1
增量:0
备注: 无
创建好数据点之后生成SOC代码。
第二步:下载SOC代码,在ESP8266上烧写固件
代码此处不在介绍,项目在附件。自行查看代码。
ESP8266 SOC方案是指ESP8266同时作为微控制器和wifi模块
接线如下
- GPIO0 配网开关(短按SOFTAP,长按AIRLINK)
- GPIO4 循环温度传感器
- GPIO5 水箱温度传感器
- GPIO12 加热开关
- GPIO13 循环开关
- GPIO14 排水开关
程序基本思路
实现远程设置鱼缸温度范围,系统自动调节温度,缓慢调节温度,升温是在循环里面进行升温,而起是平衡升温。防止水温过高,升温过程中,需要和循环搭配完成。2个18B20不采用单总线,单独采集。
源码太大,上传云盘了,回帖可获取
|