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/)
二. 环境搭建
-
操作系统介绍:
建议使用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使用软件。
好像有点跑题了。 -
环境搭建
(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
1.获取代码
2. 编译工程
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 目录下
执行命令
使用 esptool 工具将生成的包含秘钥的 NVS 分区烧入对应的 sector,esp32 的默认烧录地址为 0x210000 esptool 存放在$IDF_PATH/components/esptool_py/esptool/
将程序烧入到esp32中
6. 使用串口或者乐鑫提供的调试工具调试代码
至此esp32配置完成,接下来开始配置阿里云
阿里云配置
一 创建账
1. 使用淘宝或者支付宝账 登录阿里云
2. 在主页搜索“生活物联 平台”,登录生活物理 平台
3. 购买的激活码,创建新项目
4. 创建新产品和下载阿里云提供的云智能APP
5. 新建产品
6. 新建功能,对于我们来说只是演示功能,所以点击下一步即可。
7. 选择esp32芯片模组
8. 点击新增测试设备
9. 保存设备的相关密钥,这些密钥就是之前在写入esp32 nvs中的值
10.完成后,点击下一步人家交互
11.配置配 选项,选择使用公版app
12.配置下列选项,默认就可以.
13.点击下一步批量生产,点击开发完成,购买激活码
14..购买完成后,返回上一步,点击配 二维码,同时给esp32通电,就会跳出新生成的二维码,使用手机APP扫描这个二维码,就会进入配 .
16. 以下是手机app操作
打开app,扫描配 二维码
输入wifi密码
输入完成后,开始配
配 成功后,进入app操作界面,点击按钮就可以控制了
17. 以下是esp32调试界面的截图
当配 成功后,会打印mqtt连接成功的信息
当我们使用手机操作灯泡的开启和关闭时,终端会打印 light 1 的信息,说明我们成功的接收到了手机的控制信
至此完成了所有功能,这个这是演示功能,如果想控制自己的智能家居设备,对于简单的功能如果说是控制一个灯的开关只需要修改esp32程序即可。## 对于esp-aliyun代码来说,他接收mqtt的服务是在 **linkkit_soli.c**文件中的user_service_request_event_handler函数实现,只需将程序更改成接收到light 1 时对应引脚输出高电平,接收到light 0是对应引脚输出低电平即可。如果想实现复杂一点功能的话,就需在阿里云设备中添加新的功能定义。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8582 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!