极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 25372|回复: 0

氦氪云入门教程04-基于氦氪主控协议的作品-SDK演示插座

[复制链接]
发表于 2017-4-29 13:02:41 | 显示全部楼层 |阅读模式
本帖最后由 MakerBingo 于 2017-8-8 15:18 编辑

本次教程,我们来基于氦氪主控协议,使用氦氪ESP8266 SDK里的demo Smart Plug(智能插座)来完成一个作品。
教程内不包含智能插座的硬件设计部分。你只要准备一个ESP8266的模块(FLASH容量大于等于1MB)和氦氪的个人开发者账号就可以玩了。我们ESP8266 SDK里的demo Smart Plug中使用GPIO14控制继电器,GPIO4用于指示网络状态。

第一步:在console.hekr.me中建立一个基于氦氪主控协议的产品。

点击右下角的 ,添加新产品。




点击上图中的 查看,可以看到产品的prodKey,我们会在user_main.c里用到这个prodKey(将ra_set_parameter_string("prodKey", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")中的xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx用这里的prodKey替换)。

这样我们就完成了产品信息的录入,接着来填写产品协议。

点击右下角的 在弹出的菜单 中点击导入协议图标。

将附件 通信协议.zip中的 通信协议.txt 的内容复制到上图中的文字编辑框中。点击提交。

点击确认,协议会自动加载进来。

接下来我们来上传控制页面。
点击右下角的 添加新的控制页面。

点击 选择文件,选择附件中的 SDK演示插座20170427v01.zip


到这里我们就完成了控制页面的上传。
调试页面的使用请参考上一篇教程中的“第4步,在控制台使用虚拟设备进行调试。

第二步:编译固件,烧录固件。
0.下载 ESP8266 SDK 入门指南
http://www.espressif.com/sites/default/files/documentation/2a-esp8266-sdk_getting_started_guide_cn.pdf
1.按照 3.3.1 编译器 章节 把编译环境搭建好。
2.从
http://git.oschina.net/HEKRCLOUD/hekr-esp8266-sdk-ra 下载我们的SDK(下载时需要登录,没有账号的需要注册一下)。
也可以直接下载附件中的 HEKRCLOUD-hekr-esp8266-sdk-ra-master.zip  3.第2步下载下来的是名称为HEKRCLOUD-hekr-esp8266-sdk-ra-master.zip的压缩包,将HEKRCLOUD-hekr-esp8266-sdk-ra-master.zip解压缩。
在HEKRCLOUD-hekr-esp8266-sdk-ra-master\hekr-esp8266-sdk-ra目录下你可以看到如下图所示的内容:

4.将app文件夹中的内容全部删除掉。
5.将examples\Smart Plug文件夹下的内容拷贝到app文件夹内。
   将app\user\user_main.c这个文件里的ra_set_parameter_string("prodKey", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")中的xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx用你刚才建立的产品的prodKey替换。
6.将hekr-esp8266-sdk-ra文件夹拷贝至你在第1步骤中建立的虚拟机共享文件夹(我使用的是D:\VM\share)。
7.打开Oracle VM VirtualBox,双击名称为"ESP8266_lubuntu"的虚拟机。
8.打开lubuntu虚拟机桌面上的终端工具LXTerminal。
9.输入命令 ./mount.sh 根据提示输入密码 espressif
10.输入命令 cd Share/hekr-esp8266-sdk-ra/app
11.输入命令 make
12.如果你看到编译过程结束时有输出以下内容,说明你的固件编译成功了。在hekr-esp8266-sdk-ra\bin\upgrade目录下会生成用户固件 1.bin。

13.烧录固件我们需要乐鑫的官方工具,下载地址如下:
http://www.espressif.com/sites/default/files/tools/flash_download_tools_v3.3.6_win.zip
14.烧录固件需要的文件位于hekr-esp8266-sdk-ra\bin和hekr-esp8266-sdk-ra\bin\upgrade,如下图所示:


如果你暂时不打算搭建编译环境,只是想体验一下这个作品的话,那可以直接使用附件 固件.zip 中的文件进行烧录。
15.固件烧录设置如下:
使ESP8266模块进入烧录模式的方法:
1.GPIO0保持接地,给模块上电,然后GPIO0与地断开。
2.给模块上电,GPIO0保持接地,RST接地一下就断开,然后GPIO0与地断开。

我使用的模块是氦氪官方的Hekr v1.1,FLASH大小为2MB,如果你的FLASH是其他容量的,请参照下表设置烧录工具。
bin文件1024KB( 512KB+ 512KB)2048KB( 512KB+ 512KB)4096KB( 512KB+ 512KB)
boot_v1.5.bin0x00x00x0
1.bin0x10000x10000x1000
params_section_blank.bin0x7D0000x7D0000x7D000
esp_init_data_default.bin0xFC0000x1FC0000x3FC000
blank.bin0xFE0000x1FE0000x3FE000

第三步:使用丛云APP添加设备,实际测试。
固件烧录好之后,把模块重新上电,如果你的模块上GPIO4有接LED的话,LED会进入两秒闪烁一次的状态,这表明模块处在配网模式。在丛云APP主页面的右上角点击"+"图标,然后按照提示一步步完成设备添加。

更多关于 丛云APP 的使用方法请参考
丛云APP使用手册

GPIO4用于指示网络状态,其具体含义如下:
1.亮2s、灭2s:进入一键配置模式
2.亮0.1s、灭5s:已经登录上服务器(正常状态)
3.亮0.1s、灭1s:无法登录上服务器
4.亮0.1s、灭0.5s:服务器域名解析失败(可能路由器外网不通)
5.常亮:配网超时或wifi连接失败(配网时WiFi密码错误、WiFi网络状况不好)

设备控制页面实际测试
点击查询按钮:

点击开按钮:

点击关按钮:


备注:本固件的源码没有提供 使模块再次进入配网模式 和 用其他GPIO控制GPIO14输出的功能。开发者可以参考主控固件插座demo源码对本例进行完善。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 21:02 , Processed in 0.044795 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表