一,提前搭建好Linux ESP-IDF开发环境,本博客不叙述具体搭建过程,请参考网上教程。

ESP-IDF: 请切换到 release v4.2 tag 版本: git checkout v4.2

ESP8266_RTOS_SDK: 请切换到 v3.3 tag 版本: git checkout v3.3

二,拉取官方阿里云生活物联网平台 & 天猫精灵 IoT 开放平台SDK开发版本

拉取官方链接:git clone https://github.com/espressif/esp-ali-smartliving.git

我个人码云链接: git clone https://gitee.com/http1520/esp-ali-smartliving.git

拉取完成如下图:

三,到阿里云生活物联网平台创建项目

1,官方平台链接:项目管理 - 生活物联网平台 (aliyun.com) 创建可参考创建项目 (aliyun.com) 一步一步进行配置。

输入名称,选择品牌

项目创建成功选择创建产品

创建成功后进行功能配置,可以自行添加其他功能,我这里不做修改直接用默认功能测试


输入产品信息,选择App,我这里选择公版App测试

然后设置设备面板,先在手机上安装好云智能App,然后就可以通过扫描预览二维码进行查看了

选择一个面板,也可以自定义面板,我这里直接选一个官方模板的测试

设置配网信息。

配置完成如下图

然后新建一个测试设备,记录下这里的参数信息。

四,配置SDK,编译烧录。

1,编译 ali-smartliving-device-sdk-c 库

找到esp-ali-smartliving 目录下执行:

cd ali-smartliving-device-sdk-c


再执行 make reconfig (选择SDK平台)

make menuconfig (选择相关功能配置,默认不需要修改,该步骤可以省略)

最后执行make (生成相关头文件和库文件) 等待编译完成

2 编译 demo 例程

在目录esp-ali-smartliving/config/mass_mfg下找到single_mfg_config.csv文件,复制重命名为my_single_mfg_config.csv 文件


修改my_single_mfg_config.csv 文件内容,到阿里云平台找到四元组信息填好

然后按照官方步骤执行以下命令生成nvs配置bin文件,

$IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py --input my_single_mfg_config.csv --output my_single_mfg.bin --size 0x4000

注意!这里会一直出现错误,错误如下
usage: nvs_partition_gen.py [-h] {generate,generate-key,encrypt,decrypt} …
nvs_partition_gen.py: error: argument command: invalid choice: ‘my_single_mfg_config.csv’ (choose from ‘generate’, ‘generate-key’, ‘encrypt’, ‘decrypt’)
主要原因是idf v4.0以上python的命令格式发生了改变
正确格式应该是:

$IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py generate my_single_mfg_config.csv my_single_mfg.bin 0x4000


生成bin文件后先烧录到ESP32执行以下命令:

$IDF_PATH/components/esptool_py/esptool/esptool.py write_flash 0x210000 my_single_mfg.bin


然后打开esp-ali-smartliving 目录下执行:

cd examples/solutions/smart_light
make defconfig


执行make menuconfig命令配置烧录参数,可省略

执行idf.py build命令执行编译工程,编译完成idf.py flash进行烧录


执行命令查看串口打印信息,正常运行打印如下数据

idf.py monitor


首次运行上电,默认就是配网状态下,可以看到如下信息:

然后打开云智能App进行配网,也可以直接使用天猫精灵进行语音配网控制,我这里用App进行配置。找到之前的阿里云平台配置界面,点击配网+APP二维码这里。然后用手机先连接WiFi 再打开App进行扫描配置。

扫描后弹出这个界面。扫描到后会提示进度。

我们再查看设备端串口打印的调试数据,可以看到配网流程信息如下


然后点击手机上的开关指令可以看到设备端接收信息

但是发现硬件上的灯并没有变化,这时我们需要打开源码查看是什么问题。查看源码发现开关指令的标识符不对与我们实际接收的不一致。需要在此处修改一下才行,是因为平台端的开关标识符默认是powerstate。同时下面的RGB标识符也需要修改一下,我这里采用HSV调光。


修改后编译下载成功运行;

相关IO口定义在lightbulb.c文件

注意事项:

1,配网的WiFi热点要是2.4G频段的,esp32不支持5G wifi热点
2,四元组信息一定要设置成自己的,还需要成功烧录到对应NVS分区
3,灯光控制输出IO口以及相关标识符要设置成相对应的。

