上上个月,乐鑫在2019年推出的新芯片 ESP32-S2
终于量产了,我们安信可紧接着出来了 ESP-12K
模组,也是采用的是 ESP32-S2
芯片,那么目前为止,已在安信可官方某宝店上架:出来 ESP-12K
模组和开发板,模组现在已经出来了 ,价格比 ESP8266 差不多,价格便宜,非常适合这些经费有限的朋友购买;
而本次博文的是采用安信可 ESP-12K
开发板 ;
去掉了蓝牙的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-IDF
的 example
目录除去了与蓝牙相关的例子,都可以跑在 ESP32-S2
上!下面列下常见的几个命令!
//设置烧录的串口
export ESPPORT=COM12
//设置编译目标芯片为 esp32s2
idf.py set-target esp32s2
//编译和烧录
idf.py flash
//监听端口
idf.py monitor
Apple HomeKit 技术提供了一种简单、安全的方式,使用户可以通过 iPhone、iPad 或 Apple Watch 控制灯,门,恒温器等家居设备。
而乐鑫移植后的 Espressif HomeKit SDK 全面集成了全新的 Apple HomeKit 协议,是一套完整的解决方案,方便厂商快速生产出能够接入 Apple HomeKit 的产品。
这里还必须强调,本文章介绍 Espressif HomeKit SDK 接入 Apple HomeKit ,不可用于商业用途,如果违背则自行承担全部责任! 如果要商业用途,请到官方商务申请授权!
确保已经拉取完整的 IDF ,然后需要切换到一个具体的 commit:
git checkout 012b111d6d46812a768838c87417f5e3754bc90e
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
截图:
git clone --recursive https://github.com/espressif/esp-apple-homekit-adk.git
您可以将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 上打开 “家庭” 应用程序,然后执行以下步骤
扫描附近的设备:
输入 11122333,以添加设备:
添加设备OK:
设置好备注名之后,您可以对苹果手机说: Hi Siri ,关闭/打开灯;
但是在开关灯指令代码哪里处理下行动作呢?