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

一,提前搭建好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口以及相关标识符要设置成相对应的。

  • 6
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
ESP8266是一款流行的物联网开发板,它拥有Wifi模块和强大的处理性能,适用于各种物联网应用。阿里云是国内领先的计算平台,提供了丰富的物联网平台和服务,可实现远程监控和控制。 要实现ESP8266与阿里云生活物联网平台的配合,我们首先需要在ESP8266上进行相应的编程。我们可以使用Arduino IDE进行编程,将ESP8266与继电器连接起来。通过配置ESP8266的Wifi连接,使其能够连入阿里云IoT平台。 在阿里云IoT平台上,我们需要创建一个设备,为其分配一个唯一的设备标识符和密钥。然后,我们编写一个将ESP8266与阿里云平台进行连接的程序,利用设备标识符和密钥进行身份验证。 一旦ESP8266成功连接到阿里云IoT平台,我们可以利用平台提供的API来实现对继电器的远程控制。我们可以编写一个程序,通过发送指令到阿里云平台,来打开或关闭继电器。阿里云平台将接收到的指令传递给ESP8266,然后ESP8266将控制指令转化为相应的继电器控制信号。 通过这种方式,我们可以在任何有网络连接的地方,通过手机或电脑远程控制继电器的开关状态。例如,我们可以通过手机上的APP发送指令,让继电器控制房间的灯光或电器设备。 总之,利用ESP8266与阿里云生活物联网平台的配合,我们可以轻松实现远程控制继电器的功能,为我们的生活增添了更多的便利性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值