基于ESP8266 SOC方案的智能鱼缸控制器
本次项目主要目的是实现鱼缸温度自动控制,水循环的自动控制和手动控制。本次设计不再采用本地温度调节,一个按键用于配网即可。
物料准备:
2个温度传感器(防水型DS18B20)用于检测循环箱和鱼缸温度
继电器3个,一个用于常温水蓄水罐抽水和废水放水(合用一个,保证水位平衡),一个用于循环水送水(可接制氧机),一个用于循环水升温。
方案优势:
采用ESP8266 SOC方案,节省成本支持手机远程控制鱼缸
程序基本思路
实现远程设置鱼缸温度范围,系统自动调节温度,缓慢调节温度,升温是在循环里面进行升温,而起是平衡升温。防止水温过高,升温过程中,需要和循环搭配完成。2个18B20不采用单总线,单独采集。
——————进入正文——————
第一步:在机智云自助开发平台创建“智能鱼缸”产品,建立数据点
创建一个新产品,建立以下数据点
[*]显示名称:加热开关
标识名: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 排水开关
第三步:下载APP源码,编译,生成简单版本的apk,安装在手机上,可实现远程控制智能鱼缸。
源代码,由于论坛5M限制,此处上传云盘
**** Hidden Message *****
显示名称:加热开关
标识名: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
备注: 无
有接线图吗 这几个接口板子上找不到 GPIO0 GPIO4 GPIO5 GPIO12 GPIO13 循环开关 GPIO14 排水开关 有接线图吗 这几个接口板子上找不到
GPIO0
GPIO4
GPIO5
GPIO12
GPIO13
GPIO14 程序写好之后更新 感谢楼主分享~ 感谢分享``` APP界面是啥样子的呀有没有实物图了
感谢楼主分享~ 很好,支持一下。。。 可否分享原理图,实物图,接线图以及APP截屏? 学些一下 来学习一下 学习。。。。。。。 感谢楼主分享 不错,谢谢分享 zhichi 初入门,希望在此得到帮助,多谢楼主 初次接触APP,谢谢楼主 学习学习,好久没来了 我来学习了