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

基于乐鑫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

文章目录

  • 一 前言
  • 二 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步 编译和烧录
  • 五 操作演示
    • 另外,不要把我的博客作为学习标准,我的只是笔记,难有疏忽之处,如果有,请指出来,也欢迎留言哈!


一 前言

上个月给大家分享了我上半年开源的 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专题分享下如何在window下使用CMake编译,编译速度提高传统 make 编译一个档次!
  • 带你在Windows10平台下用自带的Linux安装 ESP8266/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 ,关闭/打开灯;

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

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

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

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

  1. 51单片机学习历程——硬件准备&开发环境搭建

    系列文章目录 第一章 51单片机学习历程(1)--开发环境搭建 第二章 51单片机学习历程(2)--建立新的工程 第三章 51单片机学习历程(3)--点亮一颗LED 第四章 51单片机学习历程(4)- ...

  2. Fuzz学习笔记(一)—— WinAFL环境搭建与基本使用

    WinAFL学习笔记(一)-- WinAFL环境搭建 环境配置 安装步骤 1)安装git 2)安装CMake 3)编译dynamorio 编译32位 编译64位 4)编译winafl 编译32位 编译 ...

  3. 好好学习 天天编程—C语言之环境搭建(一)

    好好学习 天天编程-C语言之环境搭建(一) 一.安装Visual Studio 2010及以上版本 二.搭建环境 三.编写代码 四.运行代码 Ctrl+F5 或者Ctrl+Fn+F5 如果界面不出来这 ...

  4. python从入门到精通图片_Python从入门到精通之环境搭建教程图解

    本章内容: 一.下载python安装包 二.选择适合自己系统的文件,进行下载 Windows环境安装(Windows 10) 三.Python解释器的安装 双击python-3.7.4-amd64.e ...

  5. 深度学习图像识别:基础知识与环境搭建

    深度学习图像识别:基础知识与环境搭建 1. 深度学习的基本原理 什么是人工智能? 通过学习掌握了某中技能的机器,我们认为它具备了人工智能 什么是深度学习? 深度学习的概念源于人工神经网络的研究: 含多 ...

  6. 乐鑫Esp32学习之旅13 esp32 内置 dns 服务器,无需外网访问域名返回指定网页。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  7. 乐鑫Esp32学习之旅① 爬坑学习新旅程,虚拟机Linux环境搭建esp32环境,打印 “Hellow World”。(2021年6月已更新)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...

  8. 乐鑫Esp32学习之旅14 esp32 sdk编程实现门户强制认证,连接esp32热点之后,自动强制弹出指定的登录html界面。(附带Demo)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  9. 深度学习-机器学习从入门到深入全套资源分享

    深度学习.机器学习从入门到深入,全套资源分享.涉及深度学习.机器学习数学.算法基础理论.实战和工程开发相关最佳资源.深度学习常用模型相关教程,深度学习模型优化.调参相关技巧:深度学习常用的框架,公开数 ...

最新文章

  1. python栈溢出_Python栈溢出【新手必学】
  2. python 离线下载和安装第三方库 .whl wheel 文件
  3. VScode 无法创建文件或者无法保存文件
  4. Nature:盐粒大小的相机,可以拍出清晰彩色照片,未来或可应用到手机
  5. 通过HTTP协议上传文件
  6. Python只需要三十行代码,打造一款简单的人工语音对话
  7. map mybatis 的字段返回0_Mybatis 你踩过坑吗?
  8. javascript中children和childNodes的区别
  9. [转载] 字符串操作截取后面的字符串_对字符串的5个必知的熊猫操作
  10. Python打印某范围内的素数
  11. session演练1909051059
  12. 人人都会设计模式---代理模式--Proxy
  13. Ajax与jQuery、json
  14. webtrends 分析报告
  15. python直方图规定化_OpenCV 直方图处理:直方图均衡和规定化(匹配)
  16. Echart中series自定义formatter文字样式
  17. 防火墙、waf、ips和ddos的部署
  18. 【C语言】飞翔的小鸟游戏
  19. [已解决 2020年]你的支付授权失败。请核对你的信息并重试,或尝试其他支付方式。请联系你的银行了解更多信息
  20. RGB, YUV及相关标准

热门文章

  1. PointTransformer编译pointops_cuda报错fatal error: THC/THC.h: No such file or directory
  2. 生态类型 or 生境类型?16S全长测序判断河流中细菌群落构建机理
  3. 使用 Fragment 处理 onActivityResult
  4. html实现左列表往右列表,pyqt 实现左列表向右列表添加
  5. mysql 5.1选择_mysql 5中的多列子选择(5.1.42)
  6. 怎样回答技术面试题?
  7. 你真的了解区块链跨境支付吗?支付未来之路
  8. python自动化滑动解锁_python九宫格滑动解锁
  9. 1.5.4_swi异常模式程序示例
  10. B站视频嵌入自定义网页 bilibili