安信可ESP-12K模组学习心得 ② 安信可ESP-12K模组直连苹果智能家居 HomeKit 平台,轻松语音 Siri 控制!

文章目录

  • 一 前言
  • 二 ESP32-S2 ,俗称 ESP8266-Plus
  • 三 环境搭建
  • 四 集成 Apple HomeKit 环境
    • 4.1 什么是 Apple HomeKit
    • 4.2 拉取 Espressif HomeKit SDK
      • 第1步:设置 ESP-IDF
      • 第2步:设置 MbedTLS 版本
      • 第3步 获取esp-apple-homekit-adk
      • 第4步 编译和烧录
  • 五 操作演示

一 前言

     上上个月,乐鑫在2019年推出的新芯片 ESP32-S2 终于量产了,我们安信可紧接着出来了 ESP-12K 模组,也是采用的是 ESP32-S2 芯片,那么目前为止,已在安信可官方某宝店上架:出来 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

  • 安信可ESP-12K模组学习心得 ① ESP32S2 对比与 ESP32 开发方式,带你环境搭建入门;

     上述环境正常搭建好了之后,就可以编译 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 ,关闭/打开灯;

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

在这里插入图片描述

  • 共勉

你可能感兴趣的:(安信可,ESP32,专题)