0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开发案例|家用热水器智能化改造记

机智云 2022-10-28 09:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文分成四部分:硬件设计、软件设计、APP设计、多人共享功能,最终实现了热水器的远程控制功能。随着物联网模块大量普及,各种“云”应接不暇,物联网进入家庭的速度明显提高。作为电子DIYER,意味着有了可以快速解决家庭实际需求的有力工具,以前的各种奇思妙想,都可以使用物联网技术用较短的时间内实现啦。
这不,老婆大人看到我做的门灯控制器,就提出来让我把家里的热水器改装成带物联网遥控的,可以在下班前用手机打开热水器,回到家就能有热水用。最终制作的作品是这样的:
988de21c-55a0-11ed-b116-dac502259ad0.png一、硬件部分1.1 需求分析

我家的热水器是海尔EC5002-05,它可以设置好加热功率档位和加热目标温度,打开开关自动按照预置功率加热至目标温度。

它的控制开关是微动开关,这种开关按下是需要一定的力度的。

我的主要工作其实就是用物联网技术打开这个开关就行了,只要能通过手机控制这个电源开关打开,回到家就能用上热水。


1.2 总体设计

要想控制电源开关按下,有两种思路。

第一种,就是设计一个机械装置,模拟人按下开关的动作;

第二种,就是用电信号控制它打开。

按照以往的工作经验,我觉得可以采用下面几种方案,每种方案都是用ESP8266进行控制的,给出开关量控制。


(一)使用电磁铁,给出一个向下的按压动作。比如下面的这种,它就能产生一个向下按压的动作,来完成按压。这种方案的缺点是电磁铁工作电压很高,有的220伏,有的是12伏或者是24伏,而且它体积较大,也比较重,专门为它设计一个支架,也不好设计。此外,还不知道它的力度好不好控制,万一这玩意力度太大,把面板给弄坏了。。。。

(二)使用普通舵机。正好家里有一个普通的舵机,arduino套件里面的SG90舵机,它很小,也很便宜,但是完成点击的动作是没问题的。缺点也是需要一个专门的固定架子,此外,还需要专门的供电电源,以及PWM控制信号提供者。我以前做过一个STC计算器,用这个单片机提供PWM信号也行,不过就是增加了最终作品的体积和复杂程度。(ESP8266也可以提供PWM,不过没时间学它怎么用)

(三)使用直线舵机。在寻找合适的舵机的时候,竟然发现还有这种“直线舵机”。它其实就是把旋转运动利用一个螺杆转换成了直线运动,使用起来仍然是PWM控制方式,看上去这个东东比较适合我,如果说有缺点的话,仍然是需要为它设计支架。
98dba632-55a0-11ed-b116-dac502259ad0.png

以上三种方案,都是模拟人手按压微动开关动作的,都需要设计安装支架。而支架安装到哪里,是个问题,安装到墙上,可能需要一个庞大的支撑架子,安装到热水器上,可能需要打孔或者用强力胶固定。即使固定的问题能够解决,那么支架呢?当然可以用3D打印来解决,当然3D打印的设计过程是需要反复多次的,当然时间是可能会受到批评的,当然美观程度是会受到我家外貌协会那位质疑的。


(四)使用ESP8266直接控制,给出电信号。就是拆开热水器看看,这个开关下面的电路板上面,按下之后给控制芯片提供了一个高电平还是低电平,如果按下就是高电平,抬起就是低电平,那么我让ESP8266直接输出一个高电平给控制芯片就行了。这样做的优点是ESP8266可以隐藏着热水器内部,外观上看不出任何痕迹。缺点是ESP8266输出的电平是3.3伏,而后来测量的热水器控制板电平是5伏,不可以通用,再加一个电平匹配电路,担心时间长了会有安全隐患。不怕一万,就怕万一。

(五)使用ESP8266控制继电器,控制开关引脚短路。这个思路就是把热水器控制板上电源开关按键用导线引出来,然后用ESP8266搭建一个电路,控制这两根导线的通断,其实根子里,还是模拟按键,只不过不用机械装置来按压微动开关了。

