6869| 1
|
[讨论交流] 天猫精灵与阿里云IoT入门套件-天猫精灵控制LED |
本帖最后由 跳梁者 于 2019-5-12 22:49 编辑 五一假期之前收到个快递,打开才惊喜的发现自己获得了一套阿里云IoT入门套件的试用.本人内心是极度不可置信&欣喜的,毕竟有着完美错过各种奖品/年会的体质. 下面我们说正事儿: 阿里云IoT入门套件 1. 关于开箱, 有很多朋友已经发过了,对比了一下图比我好看,文字比我优秀,我还是不发了 哈哈. 2. 关于起步上手,跟开箱的理由差不多 官方文档其实已经相当优秀了, 可能有些没有任何基础的玩家(比如我),刚开始会有些不知所措,但是其实跟着文档一步一步,做个阿里云APP控制一下LED灯什么的 是很简单的. 3. 关于本篇文章,我们要使用阿里云开源的AliOS-Things基于阿里云IoT入门套件中的萤火虫开发板,适配板,LED灯(或者继电器)和家里的天猫精灵,做一个天猫精灵控制的灯具.效果如下 ### 分析需求 1. 天猫精灵怎么和我们的开发板产生关联. 2. 开发板怎么来控制灯的开关状态. ### 实现 1. 天猫精灵怎么和我们的开发板产生关联. 经过查找文档,发现阿里智能生活平台可以很简单的使用公版App使天猫精灵音箱控制设备. 阅读文档我们的目标就明确为:https://living.aliyun.com创建产品, 使用公网APP配网绑定. a. 创建项目 b. 创建(关联)产品 产品这里我们写入名称,选择一个分类其他默认就可以了,我们选择灯这个分类, 点击后面的功能定义可以看到灯的常用功能定义. c. 添加设备 上图红色箭头附近有个 查看json 这里查看的是设备的TSL, 后面我们会需要. 保存之后会弹出设备的三元组数据(平台确定我们设备的标识,按照单词首字母我们叫做PK,DN,DS,PS,注意PS在下图右侧PK的下面一行),我们后面需要. d. 设置允许天猫精灵接入. 在人机交互这一步中我们打开 使用公版APP控制产品选项.(此处有两个二维码,一个是公版 APP 云智能的二维码,你也可以在手机市场自行下载注册, 还有一个叫 配网二维码 同样是我们之后需要用到的东东.) 开启天猫精灵选项. 到这里我们在阿里智能生活平台的工作就做的差不多了,最后一步批量投产暂时用不到,我们使用现在设置的功能就可以玩起来了. 当然我们还需要重要的一步客户端(萤火虫板子)的支持. 现在我们有了一个可以使用的设备三元组数据,和一个配网二维码, 一个设备的TSL,我们怎么能使天猫精灵和我们的萤火虫板子绑定起来呢? 2. 开发板怎么来控制灯的开关状态.(1.配网 2.控制GPIO) 相关文档[AliOS-Things]发布于2017年杭州云栖大会, 是 AliOS 家族旗下的、面向IoT领域的、高可伸缩的物联网操作系统,于2017年10月20号宣布在github上开源.支持多种CPU架构,包括:ARM,C-Sky,MIPS,RISCV,rl78,rx600,xtensa等。AliOS Things认证的芯片和模组数量有200+,认证的传感器数量有100+。 当然了最重要的他支持我们的萤火虫 基于ESP32. 具体安装, 可以参考 github 或者 业余爱好者们 的建议, 简单点说就是 vscode+插件 github 拉代码就可以跑起来了. 此处我们使用示例代码里的 linkkit_example_solo 例子. 主要修改内容在 https://github.com/alibaba/AliOS-Things 代码的 app/example/linkkit_example_solo.c 文件 a. 使用刚才在平台创建设备的三元组数据,修改三元组(四个元素至于我为啥叫三元组... 我也不知道哈哈) 修改完毕我们依次执行 编译,上传,查看log. 编译之前我们需要选择一下我们要编译的程序和板子,点击编译图标之前的部分,在弹出窗口依次选择linkkitapp, esp32devkitc 编译: 上传: 查看log此处敲回车输入执行cli命令:active_awss 激活配网状态. (此步骤也可使用按键激活,我们demo使用cli来简单处理) 当萤火虫开发板进入配网状态之后 我们手机打开云智能APP,扫描平台上面的配网二维码. 当添加好设备之后我们可以去天猫精灵的APP查看到已绑定阿里智能上的设备. 到这里我们完成了配网,现在喊天猫精灵开关灯,其实已经可以反馈到我们阿里智能生活平台创建的设备的mqtt频道去了, 可以在调试页面查看设备状态. 但是我们怎么完成控制LED呢? 我们 继续修改 app/example/linkkit_example_solo.c 文件 的代码,达到我们的目的:根据平台mqtt中获取到的属性LightSwitch来控制GPIO25也就是D2(我们led插接的IO口) 1. 加入头文件引 aso.h 用 2. 声明变量 trigger 用来控制 GPIO25 的状态. 3. 使用平台获取的TSL 修改 data/solo_tsl.data (此处注意数据的转移和压缩.) 4. 添加三行代码,在程序开始的时候 初始化GPIO25. 5. thing_prop_changed 方法中添加根据 LightSwitch 的值,控制GPIO状态的逻辑 大致流程就是这样 阿里智能生活平台创建设备(获取三元组/TSL/配网二维码) 修改 AliOS-Things编译烧录支持ESP32的微修改的example: linkkitapp, 执行云智能APP配网. 天猫精灵<=> 云智能 账号绑定,控制设备. -----------------------分割线-------------------- 如果同样拥有阿里IoT入门套装的朋友,玩起来有什么疑问,或者xx的地方欢迎留言讨论. 有官方组织交流群的话带我一个 ============================= 下面的截图是什么? 怎么删除乜 >.< |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed