ESP32_DAY7 介绍ESP32

终於要开始介绍ESP32了!前几天都在慢慢地舖成,就是为了这次的主角ESP32,但可能大家会觉得很纳闷,昨天明明花了一大篇幅去介绍Arduino,Arduino又便宜又容易上手,使用的人很多、资源很丰富,下面这些连结都是用Arduino作的酷东西。

那为什麽我还要改成使用ESP32呢?

ESP32

https://ithelp.ithome.com.tw/upload/images/20210922/201404339D2cpMFpbl.png
ESP32是一系列由中国上海乐鑫科技(Espressif)推出的晶片、模组、开发板,采用Tensilica Xtensa LX6微处理器,包括双核心和单核变体,支援Arduino开放性架构,内建WiFi及低功率蓝芽BLE,可用脚位也扩增到约26根,大部分脚位同时支援类比及数位,内建霍尔、温度、触控感测器,主频高达240mHz的双核心CPU,传输界面SPI、I2C、UART等强大的功能。
https://ithelp.ithome.com.tw/upload/images/20210922/20140433CXp9IMibvt.png
它的前身是ESP8266系列,ESP8266也是由Espressif推出,也自带WiFi模组,方便连接网路。於2014年推出,因为一开始国外的maker还不熟悉中文,所以使用者还不多,但随着Espressif努力的发展,加上平价的价格,很快的就有越来越多的人开始发现它的美妙之处,Espressif也於2016年推出升级後的版本-ESP32,现在不管是ESP8266、ESP32都深受国内、外maker喜爱。
虽然说Arduino自己也有推出自带WiFi模组的Arduino MKR WiFi 1010,待其售价为台币750。Arduino UNO 虽也可以另外购买网路、蓝牙(HC05)模组,却也增加接线与设定上的麻烦,怎麽想都还是便宜又万能的ESP32大胜!

详细差异可以参考下列表格
https://ithelp.ithome.com.tw/upload/images/20210922/20140433dJ7L6po5RX.png

不专业名词解释(有的没提到的未来会讲 吧)
时脉: 处理器一秒钟可以跑几个运算单位(单位: GHz、MHz)
OTA: Over-the-Air Technology 空中下载技术,通过电信网路的无线技术来做软件更新
霍尔感测: 是测量磁场用

以下是ESP32微控制器的功能区块图
https://ithelp.ithome.com.tw/upload/images/20210922/20140433WM3nfVT2mS.png

个人不专业小笔记:
微控制器简称MCU,跟微处理器MPU是不同东西

常见的ESP32种类

https://ithelp.ithome.com.tw/upload/images/20210922/20140433QsTSx3ZGIP.png
我自己手上有NodeMCU-32s、DOIT DEVKIT V1、ESP32-CAM,主要都是使用前两个版本的ESP32,它们本质上没有差异,只有脚位数量、板子大小稍微不同,我自己比较喜欢用NodeMCU-32s,它插在面包板上刚好会在两边都留下一格来使用,但老师说没事别插面包板!!!减少硬体出错率XD
稍微简单介绍其他版本:

  1. TTGO ESP32:附带电池座,搭配深度睡眠
  2. Lolin ESP32:附带OLED,可快速开发万年历,微型气象站等显示装置
  3. ESP32-CAM:附带相机及SD与卡槽,可开发具AI影像辨识装置
  4. HaloCode光环板:附带麦克风及光环LED灯,可开发语音辨识并透过LED互动
  5. WeMos ESP32 mini:很迷你,可以开发穿戴装置
  6. HELTEC WiFi LoRa 32:32M记忆体并内建OLED及长距离LoRa通讯

参考资料:https://makeradvisor.com/esp32-development-boards-review-comparison/

来看看开发板长怎样

因为暑训课程,大家主要是使用DOIT DEVKIT V1,所以我接下来会以它为主来介绍,但应该跟其他板子大同小异!
DOIT DEVKIT V1的USB埠是使用Micro USB,除了电源的那颗红色LED灯,还有一颗是蓝色的LED灯,它会被GPIO 2控制,而微控制器是ESP-WROOM-32D,能使用的GPIO接脚共有30根。
https://ithelp.ithome.com.tw/upload/images/20210922/20140433HAKraX4IKq.png
https://ithelp.ithome.com.tw/upload/images/20210922/20140433QhUvCTtgLk.png

GPIO 是种具有弹性且可以藉由软件控制(software-controlled) 的数位讯号。
常见於开发版边缘, 以针脚 (Pin) 的形式呈现,这些针脚即是开发版与外界沟通的重要桥梁。
简单例子, 想像成是开关, 使用者可以打开或关闭 (input), 或由开发版来打开或关闭 (output)
每个 GPIO 可以被当成 input, output, analog 或 alternate function~

alternate function 是指其他的的功能, 如 I2C, SPI, USART, PWM, Clock 等。如何控制则取决於外部设备(peripheral)

详细接脚功能图
https://ithelp.ithome.com.tw/upload/images/20210922/20140433ptGFNl06lG.png

请注意!GPIO 34、35、36、39只能input
大家要小心使用,不要和我一样不注意就踩到坑了...

接下来的内容就会慢慢带大家了解数位、类比、UART、SPI、I2C在做什麽罗!


<<:  Day 18 - 研习计画之工具评估与协作开发

>>:  故事与团队管理

Day_16 : 让 Vite 来开启你的Vue 之 资料定义 ref 与 reactive

Hi Dai Gei Ho~ 我是Winnie~ 在今天文章中,我们要来说的是Compostion ...

[Day06] 什麽是摩尔投票法

#169 - Majority Element 连结: https://leetcode.com/...

卡夫卡的藏书阁【Book19】- Kafka - KafkaJS 消费者 1

“I usually solve problems by letting them devour ...

Swift 新手-如何使用 Xcode 建立专案?

Xcode 版本 12.5 介面 点选 ios app 建立专案范本,范本有内建预设程序码,协助快速...

[Q&A] 10 资安制度运行与企业经营关键因素

会议上话说的很多,出席或列席的人没有听进心里、用心思考过仍属於无效的沟通。 踏踏实实的做好小事情,并...