乐鑫Esp32-S2学习之旅① 入门 ESP32-S2 环境搭建 ,分享如何直连苹果智能家居 HomeKit 平台,轻松语音 Siri 控制!


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

基于乐鑫ESP32 芯片模组 C SDK二次开发的技术全系列笔记目录

一、【ESP32】RTOS SDK 带操作操作系统开发

1、 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 “Hellow World”。
2、 巧用eclipes编辑器,官方教程在在Windows下搭建esp32开发环境,打印 “Hellow World”。
3、 认识基本esp32的GPIO接口,开始点亮您的第一盏 LED和中断回调实现按键功能 。
4、体会esp32的强大的定时器功能, 实现定时2s闪烁一盏LED灯。
5、接触实践esp32的pwm宽度脉冲功能, 实现呼吸效果闪烁一盏LED灯。
6、smartConfig和微信airKiss在esp32的实现,一键配网轻松快捷连接路由器。
7、利用GPIO中断做一个按键的短按和长按的回调事件,再也无须担心触发源。
8、esp32上实现本地 UDP 客户端和服务端角色,在局域网内实现通讯。
9、esp32上实现本地 TCP 客户端和服务端角色,可断线重连原路返回数据。
10、乐鑫esp32 SDK编程利用rmt驱动ws2812七彩灯,实现彩虹渐变效果。
11、入门 乐鑫esp-adf 音频框架开发,esp32造一个蓝牙耳机,实现切换歌曲,获取歌曲信息等功能。
12、开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。
13、esp32 内置 dns 服务器,无需外网访问域名返回指定网页。
14、esp32 sdk编程实现门户强制认证,连接esp32热点之后,自动强制弹出指定的登录界面。
15、认识本地离线语音唤醒识别框架 esp-skainet ,实现较低成本的硬件语音本地识别控制。
16、学习本地语音唤醒离线识别框架 esp-skainet ,如何修改唤醒词? 如何自定义命令词?如何做意图动作?
17、全网首发,乐鑫esp32 sdk直连京东微联·小京鱼 · IoT开放平台,实现叮咚音响语音智能控制。
18、入门京东微联·小京鱼的控制面板H5开发,读懂vue语法,做自己的控制页面。
19、重磅开源,如何在微信小程序上ble蓝牙配网esp32,blufi的那些事!
20、一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。
21、 esp32蓝牙配网blufi的高度封装,集成简单、使用简单、容易上手,提高开发效率!
22、讨论下程序员 “青春饭” 那些事,分享在esp32实现多种加密算法md5 |AES CBC-ECB| Sha1 | Sha256 等!
23、安信可 esp32-a1s 音频开发板移植最新 esp-adf 音频框架,小试牛刀如何实现在线文字转语音播放。
25、分享在 esp32 SDK实现冷暖光色温平滑调节的封装,轻松集成到您的项目去。
26、分享下如何在window下使用CMake编译,编译速度提高传统 make 编译一个档次。
27、windows10平台下自带的Linux安装 ESP32/ESP32-S2 环境,再无需额外安装虚拟机了。


四、【ESP32-S2】RTOS SDK 带操作操作系统开发

1、入门 ESP32-S2 环境搭建 ,分享如何直连苹果智能家居 HomeKit 平台,轻松语音 Siri 控制!

-------- 学习笔记持续更新,欢迎关注我…

很多人怎么联系我一起学习进步,下面打个小小公告:
玩转esp8266带你飞、加群QQ群,提高门槛,不喜的朋友勿喷勿加:434878850
esp8266源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
esp32源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32


在这里插入图片描述