这么做的好处优势很明显,就是安全,不管外部控制电路发生什么问题,大不了,就相当于热水器的开关按下或者打开,不会引起热水器任何故障。而且这个方案实现速度快,不用大量的机械加工工作。

当然这样做是需要一定的技术基础的,不建议看了帖子的朋友一定要自己动手DIY。生命诚可贵,用电须谨慎。

综上所述,总体设计选用第五套方案,这里没有说软件,是因为我只会用机智云,而且机智云非常好用,还可以生成APP源码。

1.3 详细设计

1.3.1 热水器引出控制线

硬件清单:电线若干、连接器接头若干

制作步骤:

1.断开电源,打开热水器控制面板,它用4个螺丝固定,用头部带磁性的螺丝刀拆下,防止掉下来找不到了。
9903520e-55a0-11ed-b116-dac502259ad0.png
2.拆开控制电路板保护壳
991b2f82-55a0-11ed-b116-dac502259ad0.png
3.拔掉连接排线,取出电路板,可以看到微动开关,按下电源开关,其实就是按下了右下角那个微动开关SW4。
993c1eea-55a0-11ed-b116-dac502259ad0.png4.在电源微动开关背面找到它的引脚,它是4个引脚,两个一组,组与组之间平时是不导通的,用万用表确定好引脚有,焊接电线。我用的是非常好的硅胶线,特别柔软,但是特别可靠。
99949232-55a0-11ed-b116-dac502259ad0.png
5.为硅胶线做一个连接器,我不习惯用胶带随便缠一下,老是觉得那种连接不可靠。
99ac4616-55a0-11ed-b116-dac502259ad0.png
6.用胶**固定一下焊接点,防止拉扯导致短路
99d1640a-55a0-11ed-b116-dac502259ad0.png
7.做一个将导线引出热水器外部的连接线。注意使用热缩管。
99f570d4-55a0-11ed-b116-dac502259ad0.png
8.将控制板安装回去,里面空间足够大,然后把红色的连接器留在热水器控制面板外壳里面。
9a1bbaf0-55a0-11ed-b116-dac502259ad0.png
9.安装完成的效果是这样的。
9a7c6ba2-55a0-11ed-b116-dac502259ad0.png

1.3.2 ESP8266控制器设计
硬件清单:ESP8266模块、壳体、洞洞板、三极管、电阻、继电器模块、导线若干

制作步骤:

1.准备ESP8266模块,使用到的引脚有三个:VCC,GND和GPIO12(当然也可以用其他引脚,只不过编程时需要进行初始化)
9ab3365a-55a0-11ed-b116-dac502259ad0.png
2.准备3.3伏转5伏电路。因为ESP8266输出的IO电平是3.3伏,而手头的继电器是5伏才能控制,所以需要加一个电平转换,或者叫做开关电路,使用的是NPN三极管S8050,原理是下图。注意,连接基极的电阻最后测试应该为1K,集电极带箭头的是输出。这个电路用到的是三极管的开关功能。实际上三极管原理非常复杂,模拟电路有专门的课程进行学习,我们这里只用了一个基本的电路,来实现3.3伏驱动5伏的器件,也就是继电器(5伏工作电压)
9acf222a-55a0-11ed-b116-dac502259ad0.png
3.用洞洞板固定单排母(用来插入ESP8266模块)和三极管电路,给ESP8266供电(5伏),并将GPIO12连接至三极管电路的基极电阻上。洞洞板打3毫米孔,用来固定在壳体上。
9afeaaf4-55a0-11ed-b116-dac502259ad0.png
4.给壳体开孔,用来向外连接导线。
9b261e4a-55a0-11ed-b116-dac502259ad0.png
5.将洞洞板打孔位置、继电器板安装孔位置在壳体内部确定好,然后想办法用胶**固定几个尼龙螺母。有动手经验的人一看就知道怎么安装的,这里就不再细细赘述过程。
9b3f827c-55a0-11ed-b116-dac502259ad0.png
6.将VCC、GND和信号线都连接好,同时也连接好继电器,我手头只有一个双路继电器,其实单路继电器就够用了。
9b8dc9fa-55a0-11ed-b116-dac502259ad0.png
7.给ESP8266供电的是USB接口的充电器,现在家里往往都有好几个闲置的充电器可以用,充电器也是一个专门的学问,大厂的充电器质量还是杠杠滴,用在这里非常合适(省电、可靠),比自己做一个简单的220转5伏电路可靠多了。
9ba677a2-55a0-11ed-b116-dac502259ad0.png
8.继电器引出的两根线连接到热水器控制线上
9bdc5dea-55a0-11ed-b116-dac502259ad0.png
9.为了提高可靠性,用了多层热缩管,将热水器那端的连接器缩住,可以抵抗水汽可能引起的短路(其实短路就相当于电源开关按下,并不会产生危害性后果)。多层热缩管的作用,有点类似于德国人连接电缆。

