最近发现了一个性价比超高的芯片,价格20多块钱,可以学Arduino、学Python、学Lua等等!简直就是芯片界的业界良心——ESP32。
ESP32芯片是乐鑫出产的,自带蓝牙和WiFi,所以目前成为了物联网界的重要基础芯片。而且最关键的,ESP32能够支持Arduino,这就为ESP32的广泛应用打下了坚实的群众基础!
乐鑫官网的介绍为:
双核 Wi-Fi & BT/Bluetooth LE 模组
特性
◼两个可以单独控制的 CPU 内核,时钟频率可调,范围从 80 MHz 到 240 MHz
◼ +19.5 dBm 天线端输出功率,确保良好的覆盖范围
◼传统蓝牙支持 L2CAP,SDP,GAP,SMP,AVDTP,AVCTP,A2DP (SNK) 和 AVRCP (CT) 协议
◼低功耗蓝牙 (Bluetooth LE) 支持 L2CAP, GAP, GATT, SMP, 和 GATT 之上的 BluFi, SPP-like 协议等
◼低功耗蓝牙连接智能手机,发送低功耗信标,方便检测
◼睡眠电流小于 5 μA,适用于电池供电的可穿戴电子设备
◼集成 4 MB flash
◼外设包括电容式触摸传感器,霍尔传感器,低噪声放大器,SD 卡接口,以太网,高速 SPI,UART,I2S 和 I2C
◼通过 RF 认证以及软件协议认证
市面上的ESP32芯片开发板种类繁多,我选择的是安信可开发的NodeMCU-32S。
Nodemcu-32s 模组是由安信可科技开发的。此款模组的核心是 ESP32 芯片。两个 CPU 核可以被单独控制。时钟频率的调节范围为 80 MHz 到 240 MHz,支持 RTOS,是一款通用型 Wi-Fi+BT+BLE MCU 模组。
Nodemcu-32s模组集成了传统蓝牙、低功耗蓝牙和 Wi-Fi。具有广泛的用途:Wi-Fi 支持极大范围的通信连接,也支持通过路由器直接连接互联网;而蓝牙可以让用户连接手机或者广播 BLE Beacon 以便于信号检测。模组支持的数据传输速率高达 150 Mbps,天线输出功率达到 20 dBm,可实现最大范围的无线通信。因此,这款模组具有行业领先的技术规格,在高集成度、无线传输距离、功耗以及网络联通等方面性能极佳。
特性
◼ 802.11b/g/n (802.11n,速度高达 150Mbps)
◼ WIFI频率范围 2.4GHz ~ 2.5GHz
◼ 时钟频率的调节范围 80 MHz 到 240 MHz,支持 RTOS
◼ 内置2路12 bit 高精度ADC,多达18 个通道
◼ 支持UART/GPIO/ADC/DAC/SDIO/SD卡/PWM/I2C/I2S接口
◼ 支持多种休眠模式,ESP32 芯片的睡眠电流小于 5 µA
◼ 内嵌Lwip协议栈
◼ 支持 STA/AP/STA+AP 工作模式
◼ 支持串口本地升级和远程固件升级(FOTA)
◼ 通用AT指令可快速上手
◼ 支持二次开发,集成了Windows、Linux开发环境
为啥选择这个,为啥不直接用Arduino呢?
首先是价格啊,便宜!
然后是性能啊,算力远超Arduino了!
再然后就是Node这个名字啊,是不是能用JavaScript,据说是的,但是当前开发起来还比较麻烦,所以当前不推荐,但未来可期,哈哈!
最后,他还自带WiFi和蓝牙。
综上所述,感觉满满的优点,没有缺点。什么,你不信,那你说说,它有啥缺点?
NodeMCU-32S开发板的样子是长这样的!管脚定义(开发必备)
以上看完你觉得怎样?
我的感觉是:
1、CPU性能足够好,算力高达600MIPS。GPIO口众多,满足了绝大多数开发需求,特别是我这种门外汉的需求,最重要的就是价格了,20多块钱要啥自行车。
2、支持Arduino和MicroPython。特别是支持Arduino,开发难度指数倍下降了!当然,支持Python以后,上手难度又降了一个量级。
3、支持Wifi和蓝牙。这就是锦上添花的功能了,物联网界用得上。
以上是ESP32的简介。安信可官方推荐用Lua开发语言!考虑到普罗大众的习惯,我个人选择用Arduino和MicroPython做开发。以下计划分别基于Arduino和MicroPython两个版本的开发。
(鉴于知乎混乱的文件逻辑管理体系,特建立如下目录,方便循序渐进)
目录
1、基于MicroPython的ESP32开发环境
2、基于Arduino的ESP32开发环境