一 前言

     上个月给大家分享了我上半年开源的 XClouds 架构,很多小伙伴问我怎么集成进去自己的服务器,如何玩透全栈开发,好吧,下半年我就主打这个文章带给大家了。

     跟大家汇报下这2个月进去新公司忙里忙外的事情:

  1. 腾讯物联网平台的微信小程序全套开发(小程序支持smartconfig和控制ESP8266),预计月底就要和大家见面了,注意,这个是开源的!一定要关注我的博客或者公众号;
  2. 天猫精灵开源的ble mesh框架学习,后续会有对应的文章出来;
  3. XClouds三端开源架构的方案准备, 因为这个是一个很大的工程,所以也一边在筹划如何让大家快速入门玩透物联网全栈开发;

     上上个月,乐鑫在2019年推出的新芯片 ESP32-S2 终于量产了,安信可公司紧接着出来了 ESP-12K 模组,也是采用的是 ESP32-S2 芯片,那么目前为止,有哪些可以在网上购买的 ESP32-S2 模组或开发板呢?这里给大家给大家介绍下:

  1. 乐鑫官方某宝店:有 ESP32-S2 开发板,三层板(底板+语音板+显示板),以及有触摸屏和摄像头,外设这么多,可谓是真的为开发者考虑了。不过价格嘛,一般的学生觉得有点小贵!
  2. 安信可官方某宝店:出来 ESP-12K 模组和开发板,模组现在已经出来了 ,价格比 ESP8266 差不多,价格便宜,非常适合这些经费有限的朋友购买;

     而本次博文的是采用安信可 ESP-12K 开发板 ;


在这里插入图片描述

二 ESP32-S2 ,俗称 ESP8266-Plus

     去掉了蓝牙的ESP32 阉割版,增加了三倍多可用IO口的ESP8266增强版,这最好地诠释了 ESP32-S2 这款芯片,但是依然还是不支持 5G 频段,这点依然很可惜!

      据说,价格与 ESP8266 相差不多,绝对是我抛弃 ESP8266 的必选理由,哈哈!

ESP8266 与 ESP32 与 ESP32-S2 的 对比一览表:

/ ESP8266 ESP32 ESP32-S2
发行年份 2014年 2016年 2019年
MCU架构 Xtensa单核32bit L106 Xtensa单/双核32Bit LX6 Xtensa单核32bit LX7
时钟频率 80MHz 160/240MHz 240MHz
协处理器 没有 超低功耗 ULP(RISC-V)
SRAM 160 KB 520 KB 320 KB
RAM 没有 448 KB 128 KB
RTC内存 没有 16 KB 16 KB
外部 SPIRAM 高达支持16MB 高达支持16MB 高达128支持MB
外置 flash 没有 没有 高达1G
Wi-Fi(802.11 b / g / n) HT20 HT20 HT20
ESP-MESH框架支持
蓝牙协议栈 没有 BT 4.2 BR / EDR和BLE 没有
以太网 没有 10/100 Mbps 没有
CAN 没有 2.0 没有
TOF (Time of flight) 测距 不支持 不支持 支持
GPIO(总计) 16 34 43
触控感应器 没有 10 14
SPI 2 4 4(OSPI)
I2C 1(软) 2 2
I2S 2 2 1个
串口 2(实际上是1路和半路) 3 2
ADC 1(10位) 18(12位) 20(12位)
数模转换器 没有 2(8位) 2(8位)
PWM(软) 8Bit 16Bit 8Bit
SDMMC 没有 没有
RMT 没有
USB OTG 没有 没有
LCD 接口 没有 没有
摄像头接口 没有 没有
温度感应器 没有
霍尔传感器 没有 没有
安全 没有 安全启动Flash加密1024位OTP 安全启动闪存加密4096位OTP
加密 没有 AES,SHA-2,RSA,ECC,RNG AES-128/192/256,SHA-2,RSA,RNG,HMAC,数字签名
低功耗 20微安 10uA深度睡眠 空闲模式下自动射频功率管理5uA

三 环境搭建

     因为现在乐鑫出来了 ESP-IDF 自研的物联网操作框架,所以日后的新品也正是基于此框架上二次开发的,而我前面早已经为大家带来各种环境搭建博文,入门不再难堪!

     现在趋势我也是各种芯片用 Linux 环境开发, 速度真的快的一匹,也希望大家往后学习下 Linux下面二选一吧!

     上述环境正常搭建好了之后,就可以编译 ESP32-S2 的环境了,为什么? 因为最新SDK分支已经集成进去了 ESP32-S2 的开发代码了!

     一般地,在 ESP-IDFexample 目录除去了与蓝牙相关的例子,都可以跑在 ESP32-S2 上!下面列下常见的几个命令!