用到的工具比较多,最后做出来的作品看上去却很简单
9c13cdfc-55a0-11ed-b116-dac502259ad0.png

硬件部分做好了之后,还需要软件的配套才能实现控制热水器开关的功能。

二、软件部分2.1 注册机智云账号

机智云自助开发平台上注册自己的账号,以后自己设计的任何物联网设备都可以放在这个账号上面。
https://dev.gizwits.com/zh-cn/developer/
9c4400c6-55a0-11ed-b116-dac502259ad0.png

2.2 创建新的设备并生成源代码

首先创建一个新设备
9c611d96-55a0-11ed-b116-dac502259ad0.png
然后添加数据点
9c7436ba-55a0-11ed-b116-dac502259ad0.png
数据点是light_onoff,这个名字可以是自己定义的其他字母。
9c951114-55a0-11ed-b116-dac502259ad0.png
在基本信息里面就会看到这个数据点的基本信息,注意Secret要想看到完整的,还需要二次密码验证。
9ca59f0c-55a0-11ed-b116-dac502259ad0.png
选择MCU开发
9ceca7e4-55a0-11ed-b116-dac502259ad0.png
再选择SOC方案
9d01935c-55a0-11ed-b116-dac502259ad0.png
然后输入secret,生成代码包
9d24163e-55a0-11ed-b116-dac502259ad0.png

下载之后发现这个代码包跟乐鑫的结构差不多(这句话是说给用过乐鑫官方代码朋友听的)
9d4036c0-55a0-11ed-b116-dac502259ad0.png

2.3 编译ESP8266源代码

上一步生成的源代码是运行在ESP8266模块内部的,怎么编译和烧写呢?

下面这个文档有说明:

https://dwz.date/fpVy

9d528ab4-55a0-11ed-b116-dac502259ad0.png

关于开发环境搭建的内容:

https://dwz.date/fpVz

关于ESP8266平台文件说明:

9d7cf178-55a0-11ed-b116-dac502259ad0.png
跟前面学习编译的内容都差不多,也是跟乐鑫一样在D盘新建一个VM文件夹。
然后把所有的文件都放在这个文件夹。我将文件夹名字命名为SoC_ESP8266,这样短一些,方便输入。

首先让linux和windows共享文件夹
输入用户密码:“espressif”,回车确认。
9da74de2-55a0-11ed-b116-dac502259ad0.png
这时能够在VM VirtualBOX虚拟机里面通过文件夹管理器看到已经共享成功了。
9dba5112-55a0-11ed-b116-dac502259ad0.png
本文所要实现的目的是手机APP控制这个模块,实现GPIO12的开关,也就是高低电平的转换。

上面的步骤生成的源代码是不能实现具体引脚的控制的,那么为了实现这个引脚的控制,就需要对代码进行修改。

修改的步骤是在VM文件夹下面,找到相应的.c或者.h文件,用记事本或者其他软件打开并进行编辑。

只修改了一点点。

在user_main.c中的keyinit函数中,添加了初始化GPIO12的代码。
9ddac37a-55a0-11ed-b116-dac502259ad0.png

然后在gizwits_product.c中,添加了让小灯翻转的代码。
9e2a6c9a-55a0-11ed-b116-dac502259ad0.png
没错,就是这么简单,就像是51单片机一样,对引脚初始化,然后在功能函数中让它变成高低电平。

