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窗口尽可能大,方便使用。
3.应用开发
输入aos make menuconfig ,如下:
如果第二部完全安装好的话,应该会弹出以下界面:
使用过menuconfig的应该对这个界面很熟悉了,进入APP,选择Lnikkit Demo,选择SOLO case
双击Esc退出后,选择BSP为ESP8266
其它的选项就不用选择了,后面学习可以多关注。双击Esc退出即可。
在Ubuntu下文件夹选项,找到linkkit_demo的文件夹(此处注意是example下的,非example_legacy下的)
使用VSCODE 打开整个Alios things文件夹(Linux 环境下的VSCODE如果ubuntu分配内存不是很大,体验会很不好,卡顿是常事,建议将Alios things设置成共享文件夹,在windows环境下安装vc code修改代码,本人8G内存分配2G给虚拟机,仍然体验不好)。
分别找到link kit下的combo_devinfo.h以及linkkit_example_solo.c文件。
在阿里云生活物联网平台,创建属于自己的产品,建议引导创建简单的灯或者插座产品。https://living.aliyun.com/p/a123Rau2cvoF3bDR/dev/#/
如下为创建好产品之后:
注意创建产品选择WIfi产品,并且选择ESP8266认证芯片,如下:
注意右边的product ID,后续要用到,楼主曾经找这个找了好久,太不显眼了!如下,点击激活凭证得到设备三要素
回到ubuntu下的vscode代码部分,在combo_devinfo.h以及linkkit_example_solo.c的头部分别定义修改好设备四要素。其中PRODUCT_ID,PRODUCT_SECRET注意在上上图的右边,不是很显眼的地方!分别修改如下:
在platform ,mcu,eso8266,bsp下找到8266的对应驱动。
在key.c文件下定义了配网按键,此处修改为自己的对应配网按键,如下:
注意key下还有很多读取按键状态的对应函数,DEMO并没有进行定义的关联,代码不够完善,要改的需要一一改掉!!
另外,8266外部没有上拉的记得修改引脚初始化(默认的是不带上拉)
如果你找不到相关的定义,需要VSCODE下安装相关的软件包,如下为楼主安装的包,用于参考:
这样设置以后,就能直接在vscode下查找代码的定义跟应用啦,除非文件未包含!
修改linkkit_example_solo.c文件下对应属性及事件的回调函数动作,这里根据自己需要修改,我是这样做的:
网络连接未连接使用13脚的LED指示灯指示
解析属性设置的数据,对应属性Light_Switch 做相应的开关动作
其它不一一例举了,参考阿里云的官方文档:
https://help.aliyun.com/document_detail/130460.html?spm=a2c4g.11186623.6.653.70b03b6efeyqn2
属性在哪里看?生活物联网平台下的第一步功能定义处已经定义好了灯的相关属性(如果你是引导项目创建的项目的话,后续熟悉开发流程可自己创建属性),如果你已经开通阿里云物联网平台账号,也是能看到对应产品的。
至此,代码修改部分完成!记得编译及烧录固件哦!
参照第二步,在WINDOWS下使用ESP8266固件烧录工具,使用共享文件下的文件进行烧录。
点击START后记得复位RST脚进入烧录。
4.云端验证
还需要回到生活物联网平台,如下设置好,面板使用demo即可!
还需要完成以下设置,都可以参照DEMO默认即可,灯的设备默认是开启了天猫精灵控制功能的。
至此,使用云智能APP扫描设备二维码,即可开始工作了,进入二维码首先进入配网流程,之后配网成功即可用APP控制灯的额开关,如果云智能点击更多服务,天猫精灵绑定账号后,也可使用你的天猫精灵语音控制了。
简单的DEMO即完成,后续有时间给大家带来Alios things的linkkit工作流程以及代码分析,详细分析整个程序工作流程!