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

2020-05-11 19:43:10 17点赞 166收藏 14评论

上一次我们初步认识了SDK编程和透传,给模组更新FW。

这一次我们直接用一个开源平台实现我们最终的目的,用一个APP远程控制模组开关。

我们使用的平台是机智云提供的开发平台。

开始之前我们先把硬件搭建起来,大概规划一下成品的样子电路规划示意图

产品线路图产品线路图

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

制作中制作中

2.电源焊接中,使用了一个电源母头插座和三颗AMS11173.3给设备供电,为什么使用了三颗芯片呢,主要是因为

第一 这个芯片很便宜
第二 为了保持稳定,给模组供电使用一颗,还有两颗继电器各自使用一颗,单独供电

正面使用了电源插头母座正面使用了电源插头母座

背面就是AMS11173V3了可以看到一共三颗

背面三颗LDO芯片背面三颗LDO芯片

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

调试中调试中

最后成品的初步规划,使用了一个常见的LED灯的驱动器外壳,正好可以放进去。那两颗蓝色就是继电器,

规格是5V低电平驱动,

输出端一个接灯作为灯的开关

一个接NAS的开机按钮

成品规划成品规划

电路搭建完后,我们开始进行软件的制作,为了减少工作量。

我们直接使用开源平台的代码生成功能来完成代码搭建,最后再根据需求简单修改一部分.

我们使用的开源代码是机智云提供的,机智云也是目前比较热门的物联网平台之一

首先我们打开机智云的官网,在开发者中心注册账号:

注册账号注册账号

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

创建产品创建产品

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

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

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

选择数据点

按照下图建立数据点,在这个产品我们只用到前两个数据点,所以只建立前两个就可以,后面的几个主要是学习,可以不用建立,建立也不影响

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

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

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

生成代码后下载代码

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

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

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

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

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

由于我们这个项目只使用了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口那部分。

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

可以看到SDK里面的说明,在操作GPIO输出前要先做一个 管脚功能选择,然后就可以操作输出了,

使能函数里的参数都在我们从机智云下的压缩包里如下图的位置

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

由于我们只使用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里第三页有说明)

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

知道了这些我们去修改gizwits_product.c 修改为下面的样子

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

修改完之后我们去编译这个程序,因为是使用的机智云提供的程序,所以我们要按照机智云推荐的编译方法去搭建开发环境,否则会出现各种错误

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

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

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

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

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

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

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

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

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

安装后打开APP注册账号

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

登录APP

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

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

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

输入你的wifi和密码

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

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

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

点击进去

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

就出现了我们定义好的6个数据点,由于我们只定义了了第一个和第二个响应函数,

后面的四个都没有定义响应函数,所以后面4个都不起作用。

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

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

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

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

公版APP可能会出现记不住账号,每次都需要输入账号密码,太麻烦了

并且APP界面不够美观和个性化

那么下一次我们再来利用机智云的开源APP定制一个个性化的APP。

展开 收起

MIJIA 米家 智能追光氛围灯带 2m

MIJIA 米家 智能追光氛围灯带 2m

99元起

Apple 苹果 AirTag 智能跟踪器

Apple 苹果 AirTag 智能跟踪器

175元起

iFLYTEK 科大讯飞 翻译机4.0 黑色

iFLYTEK 科大讯飞 翻译机4.0 黑色

1999元起

华为智选 荣泰G36筋膜枪智能按摩运动肌肉放松压力男女专业电动按摩健身高端多功能迷你减震便携

华为智选 荣泰G36筋膜枪智能按摩运动肌肉放松压力男女专业电动按摩健身高端多功能迷你减震便携

415元起

watchbond 适用华为GT4表带GT3米兰尼斯watch4手表3pro磁吸watchgt4新pronew智能B6环7荣耀magic钛金属夏天钢2e男款陶瓷

watchbond 适用华为GT4表带GT3米兰尼斯watch4手表3pro磁吸watchgt4新pronew智能B6环7荣耀magic钛金属夏天钢2e男款陶瓷

17.48元起

星菲扬 适用iwatch表带磁吸applewatchultra2表带se米兰尼斯s9苹果手表表带8代7/6/5金属不锈钢s8男女款45mm运动透气

星菲扬 适用iwatch表带磁吸applewatchultra2表带se米兰尼斯s9苹果手表表带8代7/6/5金属不锈钢s8男女款45mm运动透气

8.76元起

Ninebot 九号 车载电动充气泵打气筒轮胎压数显 自行车打气筒篮足气球泳圈充气筒 充气宝

Ninebot 九号 车载电动充气泵打气筒轮胎压数显 自行车打气筒篮足气球泳圈充气筒 充气宝

199元起

官款适用小米手环8/7/6/5/4腕带手表3表带nfc三四五六七八代智能替换带2运动硅胶软个性潮男高级女生薰衣草 经典黑

官款适用小米手环8/7/6/5/4腕带手表3表带nfc三四五六七八代智能替换带2运动硅胶软个性潮男高级女生薰衣草 经典黑

4.15元起

PITAKA 新款纯碳纤维手表带适用于苹果手表全系列Apple Watch Ultra 2/ Ultra/S9/8/7/6/5代iWatch磁吸高级感

PITAKA 新款纯碳纤维手表带适用于苹果手表全系列Apple Watch Ultra 2/ Ultra/S9/8/7/6/5代iWatch磁吸高级感

暂无报价

HUAWEI 华为 适用华为手环6表带荣耀6腕带金属NFC版智能运动手表配件定制米兰磁吸真皮编织硅胶潮流替换带透明钢带非原装

HUAWEI 华为 适用华为手环6表带荣耀6腕带金属NFC版智能运动手表配件定制米兰磁吸真皮编织硅胶潮流替换带透明钢带非原装

6.87元起

适用小米手环8/7/6/5/4腕带3NFC金属米兰磁吸卡扣不锈钢智能手表带四五六代通用真皮男女款运动替换带配件潮

适用小米手环8/7/6/5/4腕带3NFC金属米兰磁吸卡扣不锈钢智能手表带四五六代通用真皮男女款运动替换带配件潮

暂无报价

PICO 4 便携包 便携收纳包 毛毡外壳 防震防摔 黑色

PICO 4 便携包 便携收纳包 毛毡外壳 防震防摔 黑色

299元起

iFLYTEK 科大讯飞 P20 电子词典笔 32GB 蓝色

iFLYTEK 科大讯飞 P20 电子词典笔 32GB 蓝色

暂无报价

PITAKA适用华为GT4手表GT3pro表带磁吸watchgt4碳纤维高级感智能运动gt2男款商务时尚运动

PITAKA适用华为GT4手表GT3pro表带磁吸watchgt4碳纤维高级感智能运动gt2男款商务时尚运动

479元起

PITAKA适用华为GT4手表GT3pro彩碳表带磁吸watchgt4浮织芳纶碳纤维高级感智能运动gt2男款商务时尚运动

PITAKA适用华为GT4手表GT3pro彩碳表带磁吸watchgt4浮织芳纶碳纤维高级感智能运动gt2男款商务时尚运动

479元起

PITAKA适用三星Galaxy Watch6/6 Classic/5/5 Pro/4/4 Classic表带磁吸高级感纯碳纤维轻薄手表带时尚小众男

PITAKA适用三星Galaxy Watch6/6 Classic/5/5 Pro/4/4 Classic表带磁吸高级感纯碳纤维轻薄手表带时尚小众男

479元起
14评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
166
扫一下,分享更方便,购买更轻松