【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/xh870189248/article/details/101448052

  • 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

1、esp32接入阿里云物联网平台,实现天猫精灵语音控制;
2、esp8266直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;
3、esp32 sdk 直连接入天猫精灵IOT开放平台,实现天猫精灵找队友零配网功能和语音控制;

在这里插入图片描述


一、博主寄言


       我写过很多物联网控制的博文系列,包括微信公众号、微信小程序控制硬件,私有云对接天猫精灵服务器,抑或是硬件端 esp8266/esp32 等系列博文,这是一个一个专题是写下我们如何在阿里云物联网上全栈开发我们的应用专题,让我们无须企业账号也可以体验设备-云端-App” 的过程;让我们变得更强,一个人担任一个公司的全部职责,全栈开发物联网攻城狮前进;

       我会带领大家轻轻松松地把自己的设备接入天猫精灵,告别 “单机时代”,走进语音控制物联网时代。 有疑问请留言区留言,或者加群大伙们讨论;写总结,写博文不容易,望大家多多体谅!

       应各位小伙伴需求,《乐鑫esp8266直连天猫精灵iot开放平台》教学视频已经推出,欢迎前来学习:传送门

  • 自带资料:
    • git 分布式管理软件的基本使用;
    • 硬件开发:乐鑫 esp8266、esp32模块一个;具备 c 语言基础 ,不需要很熟练;
    • 移动端开发:android 端具备 java 开发语言,AndroidStudio 环境;
    • 服务器端开发:php 开发,熟悉 服务器运行、部署等原理操作;

二、前言


       昨天同步《esp32 直连阿里云物联网平台》之后,乐鑫官方微信公众号也推出了esp8266与腾讯云物联网的合作,真巧,不过我觉得腾讯云物联网没什么噱头可玩;难道可以在 QQ 控制设备?那真是太好了!

       上篇博客已经介绍了 《esp32 直连阿里云物联网平台》,群里有小伙伴迫不及待想要《 esp8266 sdk 直连接入阿里云物联网平台》,那好吧!我今天就写,过下个星期回家休假了,就不更新博文啦!


三、什么是 “零配功能”?


       据我所知,这个是阿里生活平台这边提出来的,那时候我在做 linkkitapp 发现这个名词;

       通过已连接上网热点的WiFi设备,将热点信息发送给待配网设备的方式。该方案不需要用户在手机端输入WiFi热点的SSID/密码,因此称为零配。

       上面所述的已连接上网热点的WiFi设备一般是指 天猫精灵音响,所以,我们自备一个已连接上网的 天猫精灵音响;其配网流程如下:

      也有小伙伴经常说: 天猫精灵找队友 功能,的确,这个就是零配;

在这里插入图片描述


四、esp8266 环境搭建;


       方法1:对于 esp8266 环境搭建,网上已经是随地可见的博文了,但是明确要指出,官网SDK工程需要的环境是 rtos3.2 sdk 的、3.2分支的代码,因此,大家可以参考我下面文章,然后切换到 3.2分支即可;

https://blog.csdn.net/xh870189248/article/details/81382279

       方法2

       第一步:以Windows系统为例,进去乐鑫对IDF的文档说明链接(保证最新版):点我进去,下载下面红色框框的链接的内容压缩包!然后按照方法一里面说明手动设置esp8266编译的工具链路径!


这里写图片描述


       第二步:下载esp8266 IDF框架!这里我们就下载esp8266SDK,打开刚刚下载的压缩包解压后子文件夹里面的mingw32.exe,输入(要保证您的电脑已经安装了git客户端软件),克隆官网的或者我码云的仓库,二选一:

       方法1 官网的,GitHub拉取:

 git clone -b v3.2 https://github.com/espressif/ESP8266_RTOS_SDK.git

       方法2 码云的:

 git clone -b v3.2 https://gitee.com/xuhongv/ESP8266_RTOS_SDK.git

       第三步: 克隆下阿里云连接仓库,老套路,大家可以去官网拉取,或者来我码云这拉取,代码一样的;

  • GitHub拉取:
 git clone --recursive https://github.com/espressif/esp-aliyun.git
  • 码云拉取:
 git clone --recursive https://gitee.com/xuhongv/esp-aliyun

五、编译;


5.1 编译主工程;

       由于 esp32 和 esp8266 将会采用不同的 sdkconfig.defaults 和对应的 partitions.csv,在对应的 make 命令中加入了对应的芯片选项,如 chip=esp32 或 chip=esp8266。

  • 当 chip=esp32 时将默认使用 sdkconfig_esp32.defaults 以及 partitions_esp32.csv
  • 当 chip=esp8266 时将默认使用 sdkconfig_esp8266.defaults 以及 partitions_esp8266.csv

       但是,本篇讲 esp8266 , 上篇已经讲了 esp32 ,所以这样做在 esp-aliyun 目录下执行:

cd examples/solutions/smart_light
make chip=esp8266 defconfig
make menuconfig

       最后:将 USB 线连接好 ESP 设备和 PC,确保烧写端口正确。配置烧录串口,先擦除所有内容,然后编译并且烧录;

make erase_flash
make flash

5.2 编译三元组:

  • 设备三元组请根据上篇博文来获取,先把参数替换进去,如下找到 single_mfg_config.csv 文件,编辑,替换里面的参数;具体的原理,后面的博文会讲;

在这里插入图片描述


  • 先把参数替换进去,如下找到 single_mfg_config.csv 文件,编辑,替换里面的参数,就会生成 my_single_mfg.bin文件,如下图所示:
$IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py --input single_mfg_config.csv --output my_single_mfg.bin --size 0x4000

在这里插入图片描述


  • 然后,单独烧录这个文件进去,可以看到地址是 0x100000
$IDF_PATH/components/esptool_py/esptool/esptool.py --port COM12 write_flash 0x100000 my_single_mfg.bin

在这里插入图片描述


六、配网和控制;


       配网是必须的,也是第一步,请参考上篇博文,一模一样的!但是目前 2019.9.26 在esp8266是可以零配功能的,就是:你首次烧录之后,设备处于配网状态,这时候对天猫精灵说下面语句,就可以配网啦,不需要手动输入ssid和密码了。

  • 【你说:】天猫精灵,找队友!
  • 【回复:】正在为你查找智能设备… 已发现智能灯,是否需要连接?
  • 【你说:】连接!

       这个 smart_light的接线 rgb 灯如下:

/* Red LED 红色 */
#define LEDC_IO_0 (0)
/* Green LED 绿色 */
#define LEDC_IO_1 (2)
/* Blued LED  蓝色*/
#define LEDC_IO_2 (4)


九、其他;


       下篇的话,我详细为大家讲述这个工程如何移植和自定义业务。但是可能也要在国庆节之后喽!


另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!

  • 玩转esp8266带你飞、加群付费QQ群,不喜的朋友勿喷勿加:434878850
  • esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
  • 关注下面微信公众号二维码,干货多多,第一时间推送!

猜你喜欢

转载自blog.csdn.net/xh870189248/article/details/101448052