快捷搜索:  汽车  科技

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)模组调试还是使用的可调电源背面三颗LDO芯片2.电源焊接中,使用了一个电源母头插座和三颗AMS11173.3给设备供电,为什么使用了三颗芯片呢,主要是因为第一这个芯片很便宜第二为了保持稳定,给模组供电使用一颗,还有两颗继电器各自使用一颗,单独供电正面使用了电源插头母座背面就是AMS11173.3了可以看到一共三颗

上一次我们初步认识了SDK编程和透传,给模组更新FW。这一次我们直接用一个开源平台实现我们最终的目的,用一个APP远程控制模组开关。我们使用的平台是机智云提供的开发平台。开始之前我们先把硬件搭建起来,大概规划一下成品的样子电路规划示意图

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(1)

产品线路规划

1.模组焊接中,请忽略我凌乱的桌面

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(2)

制作中


2.电源焊接中,使用了一个电源母头插座和三颗AMS11173.3给设备供电,为什么使用了三颗芯片呢,主要是因为
第一这个芯片很便宜
第二为了保持稳定,给模组供电使用一颗,还有两颗继电器各自使用一颗,单独供电

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(3)

正面使用了电源插头母座


背面就是AMS11173.3了可以看到一共三颗

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(4)

背面三颗LDO芯片


模组调试还是使用的可调电源

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(5)

调试中


最后成品的初步规划,使用了一个常见的LED灯的驱动器外壳,正好可以放进去。那两颗蓝色就是继电器,规格是5V低电平驱动,输出端一个接灯作为灯的开关,一个接NAS的开机按钮

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(6)

成品规划


电路搭建完后,我们开始进行软件的制作,为了减少工作量。我们直接使用开源平台的代码生成功能来完成代码搭建,最后再根据需求简单修改一部分
我们使用的开源代码是机智云提供的,机智云也是目前比较热门的物联网平台之一
首先我们打开机智云的官网,在开发者中心注册账号:

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(7)

注册账号


注册完后登录开发者中心创建产品

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(8)

创建产品

按照下图所示创建产品,名字写你自己想要的名字

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(9)


保存后进入产品,

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(10)

基本信息


选择数据点,按照下图建立数据点,在这个产品我们只用到前两个数据点,所以只建立前两个就可以,后面的几个可以不用建立

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(11)

数据点


选择MCU开发,按下图所示,生成代码

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(12)

生成代码


然后下载代码

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(13)

下载代码

然后解压开下载的压缩包,打开ESP8266_SoC_User_Guide _V0.5.pdf

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(14)

我们去看红线标识的这个文件

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(15)

由于我们这个项目只使用了LED1 和PC的功能,所以我们只需要在这两个函数下的if后面的//user handle下面写上我们要处理的信息即可,那么要写什么呢?还记得我们电路设计图吧,不记得了的去看一下我们第一张图,我们在GPIO的12和13口接了两个继电器,那么在这里我们就要在接收的指令后,让12和13口输出相应的电平。我们使用的是低电平触发的继电器,所以当我们输出低电平给继电器时,继电器会动作闭合,相对于打开开关,当输出高电平给继电器时,继电器会断开,相当于关闭开关。知道了这些后我们就知道了怎么操作了。我们的灯接在12口那么当我们给出了开灯的指令时,就需要12口输出低电平。当给出关灯的命令时,12口就要输出高电平NAS接到了13口当我们给出了开机指令时,13口要给出低电平,但是开机按钮按下时一个短时间动作,如果一直按下的话,NAS会不断的重启,所以当我们按下半秒钟要自动松开开关,所以我们延时500ms后,让13口输出高电平,那APP的开机指令给出后APP会保持开机状态,所以我们要把APP给出关机指令,那收到这个指令后我们都不需要做,这个指令只是让APP复位而已。了解了这里,我们去写代码,写代码之前,我们还是先要去看SDK,看看怎么操作GPIO口那部分。

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(16)

可以看到SDK里面的说明,在操作GPIO输出前要先做一个 管脚功能选择,然后就可以操作输出了,使能函数里的参数都在我们从机智云下的压缩包里

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(17)

由于我们只使用12和13脚,其他的我们就先不管了,参考SDK的说明,我们先给12和13脚做功能选择PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U FUNC_GPIO12);PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U FUNC_GPIO13);然后做输入高电平和低电平,由于SDK里定义的方式太麻烦,实际上在gpio.h和eagle_soc.h里定义了了一个简单的函数GPIO_OUTPUT_SET(GPIO_ID_PIN(12) 0); 12口输出低电平GPIO_OUTPUT_SET(GPIO_ID_PIN(12) 1); 12口输出高电平GPIO_OUTPUT_SET(GPIO_ID_PIN(13) 0); 13口输出低电平GPIO_OUTPUT_SET(GPIO_ID_PIN(13) 1); 13口输出高电平我们还要用到两个函数delay_ms();毫秒延时函数system_soft_wdt_feed();喂狗函数(SDK里第三页有说明)

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(18)

知道了这些我们去修改gizwits_product.c 修改为

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(19)

修改完之后我们去编译这个程序,因为是使用的机智云提供的程序,所以我们要看机智云推荐的编译方法去搭建开发环境

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(20)

按照说明一步步来,最后生成我们需要的文件

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(21)

然后我们再回到我们从机智云下载的的压缩包解压后的文件夹,按照烧录说明进行烧录

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(22)

这些bin文件都在bin文件夹下,user1.4096.new.6.bin文件在bin文件夹下的upgrade文件夹内

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(23)

到这里我们的硬件编程部分已经告一段落,我们以及鞥可以使用机智云的公版APP进行远程控制我们的开关了。首先我们去机智云的下载中心去下载一个公版APP,安装在手机上

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(24)

安装后打开APP注册账号

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(25)

登录APP

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(26)

点右上角的加号,选择一键配置

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(27)

输入你的wifi和密码

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(28)

选择乐鑫模块,并点确定,同时给模块上电:出现添加设备的标志,等待一会就出出现新设备

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(29)

点击进去

esp8266做wifi开关(手把手带你制作WIFI智能开关.走进物联网-ESP8266学习日记)(30)

就出现了我们定义好的6个数据点,由于我们只用了第一个和第二个,后面的四个都没有反应。

此时如果你的继电器都已经连接好了,

按下APP上的第一个开关,接在12口的继电器会闭合,关闭第一个开关,12口的继电器断开

按下PC的开关,13口的继电器闭合半秒后自动断开,关闭第二个开关13口继电器是不响应的

到现在我们已经顺利实现了远程控制WIFI开关的功能。使用的时候我们会发现一个问题

  1. 公版APP可能会出现记不住账号,每次都需要输入账号密码
  2. APP界面不够美观和个性化
  3. 那么下一次我们再来利用机智云的开源APP定制一个个性化的APP。

猜您喜欢: