-
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。
- 本博文目录:
文章目录
- 一、 前言;
- 二、 飞燕平台新建产品并配置控制面板;
- ①:登录后台;
- 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
仓库获得哦!!