使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制

1.写在前面

我使用的模块是ESP-12F,理论上使用8266的WIFI模组都大同小异。关于8266的学习资料,大家可以参考安信可的相关资料,网址如下:http://wiki.ai-thinker.com/esp8266 ,ESP8266的使用普片性不用多说。为何要使用Alios things开发呢,这其中我挣扎许久。学习使用了安信可的nonos以及RTOS开发使用后,想要实现8266直连阿里云实现语音控制还需要很长的路要走,而使用Alios things的linkkit工程,只需要简单的几步就能实现8266使用天猫精灵关灯,开灯的简单示例,以及自动配网。阿里飞燕平台,提供了从设备功能定义、开发调试、设备加密、云端开发、APP开发、运营管理、数据统计等,覆盖从前期开发到后期运营的全生命周期。平台具有高稳定、高并发、高安全、强生态的特点。

从嵌入式设备开发,APP自定义开发,语音交互阿里云生活物联网平台真的是可以快速实现,对于想实现APP控制而又不懂APP开发的来说是福音。

2.开发环境搭建

开发环境搭建,这里也不详细阐述,借用网友的文章,已经写的很详细了!
https://blog.csdn.net/qq_36243942/article/details/88688132?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

这里需要注意的是上述博文是基于旧版的alios things开发的,新版的已经加入了menuconfig配置,下文会详细讲述开发过程。

上述安装unbuntu过程大家也可以使用快速安装,找到镜像文件点击快速安装即可,省去繁琐的安装步骤。

安装后如下图,可点击左下角图标进入设置,设置分辨率使linux窗口尽可能大,方便使用。

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第1张图片

3.应用开发

找到Alios-Things的文件夹,单击右键,进入终端
使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第2张图片

 输入aos make menuconfig ,如下:

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第3张图片

 如果第二部完全安装好的话,应该会弹出以下界面:

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第4张图片

使用过menuconfig的应该对这个界面很熟悉了,进入APP,选择Lnikkit Demo,选择SOLO case

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第5张图片

 双击Esc退出后,选择BSP为ESP8266

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第6张图片

 其它的选项就不用选择了,后面学习可以多关注。双击Esc退出即可。

在Ubuntu下文件夹选项,找到linkkit_demo的文件夹(此处注意是example下的,非example_legacy下的)

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第7张图片

 使用VSCODE 打开整个Alios things文件夹(Linux 环境下的VSCODE如果ubuntu分配内存不是很大,体验会很不好,卡顿是常事,建议将Alios things设置成共享文件夹,在windows环境下安装vc code修改代码,本人8G内存分配2G给虚拟机,仍然体验不好)。

分别找到link kit下的combo_devinfo.h以及linkkit_example_solo.c文件。

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第8张图片

在阿里云生活物联网平台,创建属于自己的产品,建议引导创建简单的灯或者插座产品。https://living.aliyun.com/p/a123Rau2cvoF3bDR/dev/#/

如下为创建好产品之后:

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第9张图片

注意创建产品选择WIfi产品,并且选择ESP8266认证芯片,如下:

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第10张图片

 注意右边的product ID,后续要用到,楼主曾经找这个找了好久,太不显眼了!如下,点击激活凭证得到设备三要素

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第11张图片

回到ubuntu下的vscode代码部分,在combo_devinfo.h以及linkkit_example_solo.c的头部分别定义修改好设备四要素。其中PRODUCT_ID,PRODUCT_SECRET注意在上上图的右边,不是很显眼的地方!分别修改如下:

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第12张图片

 使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第13张图片

在platform ,mcu,eso8266,bsp下找到8266的对应驱动。 

 使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第14张图片

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第15张图片

在key.c文件下定义了配网按键,此处修改为自己的对应配网按键,如下:

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第16张图片

注意key下还有很多读取按键状态的对应函数,DEMO并没有进行定义的关联,代码不够完善,要改的需要一一改掉!!
使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第17张图片

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第18张图片

 另外,8266外部没有上拉的记得修改引脚初始化(默认的是不带上拉)
使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第19张图片

如果你找不到相关的定义,需要VSCODE下安装相关的软件包,如下为楼主安装的包,用于参考:

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第20张图片

这样设置以后,就能直接在vscode下查找代码的定义跟应用啦,除非文件未包含!

修改linkkit_example_solo.c文件下对应属性及事件的回调函数动作,这里根据自己需要修改,我是这样做的:

网络连接未连接使用13脚的LED指示灯指示

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第21张图片

解析属性设置的数据,对应属性Light_Switch 做相应的开关动作

其它不一一例举了,参考阿里云的官方文档:

https://help.aliyun.com/document_detail/130460.html?spm=a2c4g.11186623.6.653.70b03b6efeyqn2

属性在哪里看?生活物联网平台下的第一步功能定义处已经定义好了灯的相关属性(如果你是引导项目创建的项目的话,后续熟悉开发流程可自己创建属性),如果你已经开通阿里云物联网平台账号,也是能看到对应产品的。

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第22张图片

至此,代码修改部分完成!记得编译及烧录固件哦!

 

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第23张图片

参照第二步,在WINDOWS下使用ESP8266固件烧录工具,使用共享文件下的文件进行烧录。

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第24张图片

点击START后记得复位RST脚进入烧录。

4.云端验证

还需要回到生活物联网平台,如下设置好,面板使用demo即可!

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第25张图片

还需要完成以下设置,都可以参照DEMO默认即可,灯的设备默认是开启了天猫精灵控制功能的。

使用ESP8266,基于Alios things 的linkkit连接阿里生活物联网平台,实现天猫精灵控制_第26张图片

至此,使用云智能APP扫描设备二维码,即可开始工作了,进入二维码首先进入配网流程,之后配网成功即可用APP控制灯的额开关,如果云智能点击更多服务,天猫精灵绑定账号后,也可使用你的天猫精灵语音控制了。

简单的DEMO即完成,后续有时间给大家带来Alios things的linkkit工作流程以及代码分析,详细分析整个程序工作流程!

你可能感兴趣的:(嵌入式,阿里云)