DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

esp32 开发

一. 芯片介绍

ESP32 是一套 Wi-Fi (2.4 GHz) 和蓝牙 (4.2) 双模解决方案,集成了高性能的 CPU 内核、超低功耗协处理器和丰富的外设。ESP32 采用 40 nm 工艺制成,具有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于各种应用和不同功耗需求。

乐鑫为用户提供完整的软、硬件资源进行 ESP32 设备的开发。乐鑫所研发的软件开发环境 ESP-IDF 能够帮助用户快速开发物联网 (IoT) 应用,满足用户对于 Wi-Fi、蓝牙、低功耗等性能的需求。
乐鑫官方提供的参考网页(https://docs.espressif.com/projects/esp-idf/en/stable/get-started/)

二. 环境搭建

  1. 操作系统介绍:

    建议使用ubuntu开发,作为嵌入式开发工程师来说使用Linux才是王道。ubuntu对于软件开发来说还是比较友好的,各种编译器随便安装,有的杠精会说我想编译.exe程序,ubuntu能开发吗我只想告诉你“出门左转,拜拜不送!(我在家也用Windows)”。有人会问我平时用qq或者微信聊天怎么办发邮件怎么办如此类问题。。。
    下面我说一下我在ubuntu上安装的软件
    (1) 中文输入法:搜狗输入法,搜狗输入法官网就可以下载
    (2) 音乐:网易云音乐 ,官网提供下载
    (3) office:wps ,官网提供下载
    (4) 网盘:百度网盘 ,官网提供下载
    (5) 翻译:有道词典 ,官网提供下载
    (6) 聊天:qq 微信 ,虽然腾讯官方刚刚提供了qq最新安装包,但是用起来还是有点别扭,建议使用国内桌面厂商deepin深度提供的qq和微信,确实比官方的好用
    (7) 浏览器:chrome ,官网提供下载
    (8) 代码阅读:vscode ,官网提供下载
    (9) 邮箱 :thunderbird或者foxmail,虽然深度提供foxmail但是感觉不太好用,如果不嫌弃英文的话可以使用thunderbird。以上就是我在ubuntu使用软件。
    好像有点跑题了。

  2. 环境搭建

(1) 安装工具包:

(2) 下载编译器

64-bit Linux:

32-bit Linux:

(3) 解压压缩包

在ubuntu用户家目录下创建esp文件夹

(4) 将编译器解压进去

(5) 添加目录

工具链将会被解压到 ~/esp/xtensa-esp32-elf/ 目录。要使用工具链,还需要在 ~/.bashrc 文件中更新环境变量 PATH。要使 xtensa-esp32-elf 在所有的终端会话中都有效,需要将下面这一行代码添加到你的 ~/.bashrc 文件中:

(6) 保存退出

保存退出 ,执行source 命令

三. 获取 ESP-IDF

1. 获取代码

2. 设置esp-idf 路径

打开~/.bashrc 文件,添加export IDF_PATH=~/esp/esp-idf 保存退出执行source ~/.bashrc命令

3. 安装python 依赖包

四. 获取esp-aliyun

espressif/esp-aliyunithub.com

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

1.获取代码

2. 编译工程

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

3. 擦除flash

将flash清空,主要是因为下一步我们要写入匹配的阿里云产品信息,所以在此要擦除flash。

4. 烧录阿里云密钥

mass_mfg 目录中有一参考配置:single_mfg_config.csv,请拷贝成自己的配置文件,如 my_single_mfg_config.csv

使用自己的 ProductKey、ProductSecret、DeviceName、DeviceSecret 对 my_single_mfg_config.csv 进行修改

修改完成后,使用命令nvs_partition_gen.py生成对应的 NVS 分区:
nvs_partition_gen.py 存放在:IDF_PATH/components/nvs_flash/nvs_partition_generator 目录下

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

执行命令

使用 esptool 工具将生成的包含秘钥的 NVS 分区烧入对应的 sector,esp32 的默认烧录地址为 0x210000 esptool 存放在$IDF_PATH/components/esptool_py/esptool/

将程序烧入到esp32中

6. 使用串口或者乐鑫提供的调试工具调试代码

至此esp32配置完成,接下来开始配置阿里云

阿里云配置

一 创建账号

1. 使用淘宝或者支付宝账号登录阿里云

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

2. 在主页搜索“生活物联网平台”,登录生活物理网平台

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

3. 购买的激活码,创建新项目

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

4. 创建新产品和下载阿里云提供的云智能APP

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

5. 新建产品

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

6. 新建功能,对于我们来说只是演示功能,所以点击下一步即可。

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

7. 选择esp32芯片模组

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

8. 点击新增测试设备

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

9. 保存设备的相关密钥,这些密钥就是之前在写入esp32 nvs中的值

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

10.完成后,点击下一步人家交互

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

11.配置配网选项,选择使用公版app

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

12.配置下列选项,默认就可以.

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

13.点击下一步批量生产,点击开发完成,购买激活码

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

14..购买完成后,返回上一步,点击配网二维码,同时给esp32通电,就会跳出新生成的二维码,使用手机APP扫描这个二维码,就会进入配网.

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

16. 以下是手机app操作

打开app,扫描配网二维码

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

输入wifi密码

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

输入完成后,开始配网

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

配网成功后,进入app操作界面,点击按钮就可以控制了

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

17. 以下是esp32调试界面的截图

当配网成功后,会打印mqtt连接成功的信息

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

当我们使用手机操作灯泡的开启和关闭时,终端会打印 light 1 的信息,说明我们成功的接收到了手机的控制信号

DIY智能家居设备:基于esp32和阿里云云智能APP完成智能灯泡的开发

至此完成了所有功能,这个这是演示功能,如果想控制自己的智能家居设备,对于简单的功能如果说是控制一个灯的开关只需要修改esp32程序即可。## 对于esp-aliyun代码来说,他接收mqtt的服务是在 **linkkit_soli.c**文件中的user_service_request_event_handler函数实现,只需将程序更改成接收到light 1 时对应引脚输出高电平,接收到light 0是对应引脚输出低电平即可。如果想实现复杂一点功能的话,就需在阿里云设备中添加新的功能定义。

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8582 人正在系统学习中

来源:NicolasLearner

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月10日
下一篇 2021年5月10日

相关推荐