2.4 编译源代码并烧写进入ESP8266

接下来开始对这个源代码进行编译。
下面进入app目录,下面这个界面是运行了VM VirtualBOX虚拟机里面的LX客户端。模拟的是linux操作系统
进入某个目录用的是cd命令。
9e3b4196-55a0-11ed-b116-dac502259ad0.png
运行编译脚本:./gen_misc.sh
编译速度很快
9e659838-55a0-11ed-b116-dac502259ad0.png

接下来开始烧写
机智云自动生成的代码中,有一张图片,这个图片说明了该烧写进入哪个地址
9e77d6a6-55a0-11ed-b116-dac502259ad0.png
下面开始烧写。
9ea97210-55a0-11ed-b116-dac502259ad0.png
为了方便初学者看懂,这里说一下硬件连接,ESP8266模块由上下两块组成,其中上面这个就是ESP8266功能板,下面这个其实是一个USB转串口的板子,芯片是CH340,只不过做成了和ESP8266功能板的尺寸一样了,其实它的功能是和买的那种USB转串口的模块是一样的。用一根micro USB数据线,也就是目前手机常用的充电/数据线就行了,注意,不是TYPE-C数据线。连接电脑之后,会自动安装驱动程序,当然,要确保电脑是联网状态。驱动安装成功之后,就会在设备管理器中显示当前串口是COM几,串口号记下来,在烧写的时候,选择这个串口号就行了。

点击电脑上的烧写软件START,然后按下板子上的FLASH按键不松手,然后按下RST按键,松手,再松开FLASH按键。一般情况下可以一次烧写成功,如果不成功,请再次点击烧写START,再次按照FLASH和RST按键步骤进行烧写。

烧写完之后,模块就能够使用了。

三、App开发

工具非常重要,我们所要做的控制器APP,只需要一个开关按钮,实现对物联网模块的控制就行了,所以,能用现成的解决方案最好。

好在机智云可以自动生成代码,能做的,都做好了。

3.1 登录机智云自助开发平台:dev.gizwits.com

3.2 首先添加一个新的应用
9ec7b8ce-55a0-11ed-b116-dac502259ad0.png
定义一个名称
9ee40998-55a0-11ed-b116-dac502259ad0.png

这是我们要控制的设备ID和SECRET
9f1b9016-55a0-11ed-b116-dac502259ad0.png

3.3 在线生成APP源码

选择安卓源代码
9f30481c-55a0-11ed-b116-dac502259ad0.png

生成速度很快
9f4bdafa-55a0-11ed-b116-dac502259ad0.png
生成的代码中,有AndroidStudio和Eclipse两种形式的代码。
9f5e3a2e-55a0-11ed-b116-dac502259ad0.png
推荐选择Android Studio。注意这个软件需要前期下载SDK,具体的下载方式请自行网络查询。这方面的知识属于本文之外的知识,为了保持文章脉络一致性,在此就不详细描述。如需博主帮助,请留言索取详细设置方式。

编译好的APP,安装到手机上之后的界面如下。这些视觉元素都是机智云自动生成好的。如果需要进行美化等等操作,也需要安卓编程的基础。在此就不详细描述了。通过这个APP,就可以实现手机对家里热水器控制模块的控制了。手机无论在哪里,只要有网络,就能够实现对家里热水器的控制。
9f6e666a-55a0-11ed-b116-dac502259ad0.png
这个APP制作出来后,只能在一台手机上使用。这是它的一个缺点。总不能谁想用热水器都给我打个电话让我来开关吧,所以还是需要做成多人可控的才行。

给家里的热水器改造了物联网开关之后,在第三节中开发App只能我一个人控制。为了达到全家人均能远程控制热水器,所以我又制作了设备二维码,方便家人也能扫码控制改造后的智能热水器。

四、实现产品共享

4.1 首先产品需要开通共享功能

在机智云开发者中心“开启设备分享功能”

机智云开发者中心:dev.gizwtis.com
9fad4ac4-55a0-11ed-b116-dac502259ad0.png

4.2 在文档中心搜索“二维码”