//设置烧录的串口
export ESPPORT=COM12

//设置编译目标芯片为 esp32s2
idf.py set-target esp32s2

//编译和烧录
idf.py flash 

//监听端口
idf.py monitor


四 集成 Apple HomeKit 环境


4.1 什么是 Apple HomeKit

      Apple HomeKit 技术提供了一种简单、安全的方式,使用户可以通过 iPhone、iPad 或 Apple Watch 控制灯,门,恒温器等家居设备。

      而乐鑫移植后的 Espressif HomeKit SDK 全面集成了全新的 Apple HomeKit 协议,是一套完整的解决方案,方便厂商快速生产出能够接入 Apple HomeKit 的产品。

     这里还必须强调,本文章介绍 Espressif HomeKit SDK 接入 Apple HomeKit ,不可用于商业用途,如果违背则自行承担全部责任! 如果要商业用途,请到官方商务申请授权!


4.2 拉取 Espressif HomeKit SDK

第1步:设置 ESP-IDF

     确保已经拉取完整的 IDF ,然后需要切换到一个具体的 commit:

git checkout 012b111d6d46812a768838c87417f5e3754bc90e

第2步:设置 MbedTLS 版本

     ESP-IDF当前使用 MbedTLS 2.16.x,而HomeKit ADK需要 2.18。这里维护着一个分支mbedtls-2.16.6-adk,该分支具有 2.16.6 之上的 2.18版本所需的补丁。若要切换到此,请按照下列步骤操作:

$ cd $IDF_PATH/components/mbedtls/mbedtls
$ git pull
$ git checkout -b mbedtls-2.16.6-adk origin/mbedtls-2.16.6-adk

截图:
在这里插入图片描述


第3步 获取esp-apple-homekit-adk

git clone --recursive https://github.com/espressif/esp-apple-homekit-adk.git

第4步 编译和烧录

     您可以将esp-apple-homekit-adk与任何ESP32或ESP32-S2开发板一起使用。我们提供了一个灯泡示例供参考。编译并刷新如下:

$ cd /path/to/esp-apple-homekit-adk/examples/Lightbulb
$ export ESPPORT=/dev/tty.SLAB_USBtoUART #设置串口
$ idf.py set-target esp32s2  #设置编译目标
$ idf.py menuconfig #Example Configuration -> WiFi SSID/Password 设置家庭路由器wifi账号和密码
$ idf.py flash #烧录主程序
$ esptool.py -p $ESPPORT write_flash 0x340000 accessory_setup.bin #烧录校对码
$ idf.py monitor

五 操作演示


在iPhone / iPad 上打开 “家庭” 应用程序,然后执行以下步骤

  1. 点击“添加附件”。 选择“我没有密码或无法扫描”选项。
  2. 在附近配件列表中点击 “ Acme light ”。为“未经认证的附件”提示选择“仍然添加”选项。
  3. 输入11122333 作为设置代码。
  4. 您最终应该看到“添加了Acme灯泡”消息。
  5. 给一个自定义名称,分配给一个房间,根据需要创建场景即可。

     扫描附近的设备:
在这里插入图片描述


     输入 11122333,以添加设备:
在这里插入图片描述


     添加设备OK:
在这里插入图片描述


     设置好备注名之后,您可以对苹果手机说: Hi Siri ,关闭/打开灯;

     但是在开关灯指令代码哪里处理下行动作呢?

在这里插入图片描述

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

  • 玩转esp8266带你飞、加群QQ群,不喜的朋友勿喷勿加:434878850
  • 个人邮箱:xuhongv@yeah.net 24小时在线,有发必回复!
  • esp8266源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
  • esp32源代码学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
  • 关注下面微信公众号二维码,干货多多,第一时间推送!

在这里插入图片描述

©️2020 CSDN 皮肤主题: 成长之路 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值