esp32对接阿里云生活物联网平台 天猫精灵控制 云智能APP远程控制 ali-sdk开发相关推荐

  1. ESP32C3对接阿里云生活物联网平台

    文章目录 1.装好ESP32-VSCode开发环境 2.git阿里云代码 3.先编译例程,看看能否编译成功 4.创建分区表-增加ota分区 5.查看分区空间 6.擦除整片Flash 7.未烧录四元组情 ...

  2. 图文手把手教程--ESP32 MQTT连接阿里云生活物联网平台

    本文内容 1)在阿里云生活物联网平台,创建自有品牌项目,并在项目下创建产品"智能灯001". 2)下载阿里云SDK-esp-aliyun,使用例程smart_light,通过&qu ...

  3. ESP8266开发、ESP8266连接阿里云物联网、天猫精灵控制esp8266、esp8266一键配网、智能家居

    ESP8266开发.ESP8266连接阿里云物联网.天猫精灵控制esp8266.esp8266一键配网.智能家居 项目介绍 最近会 将arduino IDE开发ESP8266中一些值得记录得部分写下来 ...

  4. 阿里云生活物联网平台搭建

    总括:本项目主要实现上位机可以实时显示单片机(下位机)采集的数据,同时上位机也可以发送指令控制单片机.在项目中需要用到上位机,目前采用 阿里云生活物联网平台 提供的手机APP,本文详细叙述了阿里云生活 ...

  5. ESP8266开发之旅 阿里云生活物联网平台篇② 使用云智能App,配置自己的App,无需开发

    文章目录 1.前言 2.云智能App -- 免开发公版App 授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥 ...

  6. 连接阿里云生活物联网平台(飞燕平台)步骤记录

    连接阿里云生活物联网平台(飞燕平台)步骤记录: 1.平台地址:https://www.aliyun.com/product/livinglink?spm=5176.10695662.811531485 ...

  7. 物联网之配置阿里云生活物联网平台

    生活物联网平台是面向消费级生活智能设备的平台,提供全链路一站式配置化方案,包括设备连接.App控制.语音控制.场景联动.消息推送.设备管理等,快速实现设备智能化,降低"设备-云-App&qu ...

  8. 【阿里云生活物联网架构师专题 ④】分享可商用的ESP8266 SDK连接阿里云物联网生活平台的在线远程升级OTA笔记。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  9. 【平头哥RVB2601开发板试用体验】AT解析器和通过w800 AT命令接入阿里云生活物联网平台

    作者:niu 在RVB2601开发板上,CH2601主芯片通过SPI接口和W800 WIFi/BLE模块通信,W800芯片在此接口上提供AT命令的方式供主芯片使用W800的功能. 根据<W800 ...

最新文章

  1. Android笔记(七十) AlertDialog
  2. android动态添加xml布局,android – 如何动态添加视图已经在xml布局中声明的RelativeLayout?...
  3. 飞凌开发板 cramfs 镜像文件修改
  4. 日志中出现乱码_合宙Luat | 乱码搞得一团糟?开源神器帮你轻松修复
  5. java实现 XSS攻击防护
  6. Spark Shuffle系列-----1. Spark Shuffle与任务调度之间的关系
  7. 绝不因寂寞而爱上别人
  8. python入门教程pdf-Python入门教程详解.pdf
  9. 35岁的程序员:第25章,离职
  10. 拆解CRM头牌“销售易” | 如何做好客户关系管理?
  11. HTML5与flash播放器
  12. mysql字段动态扩展_数据库动态扩展字段
  13. soap响应报文拼装_soap报文解析
  14. 快捷方式图标变白完美解决
  15. C++文件服务器项目—FastCGI—4
  16. Lpms-B2 IMU数据采源码分析 及 TCP/IP握手简单分析
  17. 特斯拉如何驱动顶级客户体验
  18. matlab实验学习心得,matlab实验心得体会-学习matlab的心得体会
  19. sgu482 Impudent Thief (动态规划)
  20. Java 关于中文乱码问题的解决方案与经验(转)

热门文章

  1. 时间格式化问题@DateTimeFormat和@JsonFormat的区别
  2. Android SD卡简单的文件读写操作
  3. mysqladmin命令的用法
  4. CANopen总线的协议详解
  5. 要学习使用的安全工具
  6. android手机8g内存够用嘛,8G 运存已经过时了?手机运存到底要多大才够用?
  7. 算法设计与分析课程复习笔记11——单源最短路径
  8. 技术与市场脱钩?90%的程序员都错了!
  9. 用python在前程无忧高效投递简历
  10. webrtcvad 安装失败