文档中心:docs.gizwits.com
9fd3292e-55a0-11ed-b116-dac502259ad0.png
APP绑定设备二维码生成教程


a015fe34-55a0-11ed-b116-dac502259ad0.png
跟着说明走就行了

4.3 注意事项

首先需要授权
a03966f8-55a0-11ed-b116-dac502259ad0.png
然后才开始进行生成。
a05de23a-55a0-11ed-b116-dac502259ad0.png
需要输入product key,和MAC地址。这个界面跟以前版本的不一样了,以前直接输入,现在还要填写格式才行。我的是HEX格式的。

a071f91e-55a0-11ed-b116-dac502259ad0.png

MAC地址可以从设备日志进行查询。

a0b0de40-55a0-11ed-b116-dac502259ad0.png


返回201,生成成功了。
a0c502e4-55a0-11ed-b116-dac502259ad0.png
点击选择“查询所有生成的二维码”

a0ebba60-55a0-11ed-b116-dac502259ad0.png


展开之后,输入product_key,填写之后try it out
生成成功了。代码是200.

a1004e6c-55a0-11ed-b116-dac502259ad0.png


下载地址就是机智云通用地址和生成的地址合起来。
http://qrcode.gizwitsapi.com:1800/static/zipfiles/2XXXXXX.zip
在浏览器输入这个地址之后,再下载。


下载的图片是这样的,这个图片是以MAC地址进行命名的。XXXXXXXXc0ce925,以后让晶扫描二维码就可以控制家里的热水器了。

注意,这个二维码通过机智云APP就能够绑定。

