Alios-Thins教程连载 ③ 图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台,个人设备实现轻松对接天猫精灵 。(上篇)(附带demo)
Posted on 2018-09-13 17:55 CoreHouse 阅读(777) 评论(0) 收藏 举报-  本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。 
- 本博文目录:
文章目录
- 一、 前言;
- 二、 飞燕平台新建产品并配置控制面板;
- ①:登录后台;
- 1、先登录官网[飞燕平台](https://living.aliyun.com),新建项目,成功之后如下:
- 2、项目里面包括多个产品,我们需要新建一个产品《灯》,协议选择`iCA`,成功之后列表会有一个产品信息列表:
- 3、新产品的建立之后,我们需要为他配置控制面板,我们选择公版`APP`,之后点击设置面板:
- 4、配置控制面板,下面几个属性是根据您定义什么属性自动生成的,编辑之后,记得保存并且发布到《智能家居》:
- 5、因为正式生产是一码一设备,阿里提供给我们50个测试设备数量,这50个测试设备需要手动去获取设备码,之后成功之后,打开这个设备,会出现阿里分配给我们的信息,注意这几个参数后面我们会用到哦!
- 6、其他的什么配网步骤,语言设置,我们先不管,我们到此为止,基本的产品新建就此弄好了!
 
 
 
- 三、 设备端代码跑起;
- 四、 下载`APP`;
- 五、 我们的设备重新上电,开始配置;
 
一、 前言;
阿里巴巴出来的
天猫精灵x1早已经出来一年多来了,今年还出来了方糖等智能音箱,在去年时候,我还写了esp8266如何直连阿里智能平台,那个是属于直连模式;而这篇文章主要还是介绍如何介入阿里物联网生活2.0,无非就是阿里智能平台的升级,我们也叫飞燕平台;升级的内容也是很强大的,支持很多芯片,目前我看到都有20多种了,而且还有demo提供给我们;最重要的是,它是一条龙服务;
- 飞燕平台的接入使用阿里巴巴提供开源的alios-things嵌入式系统,并且提供一个叫linkkitapp的代码工程示范。
- 该alios-things嵌入式系统由阿里巴巴日常维护和适配各大芯片模组厂商,并且个人技术爱好者也可以贡献代码pull quest到仓库,可谓是福音啊!
- 阿里服务器的服务质量不容置疑,从UI到大数据都是一流的,有阿里服务器的支撑,可以实现如下功能:
- 这么强大,那肯定是收费的!!使用一码一设备,多少钱一个激活码自己查询下吧!这样保证了强大的安全性!
- 在前端部分提供了SDK包,支持自主开发APP,也可以支持公版APP,话说这个这真的是大大减少了入门门槛!
- 不足地方嘛!?部分芯片适配工作还没完全成熟,需要大家一起去开发和适配!不过底层的东西都是已经适配好了,不必担心!

二、 飞燕平台新建产品并配置控制面板;
①:登录后台;
1、先登录官网飞燕平台,新建项目,成功之后如下:
2、项目里面包括多个产品,我们需要新建一个产品《灯》,协议选择iCA,成功之后列表会有一个产品信息列表:
 
3、新产品的建立之后,我们需要为他配置控制面板,我们选择公版APP,之后点击设置面板:
 
4、配置控制面板,下面几个属性是根据您定义什么属性自动生成的,编辑之后,记得保存并且发布到《智能家居》:
5、因为正式生产是一码一设备,阿里提供给我们50个测试设备数量,这50个测试设备需要手动去获取设备码,之后成功之后,打开这个设备,会出现阿里分配给我们的信息,注意这几个参数后面我们会用到哦!
6、其他的什么配网步骤,语言设置,我们先不管,我们到此为止,基本的产品新建就此弄好了!
三、 设备端代码跑起;
对于怎么搭建
alios-things的环境搭建以及怎么烧录固件到esp8266,这里我就不再累赘了!下面我们关注我们的核心工程<linkkitapp>;
-  首先,我们必须要打开 AliOS-Things\framework\protocol\linkkit\iotkit\sdk-encap\imports的这个文件iot_import_product.h,修改里面的信息:- 把我们项目的产品key和secret以及我们新建的测试产品的name和secret如下图覆盖:
 
- 把我们项目的产品
- 然后,我们要知道阿里的配网流程和我们之前不一样,先调取配网方法,再调取确认配网方法,以往我们是直接一个就可以了。具体的配网流程看这里点我 。我这里结合上篇的gpio的代码,实现按键确认配网。核心代码如下:
#define GPIO_INPUT_IO 5
 gpio_dev_t input;
static void gpio_enable_irq(){
    hal_gpio_clear_irq(&input);
}
static void gpio_isr_handler(){
    //for esp8266 ,need to disable interrupt
    hal_gpio_disable_irq(&input);
    printf("gpio_isr_handler()\n");
    do_awss_active();
    //delay 2s ,then enable interrupt
    aos_post_delayed_action(2000, gpio_enable_irq, NULL);
}
void aos_gpio_init(){
 /* input pin config */
 input.port = GPIO_INPUT_IO;
 /* set as interrupt mode */
 input.config = IRQ_MODE;
 /* configure GPIO with the given settings */
 hal_gpio_init(&input);
 /* gpio interrupt config  */
 hal_gpio_enable_irq(&input, IRQ_TRIGGER_FALLING_EDGE, gpio_isr_handler, (void *)GPIO_INPUT_IO);
}
- 之后,我们编译一下工程,打印信息中可能有警告,可以忽略:
aos make linkkitapp@esp8266
- 最后,我们烧录固件,我的是 esp8266-12f模块:
四、 下载APP;
 
-  第一步:因为我们使用配置的是公版 APP,所以,下载测试版APP: https://living.aliyun.com/doc#muti-app.html
-  第二步:我们需要手动为我们的产品设置二维码,百度任意一个自动生成二维码的网址,我这里选择草料二维码,文本信息是根据我们的项目和设备名字生成,格式如下: - 比如我的项目的产品密钥是siod5624,设备名字是xuhongTest
 
- 比如我的项目的产品密钥是
http://www.taobao.com?pk=siod5624&dn=xuhongTest
- 第三步:app扫码此二维码。之后的你懂的!
五、 我们的设备重新上电,开始配置;
- 该linkkitapp工程在首次运行时候,是默认进去配网模式的 ,首次运行之后2秒内我们要按键一下表示进去确认配网!- 注意先让手机开始搜索设备,之后设备上电开启,然后2秒后按键一下确认配网,串口先打印下:
 
chan 6
chan 9
chan 11
chan 12
chan 1
chan 6
chan 11
chan 1
chan 2
chan 3
chan 4
chan 5
chan 6
chan 7
chan 8
chan 9
chan 10
chan 11
chan 12
chan 13
chan 1
chan 2
chan 6
chan 9
chan 11
- 然后,就会检测到手机发来的信号了,同时连接路由器,重启系统,手机提示连接成功,打开如下界面,是不是我们上面说的界面啊?
-  esp8266源代码学习汇总:https://github.com/xuhongv/StudyInEsp8266 
-  esp32源代码学习汇总:https://github.com/xuhongv/StudyInEsp32 
-  大家只需要下载这个文件替换文件就可以实现按键确认配网,注意还有一些驱动配置文件需要在我的 GitHub的alios-Things仓库获得哦!!
 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号