机智云是目前稳定免费的物联网云平台,支持硬件比较多,下面介绍一下使用机智云平台和ESP8266-12还有10W LED做一个可以手机远程开关、近距离按键开关、定时开关、倒计时开关的小灯
ESP8266-12模块(笔者使用的云汉试用活动中获得的海凌科HLK-ESP8266加ESP8266-12转接板)、5V低电平触发继电器、220V转5V开关隔离电源模块、ASM1117-3.3、J3三极管、轻触开关、1K电阻、10K电阻、洞洞板
继电器、ESP8266、轻触开关连接原理图如下,使用GPIO0作为按键短按控制继电器长按进入热点配网模式,使用GPIO12来控制继电器
![](http://b01.ickimg.com/201806/a8656f46edb77d0b276a0949dd1a907b.jpg)
硬件焊接效果图如下
![](http://b01.ickimg.com/201806/577585505dd8ee64fbb2716405a46a02.jpg)
![](http://b01.ickimg.com/201806/9f472a0e11391aa818ffca658ed5abee.png)
注册并登陆开发中心
![](http://b01.ickimg.com/201806/fa2c591247b6c89291eb3f34ea17691c.png)
创建产品
![](http://b01.ickimg.com/201806/70d101607a5ef211e2b2059c6e408d06.png)
创建数据点
![](http://b01.ickimg.com/201806/a1e1ff0d283f116c0e14238586091279.png)
下载SDK(笔者使用ESP8266模块为16Mbit,故下面硬件平台选择16M)
![](http://b01.ickimg.com/201806/09d85b1e34f2efa282436a504c2bdab4.png)
![](http://b01.ickimg.com/201806/632d2daee4c9df5b11e4dd5904b88412.png)
修改SDK源码的gizwits_product.h
加入
- #define typedef_t typedef
![](http://b01.ickimg.com/201806/014cb58b7a004084ad4c4767cbad3453.png)
修改gizwits_product.c
加入
- #include "gagent_soc.h"
- uint32_t ntpdelay;
- uint32_t delay_time;
- _tm ntptimeon;
- extern uint8_t switch_flag;
- extern uint8_t timeon_flag;
- extern uint8_t timeoff_flag;
![](http://b01.ickimg.com/201806/b209b9093ae76da70c15cd4c18cf9224.png)
![](http://b01.ickimg.com/201806/b2aa51e7385e726bc7ddd997272d6c05.png)
![](http://b01.ickimg.com/201806/55fadd306f928b6a024040e52929a1bf.png)
修改user_main.c
![](http://b01.ickimg.com/201806/168c167e53bd7f27e5123543329cbe85.png)
![](http://b01.ickimg.com/201806/4aa9ba1758de546ce093f08898b55869.png)
![](http://b01.ickimg.com/201806/862a1365220f49d8582b8618e6e0cb70.png)
![](http://b01.ickimg.com/201806/da361eb643a63986d44c86cab4e9ad8e.png)
![](http://b01.ickimg.com/201806/820d0120095507c0dbe1d96652d3c53e.png)
![](http://b01.ickimg.com/201806/a557893a47f416721d12b66b781108ff.png)
![](http://b01.ickimg.com/201806/be6630f156b73a2a41573a0abbbcd277.png)
![](http://b01.ickimg.com/201806/cb2b0e881aaaa419d8a5b0805145f5f5.png)
SDK编译环境搭建
切换到Ubuntu系统下面或者使用虚拟机
下载下面网盘链接里面的xtensa-lx106-elf.tar.bz2文件
https://pan.baidu.com/s/1kVn12Iz#list/path=%2FESP8266_GCC
打开终端运行下面
- cp xtensa-lx106-elf.tar.bz2 /opt/
- cd /opt/
- tar -jxvf xtensa-lx106-elf.tar.bz2
- rm tar -jxvf xtensa-lx106-elf.tar.bz2
- cd
- vim .profile
- export PATH=”/opt/xtensa-lx106-elf/bin:$PATH”
- source .profile
![](http://b01.ickimg.com/201806/c7e9da1752cbe1eaa36b7a00d34addc6.png)
![](http://b01.ickimg.com/201806/cfd4be295c7fe9f9f6a089b50e4c98e5.png)
![](http://b01.ickimg.com/201806/403c779514e77c560352fbfcb9aadc37.png)
![](http://b01.ickimg.com/201806/2bf98d841b046ceee09ac6be18948962.png)
然后拷贝到windows系统下面,使用ESPFlashDownloadTool按下图烧写(笔者使用ESP8266模块为16Mbit的故按下图地址烧写)
![](http://b01.ickimg.com/201806/c50203db8297d8d1b572a1dcc98a2335.png)
烧写完成后将LED灯等电器所需供电压电源线正极接入继电器公共端,电源线负极和LED灯等电器负极相连,LED灯等电器正极通过导线连接到继电器常闭端即可,然后上电,在手机上下载机智云APP后长按轻触按键联网后测试效果如下
https://pan.baidu.com/s/1IrshJEqQjJh-fsBiIo8Fhg