基于乐鑫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
带你飞、加群
esp8266源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
esp32源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32
上个月给大家分享了我上半年开源的 XClouds 架构,很多小伙伴问我怎么集成进去自己的服务器,如何玩透全栈开发,好吧,下半年我就主打这个文章带给大家了。
跟大家汇报下这2个月进去新公司忙里忙外的事情:
上上个月,乐鑫在2019年推出的新芯片 ESP32-S2
终于量产了,安信可公司紧接着出来了 ESP-12K
模组,也是采用的是 ESP32-S2
芯片,那么目前为止,有哪些可以在网上购买的 ESP32-S2
模组或开发板呢?这里给大家给大家介绍下:
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 上打开 “家庭” 应用程序,然后执行以下步骤
设置好备注名之后,您可以对苹果手机说: Hi Siri ,关闭/打开灯;
但是在开关灯指令代码哪里处理下行动作呢?
esp8266
带你飞、加群QQ
群,不喜的朋友勿喷勿加:434878850