机智云APP可以在应用商店搜搜“机智云”即可下载安装。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2950

    文章

    48135

    浏览量

    418570
  • 热水器
    +关注

    关注

    5

    文章

    221

    浏览量

    28437
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    热水器CE认证申请

    热水器出口欧盟必须办理CE 认证,核心覆盖LVD、EMC、RoHS、ErP四大指令,储水式还需关注PED 压力设备指令。以下是完整申请流程、标准、资料与周期费用。
    的头像 发表于 03-05 10:14 292次阅读
    电<b class='flag-5'>热水器</b>CE认证申请

    造纸厂车间联网改造:疆鸿智能MODBUS TCP与PROFIBUS的桥梁搭建

     造纸厂车间联网改造:疆鸿智能MODBUS TCP与PROFIBUS的桥梁搭建 1 项目背景:新旧交织的自动困境 去年夏天,我带队进驻华东某大型造纸印刷厂时,面临的是一幅典型的工业
    的头像 发表于 12-22 14:48 326次阅读
    造纸厂车间联网<b class='flag-5'>改造</b><b class='flag-5'>记</b>:疆鸿<b class='flag-5'>智能</b>MODBUS TCP与PROFIBUS的桥梁搭建

    智能热水新纪元:捷捷微电高可靠性可控硅方案赋能电热水器安全升级

    在现代家居生活中,电热水器作为日常必备电器,其性能表现与安全可靠性直接关系到用户的生命财产安全。捷捷微电基于在功率半导体领域深厚的技术积累,推出针对电热水器加热控制系统的完整可控硅解决方案,为家电
    的头像 发表于 12-05 18:04 709次阅读
    <b class='flag-5'>智能</b><b class='flag-5'>热水</b>新纪元:捷捷微电高可靠性可控硅方案赋能电<b class='flag-5'>热水器</b>安全升级

    32位单片机如何赋能强排热水器

    的运行,其核心控制单元至关重要。传统的简单控制已难以满足需求,而基于32位单片机的智能控制方案正成为主流选择。英尚微电子代理灵动推出的MM32SPIN080C系列32位单片机,为强排热水器风机控制带来了专业的参考方案。
    的头像 发表于 12-05 15:17 553次阅读

    “汽车智能化” 和 “家电高端

    ,要么因成本太高没法普及,中芯国际良率提升后,国产车企不用再 “卡脖子”,未来 10 万级家用车也能标配高端智能座舱。​ 自动驾驶的安全保障:L3 级以上自动驾驶需要芯片实时处理摄像头、雷达的海量数据
    发表于 10-28 20:46

    广州唯创电子WT2003H4-16S语音芯片厂家为燃气热水器注入智能安全新体验

    安全警示与语音提示的完美结合,让家庭热水使用更加安心便捷随着科技的发展和生活水平的提高,燃气热水器已成为现代家庭不可或缺的热水设备。然而,传统燃气热水器操作界面复杂,安全警示不够直观,
    的头像 发表于 09-18 09:50 592次阅读
    广州唯创电子WT2003H4-16S语音芯片厂家为燃气<b class='flag-5'>热水器</b>注入<b class='flag-5'>智能</b>安全新体验

    突破传统桎梏,PPEC Workbench 开启电源智能化设计新路径

    进度慢。 一、PPEC Workbench:电力电子智能化设计平台 PPEC Workbench 电力电子智能化开发生态平台,以智能化设计、图形程序
    发表于 08-26 11:40

    国家高端智能化家用电器创新中心与极海半导体签署战略合作协议

      7月31日, 国家高端智能化家用电器创新中心 (以下简称“国创中心”)与 珠海极海半导体有限公司 (以下简称“极海”)在国创中心成功举办战略合作签约仪式。 此次合作 聚焦高端智能家电核心芯片技术
    的头像 发表于 08-01 21:17 1611次阅读

    比亚迪持续深耕电动智能化领域

    近日,比亚迪在深圳总部举行媒体深度交流会,围绕 “电动智能化” 领域的技术突破与未来规划展开分享。比亚迪集团高级副总裁、汽车新技术研究院院长杨冬生,副院长韩冰,智能化软件开发中心主
    的头像 发表于 07-31 13:51 892次阅读

    高华科技智能化协同改造项目启动

    近日,高华科技召开智能化协同改造项目启动会。公司副总经理胡建斌主持会议,董事长、总经理李维平出席会议并讲话。项目承建单位蓝凌软件项目实施团队参会。
    的头像 发表于 07-25 15:37 809次阅读

    小水电站智能化改造物联网解决方案

    和水能资源利用效率大幅度提高,河流生态环境得到有效修复,电站运行成本进一步下降,综合效益十分高。 智能化改造是指为小水电安装智能传感、远程监控系统等,
    的头像 发表于 06-25 15:48 986次阅读
    小水电站<b class='flag-5'>智能化</b><b class='flag-5'>改造</b>物联网解决方案

    智能热水器语音方案:NRK3501芯片让洗澡告别手动时代

    一句‘把水温调到42度’,热水器就能精准响应——九芯NRK3501芯片让传统机械旋钮成为过去,湿手误触彻底消失。从被动加热到主动服务,它不仅能听懂指令,还能预判需求:进门自动预热、故障主动预警,让科技真正温暖生活。
    的头像 发表于 06-11 16:51 692次阅读
    <b class='flag-5'>智能</b><b class='flag-5'>热水器</b>语音方案:NRK3501芯片让洗澡告别手动时代

    NRK3502语音识别芯片:重塑热水器智能交互新体验

    告别繁琐按键,NRK3502语音芯片让热水器听懂人话:98%精准识别浴室指令,离线操作不惧断网,老人孩子都能轻松声控,为厂商打造差异化智能产品。
    的头像 发表于 06-06 15:53 1002次阅读

    酒店智能化都用到哪些芯片之高速互联型MCU CH32V317

    酒店智能化都用到哪些芯片之高速互联型MCU CH32V317 在工业4.0与物联网快速发展的时代背景下,高性能、低功耗的32位MCU成为智能设备的核心驱动力。沁恒微电子的互联型青稞RISC-V
    发表于 05-30 17:02

    热换站电力改造如何实现智能化能源管理

    ,对热换站进行电力改造势在必行。 二、改造目标 提高能源利用效率,降低能源消耗。 实现热换站电力系统的智能化监控和管理。 增强系统的稳定性和可靠性,减少故障发生频率。 优化能源分配,确保热换站各设备的高效运行。 三、
    的头像 发表于 05-23 16:51 676次阅读
    热换站电力<b class='flag-5'>改造</b>如何实现<b class='flag-5'>智能化</b>能源管理