Alios-Thins教程连载 ③ 图文并茂教你使用乐鑫esp8266轻松连接阿里飞燕平台,实现轻松对接天猫精灵 。(上篇)(附带demo)

版权声明:本文为博主半颗心脏一心一血敲出来的原创作品,未经博主允许不得转载,多谢支持。 https://blog.csdn.net/xh870189248/article/details/82692224


  • 本博文目录:

一、 前言;

     阿里巴巴出来的天猫精灵x1早已经出来一年多来了,今年还出来了方糖等智能音箱,在去年时候,我还写了esp8266如何直连阿里智能平台,那个是属于直连模式;而这篇文章主要还是介绍如何介入阿里物联网生活2.0,无非就是阿里智能平台的升级,我们也叫飞燕平台;升级的内容也是很强大的,支持很多芯片,目前我看到都有20多种了,而且还有demo提供给我们;最重要的是,它是一条龙服务;


  1. 飞燕平台的接入使用阿里巴巴提供开源的alios-things嵌入式系统,并且提供一个叫linkkitapp的代码工程示范。
  2. alios-things嵌入式系统由阿里巴巴日常维护和适配各大芯片模组厂商,并且个人技术爱好者也可以贡献代码pull quest到仓库,可谓是福音啊!
  3. 阿里服务器的服务质量不容置疑,从UI到大数据都是一流的,有阿里服务器的支撑,可以实现如下功能:
  4. 这么强大,那肯定是收费的!!使用一码一设备,多少钱一个激活码自己查询下吧!这样保证了强大的安全性!
  5. 在前端部分提供了SDK包,支持自主开发APP,也可以支持公版APP,话说这个这真的是大大减少了入门门槛!
  6. 不足地方嘛!?部分芯片适配工作还没完全成熟,需要大家一起去开发和适配!不过底层的东西都是已经适配好了,不必担心!

这里写图片描述


二、 飞燕平台新建产品并配置控制面板;


①:登录后台;

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,修改里面的信息:

    • 把我们项目的产品keysecret以及我们新建的测试产品的namesecret如下图覆盖:

这里写图片描述


  • 然后,我们要知道阿里的配网流程和我们之前不一样,先调取配网方法,再调取确认配网方法,以往我们是直接一个就可以了。具体的配网流程看这里点我 。我这里结合上篇的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
  • 然后,就会检测到手机发来的信号了,同时连接路由器,重启系统,手机提示连接成功,打开如下界面,是不是我们上面说的界面啊?

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/xh870189248/article/details/82692224
今日推荐