ESP32-WATG-32D
คู่มือการใช้งาน
เวอร์ชันเบื้องต้น0.1
ระบบเอสเพรสซิฟ
ลิขสิทธิ์ © 2019
เกี่ยวกับคู่มือนี้
เอกสารนี้มีจุดประสงค์เพื่อช่วยให้ผู้ใช้ตั้งค่าสภาพแวดล้อมการพัฒนาซอฟต์แวร์พื้นฐานสำหรับการพัฒนาแอปพลิเคชันโดยใช้ฮาร์ดแวร์ตามโมดูล ESP32WATG-32D
หมายเหตุการเปิดตัว
วันที่ | เวอร์ชัน | หมายเหตุการเปิดตัว |
2019.12 | วี0.1 | เบื้องต้นปล่อย. |
บทนำสู่ ESP32-WATG-32D
ESP32-WATG-32D
ESP32-WATG-32D คือโมดูล MCU WiFi-BT-BLE ที่กำหนดเองเพื่อให้ "ฟังก์ชันการเชื่อมต่อ" กับผลิตภัณฑ์ต่างๆ ของลูกค้า รวมถึงเครื่องทำน้ำอุ่นและระบบทำความร้อนเพื่อความสบาย
ตารางที่ 1 แสดงข้อมูลจำเพาะของ ESP32-WATG-32D
ตารางที่ 1: ข้อมูลจำเพาะ ESP32-WATG-32D
หมวดหมู่ | รายการ | ข้อมูลจำเพาะ |
ไวไฟ | โปรโตคอล | 802.t1 b/g/n (802.t1n สูงสุด 150 Mbps) |
A-MPDU และ A-MSDU รวมและรองรับช่วงการป้องกัน 0.4 µ s | ||
ช่วงความถี่ | 2400 เมกะเฮิรตซ์ – 2483.5 เมกะเฮิรตซ์ | |
บลูทูธ | โปรโตคอล | รองรับ Bluetoothv4.2 BRJEDR และ BLE โดยเฉพาะ |
วิทยุ | เครื่องรับ NZIF ที่มีความไว -97 dBm | |
เครื่องส่งสัญญาณคลาส 1 คลาส 2 และคลาส 3 | ||
เอเอฟเอช | ||
เสียง | CVSD และ SBC | |
ฮาร์ดแวร์ | อินเทอร์เฟซโมดูล | UART,เกี่ยวกับ EBUS2,JTAG,จีพีโอ |
เซ็นเซอร์บนชิป | เซ็นเซอร์ฮอลล์ | |
คริสตัลแบบบูรณาการ | คริสตัลความถี่ 40 เมกะเฮิรตซ์ | |
แฟลช SPI ในตัว | 8MB | |
ฉันรวม DCDC Converter ไว้แล้ว การดำเนินการปริมาณtagอี!พาวเวอร์ซัพพลาย |
3.3 โวลต์, 1.2 แอมป์ | |
12 โวลต์ / 24 โวลต์ | ||
กระแสไฟฟ้าสูงสุดที่ส่งโดยแหล่งจ่ายไฟ | 300มิลลิแอมป์ | |
ช่วงอุณหภูมิการทำงานที่แนะนำ | -40'เซลเซียส + 85'เซลเซียส | |
ขนาดโมดูล | (18.00±0.15) มม. x (31.00±0.15) มม. x (3.10±0.15) มม. |
ESP32-WATG-32D มี 35 พิน ซึ่งอธิบายไว้ในตารางที่ 2
คำอธิบายหมุด
รูปที่ 1: เค้าโครงพิน
ตารางที่ 2: คำจำกัดความของพิน
ชื่อ | เลขที่ | พิมพ์ | การทำงาน |
รีเซ็ต | 1 | I | สัญญาณเปิดใช้งานโมดูล (ดึงขึ้นภายในตามค่าเริ่มต้น) ใช้งานสูง |
ไอ36 | 2 | I | GPIO36, ADC1_CH0, RTC_GPIO0 |
ไอ37 | 3 | I | GPIO37, ADC1_CH1, RTC_GPIO1 |
ไอ38 | 4 | I | GPI38, ADC1_CH2, RTC_GPIO2 |
ไอ39 | 5 | I | GPIO39, ADC1_CH3, RTC_GPIO3 |
ไอ34 | 6 | I | GPIO34, ADC1_CH6, RTC_GPIO4 |
ไอ35 | 7 | I | GPIO35, ADC1_CH7, RTC_GPIO5 |
IO32 | 8 | ไอ/โอ | GPIO32, XTAL_32K_P (อินพุตคริสตัลออสซิลเลเตอร์ 32.768 kHz), ADC1_CH4, TOUCH9, RTC_GPIO9 |
IO33 | 9 | ไอ/โอ | GPIO33, XTAL_32K_N (เอาต์พุตคริสตัลออสซิลเลเตอร์ 32.768 kHz), ADC1_CH5, TOUCH8, RTC_GPIO8 |
IO25 | 10 | ไอ/โอ | จีพีโอ25, DAC_1, ADC2_CH8, RTC_GPIO6 |
I2C_เอสดีเอ | 11 | ไอ/โอ | จีพีโอ26, I2C_SDA |
I2C_เอสซีแอล | 12 | I | จีพีโอ27, I2C_SCL |
ทีเอ็มเอส | 13 | ไอ/โอ | GPIO14, MTMS |
ทีดีไอ | 14 | ไอ/โอ | GPIO12, เอ็มทีดีไอ |
+5โวลต์ | 15 | PI | อินพุตแหล่งจ่ายไฟ 5 V |
ก.ย.ด. | 16, 17 | PI | พื้น |
หมายเลขประจำตัวผู้เสียภาษี | 18 | ไอ/โอ | อินพุตแหล่งจ่ายไฟ 12 V / 24 V |
ทีซีเค | 19 | ไอ/โอ | GPIO13, MTCK |
TDO | 20 | ไอ/โอ | GPIO15, เอ็มทีดีโอ |
อีบัส2 | 21, 35 | ไอ/โอ | GPIO19/GPIO22, อีบัส2 |
IO2 | 22 | ไอ/โอ | GPIO2, ADC2_CH2, ทัช2, RTC_GPIO12, HSPIWP, HS2_DATA0 |
IO0_แฟลช | 23 | ไอ/โอ | ดาวน์โหลด Boot: 0; SPI Boot: 1 (เริ่มต้น) |
IO4 | 24 | ไอ/โอ | GPIO4, ADC2_CH0, ทัช 0, RTC_GPIO10, HSPIHD, HS2_DATA1 |
IO16 | 25 | ไอ/โอ | GPIO16, HS1_ข้อมูล4 |
5V_UART1_TX ดี | 27 | I | GPIO18, 5V UART รับข้อมูล |
5V_UART1_RXD | 28 | – | GPIO17, HS1_ข้อมูล5 |
IO17 | 28 | – | GPIO17, HS1_ข้อมูล5 |
IO5 | 29 | ไอ/โอ | GPIO5, VSPICS0, HS1_DATA6 ตามลำดับ |
U0RXD | 31 | ไอ/โอ | GPIO3, U0RXD |
U0TXD | 30 | ไอ/โอ | GPIO1, U0TXD |
IO21 | 32 | ไอ/โอ | GPIO21, VSPIHD |
ก.ย.ด. | 33 | PI | EPAD ภาคพื้นดิน |
+3.3โวลต์ | 34 | PO | แหล่งจ่ายไฟเอาท์พุต 3.3V |
การเตรียมฮาร์ดแวร์
การเตรียมฮาร์ดแวร์
- โมดูล ESP32-WATG-32D
- บอร์ดทดสอบ RF Espressif (Carrier Board)
- ดองเกิล USB ถึง UART หนึ่งตัว
- พีซี, Windows 7 แนะนำ
- สายเคเบิล Micro-USB
การเชื่อมต่อฮาร์ดแวร์
- บัดกรี ESP32-WATG-32D เข้ากับบอร์ด Carrier ตามที่แสดงในรูปที่ 2
- เชื่อมต่อดองเกิล USB-to-UART เข้ากับบอร์ดผู้ให้บริการผ่าน TXD, RXD และ GND
- เชื่อมต่อดองเกิล USB-to-UART เข้ากับพีซีผ่านสาย Micro-USB
- เชื่อมต่อบอร์ดผู้ให้บริการกับอะแดปเตอร์ 24 V เพื่อจ่ายไฟ
- ระหว่างการดาวน์โหลด สั้น IO0 ถึง GND ผ่านจัมเปอร์ จากนั้นเปิด "ON" กระดาน
- ดาวน์โหลดเฟิร์มแวร์ลงในแฟลชโดยใช้เครื่องมือดาวน์โหลด ESP32
- หลังจากดาวน์โหลด ให้ถอดจัมเปอร์บน IO0 และ GND
- จ่ายไฟให้บอร์ดพาหะอีกครั้ง ESP32-WATG-32D จะสลับไปที่โหมดทำงาน
ชิปจะอ่านโปรแกรมจากแฟลชเมื่อเริ่มต้นใช้งาน
หมายเหตุ:
- IO0 เป็นตรรกะภายในสูง
- สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ ESP32-WATG-32D โปรดดูแผ่นข้อมูล ESP32-WATG-32D
เริ่มต้นใช้งาน ESP32 WATG-32D
ESP-IDF
Espressif IoT Development Framework (หรือเรียกสั้นๆ ว่า ESP-IDF) คือกรอบงานสำหรับการพัฒนาแอปพลิเคชันโดยใช้ Espressif ESP32 ผู้ใช้สามารถพัฒนาแอปพลิเคชันโดยใช้ ESP32 ใน Windows/Linux/MacOS โดยใช้ ESP-IDF
ตั้งค่าเครื่องมือ
นอกเหนือจาก ESP-IDF คุณยังจำเป็นต้องติดตั้งเครื่องมือที่ใช้โดย ESP-IDF เช่น คอมไพเลอร์ ดีบักเกอร์ แพ็คเกจ Python เป็นต้น
การตั้งค่ามาตรฐานของ Toolchain สำหรับ Windows
วิธีที่เร็วที่สุดคือดาวน์โหลด toolchain และ MSYS2 zip จาก dl.espressif.com: https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip
การตรวจสอบออก
เรียกใช้ C:\msys32\mingw32.exe เพื่อเปิดเทอร์มินัล MSYS2 เรียกใช้: mkdir -p ~/esp
ป้อน cd ~/esp เพื่อเข้าสู่ไดเร็กทอรีใหม่
การปรับปรุงสิ่งแวดล้อม
เมื่อ IDF ได้รับการอัปเดต บางครั้งจำเป็นต้องมี toolchains ใหม่หรือมีการเพิ่มข้อกำหนดใหม่ในสภาพแวดล้อม Windows MSYS2 ในการย้ายข้อมูลใดๆ จากสภาพแวดล้อมที่คอมไพล์ล่วงหน้าเวอร์ชันเก่าไปยังเวอร์ชันใหม่:
ใช้สภาพแวดล้อม MSYS2 เก่า (เช่น C:\msys32) และย้าย/เปลี่ยนชื่อไปยังไดเรกทอรีอื่น (เช่น C:\msys32_old)
ดาวน์โหลดสภาพแวดล้อมที่คอมไพล์ล่วงหน้าใหม่โดยใช้ขั้นตอนข้างต้น
เปิดเครื่องรูดสภาพแวดล้อม MSYS2 ใหม่ไปที่ C:\msys32 (หรือตำแหน่งอื่น)
ค้นหาไดเร็กทอรี C:\msys32_old\home เก่า และย้ายไปยัง C:\msys32
ตอนนี้คุณสามารถลบไดเร็กทอรี C:\msys32_old ได้หากไม่ต้องการใช้อีกต่อไป
คุณสามารถมีสภาพแวดล้อม MSYS2 ที่แตกต่างกันบนระบบของคุณได้ ตราบใดที่สภาพแวดล้อมเหล่านั้นอยู่ในไดเร็กทอรีที่ต่างกัน
การตั้งค่ามาตรฐานของ Toolchain สำหรับ Linux
ติดตั้งข้อกำหนดเบื้องต้น
CentOS7:
sudo yum ติดตั้ง gcc git wget สร้าง ncurses-devel flex bison gperf python pyserial python-pyelftools
sudo apt-get ติดตั้ง gcc git wget สร้าง libncurses-dev flex bison gperf python pythonpip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools
โค้ง:
sudo pacman -S –needed gcc git make ncurses flex bison gperf python2-pyserial python2cryptography python2-future python2-pyparsing python2-pyelftools
ตั้งค่า Toolchain
ลินุกซ์ 64 บิต:https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-esp32-2019r1-8.2.0.tar.gz
ลินุกซ์ 32 บิต:https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-esp32-2019r1-8.2.0.tar.gz
1. แตกไฟล์ไปยังไดเร็กทอรี ~/esp:
ลินุกซ์ 64 บิต: mkdir -p ~/esp cd ~/esp tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-esp32-2019r1-8.2.0.tar.gz
Linux 32 บิต: mkdir -p ~/espcd ~/esp tar -xzf ~/Downloads/xtensa-esp32-elf-linux32-esp32-2019r1-8.2.0.tar.gz
2. ชุดเครื่องมือจะถูกแตกไฟล์ไปยังไดเร็กทอรี ~/esp/xtensa-esp32-elf/ เพิ่มไฟล์ต่อไปนี้ลงใน ~/.profile:
ส่งออก PATH =”$HOME / esp / xtensa-esp32-elf / bin: $ PATH”
หรือเพิ่มสิ่งต่อไปนี้ใน ~/.profile:
นามแฝง get_esp32='ส่งออกเส้นทาง=”$HOME/esp/xtensa-esp32-elf/bin:$PATH”'
3. เข้าสู่ระบบอีกครั้งเพื่อตรวจสอบความถูกต้องของ .profile. รันสิ่งต่อไปนี้เพื่อตรวจสอบ PATH: printenv PATH
$ printenv เส้นทาง
/home/ชื่อผู้ใช้/esp/xtensa-esp32-elf/bin:/home/ชื่อผู้ใช้/bin:/home/username/.local/bin:/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/เกม:/snap/bin
ปัญหาการอนุญาต /dev/ttyUSB0
เมื่อทำการแฟลช ESP0 คุณอาจได้รับข้อความแสดงข้อผิดพลาดว่าไม่สามารถเปิดพอร์ต /dev/ttyUSB32 ได้สำหรับระบบปฏิบัติการ Linux บางรุ่น ซึ่งสามารถแก้ไขได้โดยเพิ่มผู้ใช้ปัจจุบันลงในกลุ่มการโทรออก
ผู้ใช้ Arch Linux
การรัน gdb ที่คอมไพล์ไว้ล่วงหน้า (xtensa-esp32-elf-gdb) ใน Arch Linux จะต้องใช้ ncurses 5 แต่ Arch ใช้ ncurses 6
ไลบรารีความเข้ากันได้แบบย้อนหลังมีอยู่ใน AUR สำหรับการกำหนดค่าดั้งเดิมและ lib32:
https://aur.archlinux.org/packages/ncurses5-compat-libs/
https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
ก่อนติดตั้งแพ็กเกจเหล่านี้ คุณอาจต้องเพิ่มคีย์สาธารณะของผู้เขียนลงในคีย์ริงตามที่อธิบายไว้ในส่วน "ความคิดเห็น" ที่ลิงก์ด้านบน
อีกวิธีหนึ่งคือใช้ crosstool-NG ในการคอมไพล์ gdb ที่เชื่อมโยงกับ ncurses 6
การตั้งค่ามาตรฐานของ Toolchain สำหรับ Mac OS
ติดตั้ง pip:
sudo easy_install pip
ติดตั้ง Toolchain:
https://github.com/espressif/esp-idf/blob/master/docs/en/get-started/macossetup.rst#id1
แตกไฟล์ลงในไดเร็กทอรี ~/esp
Toolchain จะถูกแตกไฟล์ลงในเส้นทาง ~/esp/xtensa-esp32-elf/
เพิ่มสิ่งต่อไปนี้ใน ~/.profile:
ส่งออก PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH
หรือ เพิ่มสิ่งต่อไปนี้ใน 〜/ .profile:
นามแฝง get_esp32=”ส่งออก PATH=$HOME/esp/xtensa-esp32-elf/bin:$PATH”
อินพุต get_esp322 เพื่อเพิ่ม toolchain ลงใน PATH
รับ ESP-IDF
เมื่อคุณติดตั้งชุดเครื่องมือ (ซึ่งประกอบด้วยโปรแกรมสำหรับคอมไพล์และสร้างแอปพลิเคชัน) แล้ว คุณยังต้องมี API/ไลบรารีเฉพาะของ ESP32 ด้วย ซึ่งจัดเตรียมไว้โดย Espressif ในที่เก็บ ESP-IDF หากต้องการรับ ให้เปิดเทอร์มินัล นำทางไปยังไดเร็กทอรีที่คุณต้องการใส่ ESP-IDF และโคลนโดยใช้คำสั่ง git clone:
git clone – ย้อนกลับ https://github.com/espressif/esp-idf.git
ESP-IDF จะถูกดาวน์โหลดลงใน ~/esp/esp-idf
บันทึก:
อย่าพลาดตัวเลือก –recursive หากคุณโคลน ESP-IDF โดยไม่มีตัวเลือกนี้แล้ว ให้เรียกใช้คำสั่งอื่นเพื่อรับโมดูลย่อยทั้งหมด:
ซีดี ~/esp/esp-idf
git อัพเดตโมดูลย่อย –init
เพิ่ม IDF_PATH ลงในโปรไฟล์ผู้ใช้
หากต้องการรักษาการตั้งค่าตัวแปรสภาพแวดล้อม IDF_PATH ระหว่างการรีสตาร์ทระบบ ให้เพิ่มตัวแปรดังกล่าวลงในโปรไฟล์ผู้ใช้ โดยทำตามคำแนะนำด้านล่าง
หน้าต่าง
ค้นหา “Edit Environment Variables” on Windows 10.
คลิก ใหม่… และเพิ่มตัวแปรระบบ IDF_PATH ใหม่ การกำหนดค่าควรมีไดเร็กทอรี ESP-IDF เช่น C:\Users\user-name\esp\esp-idf
เพิ่ม ;%IDF_PATH%\tools ลงในตัวแปร Path เพื่อรัน idf.py และเครื่องมืออื่นๆ
Linux และ MacOS
เพิ่มต่อไปนี้เพื่อ ~/.โปรfile:
ส่งออก IDF_PATH=~/esp/esp-idf
ส่งออก PATH=”$IDF_PATH/เครื่องมือ:$PATH”
เรียกใช้สิ่งต่อไปนี้เพื่อตรวจสอบ IDF_PATH:
พิมพ์ IDF_PATH
รันสิ่งต่อไปนี้เพื่อตรวจสอบว่ามี idf.py รวมอยู่ใน PAT หรือไม่:
ซึ่ง idf.py
มันจะพิมพ์เส้นทางที่คล้ายกับ ${IDF_PATH}/tools/idf.py
หากคุณไม่ต้องการแก้ไข IDF_PATH หรือ PATH คุณสามารถป้อนสิ่งต่อไปนี้ได้:
ส่งออก IDF_PATH=~/esp/esp-idf
ส่งออก PATH=”$IDF_PATH/เครื่องมือ:$PATH”
สร้างการเชื่อมต่อแบบอนุกรมกับ ESP32-WATG-32D
หัวข้อนี้ให้คำแนะนำเกี่ยวกับวิธีการสร้างการเชื่อมต่อแบบอนุกรมระหว่าง ESP32WATG-32D และพีซี
เชื่อมต่อ ESP32-WATG-32D กับพีซี
บัดกรีโมดูล ESP32-WATG-32D เข้ากับบอร์ดพาหะและเชื่อมต่อบอร์ดพาหะกับพีซีโดยใช้ดองเกิล USB เป็น UART หากไดรเวอร์อุปกรณ์ไม่ติดตั้งโดยอัตโนมัติ ให้ระบุชิปตัวแปลง USB เป็นอนุกรมบนดองเกิล USB เป็น UART ภายนอกของคุณ ค้นหาไดรเวอร์ในอินเทอร์เน็ตและติดตั้ง
ด้านล่างนี้เป็นลิงค์ไปยังไดร์เวอร์ที่สามารถใช้ได้
ไดรเวอร์ VCP CP210x USB to UART Bridge ไดรเวอร์พอร์ต COM เสมือน FTDI
ไดรเวอร์ด้านบนมีไว้สำหรับการอ้างอิงเป็นหลัก ในสถานการณ์ปกติ ไดรเวอร์ควรมาพร้อมกับระบบปฏิบัติการและติดตั้งโดยอัตโนมัติเมื่อเชื่อมต่อดองเกิล USB-to-UART เข้ากับพีซี
ตรวจสอบพอร์ตบน Windows
ตรวจสอบรายการพอร์ต COM ที่ระบุใน Windows Device Manager ถอดดองเกิล USB-to-UART ออกแล้วเชื่อมต่อกลับเข้าไปใหม่เพื่อตรวจสอบว่าพอร์ตใดหายไปจากรายการแล้วแสดงขึ้นมาอีกครั้ง
รูปที่ 4-1 สะพาน USB ถึง UART ของดองเกิล USB ถึง UART ใน Windows Device Manager
รูปที่ 4-2 พอร์ต USB Serial สองพอร์ตของดองเกิล USB-to-UART ใน Windows Device Manager
ตรวจสอบพอร์ตบน Linux และ MacOS
หากต้องการตรวจสอบชื่ออุปกรณ์สำหรับพอร์ตซีเรียลของดองเกิล USB-to-UART ให้รันคำสั่งนี้สองครั้ง ครั้งแรกโดยถอดดองเกิลออก จากนั้นจึงเสียบดองเกิลเข้าไป พอร์ตที่ปรากฏขึ้นครั้งที่สองคือพอร์ตที่คุณต้องการ:
ลินุกซ์
ls /dev/tty*
ระบบปฏิบัติการ MacOS
ls /dev/cu.*
การเพิ่มผู้ใช้ในการโทรออกบน Linux
ผู้ใช้ที่เข้าสู่ระบบในปัจจุบันควรมีสิทธิ์อ่านและเขียนผ่านพอร์ตซีเรียลผ่าน USB
ในการจำหน่าย Linux ส่วนใหญ่ การดำเนินการนี้จะดำเนินการโดยการเพิ่มผู้ใช้ในกลุ่ม dial-out ด้วยคำสั่งต่อไปนี้:
sudo usermod -a -G การโทรออก $USER
ใน Arch Linux จะทำได้โดยการเพิ่มผู้ใช้ลงในกลุ่ม uucp ด้วยคำสั่งต่อไปนี้:
sudo usermod -a -G uucp $ผู้ใช้
ตรวจสอบให้แน่ใจว่าคุณลงชื่อเข้าใช้อีกครั้งเพื่อเปิดใช้สิทธิ์ในการอ่านและเขียนสำหรับพอร์ตอนุกรม
ตรวจสอบการเชื่อมต่อแบบอนุกรม
ตอนนี้ให้ตรวจสอบว่าการเชื่อมต่อแบบอนุกรมใช้งานได้ คุณสามารถทำได้โดยใช้โปรแกรมเทอร์มินัลอนุกรม ในอดีตนี้ampเราจะใช้ PuTTY SSH Client ที่มีให้สำหรับทั้ง Windows และ Linux คุณสามารถใช้โปรแกรมซีเรียลอื่นๆ และตั้งค่าพารามิเตอร์การสื่อสารดังด้านล่าง
รันเทอร์มินัล ตั้งค่าพอร์ตอนุกรมที่ระบุ อัตราบอด = 115200 บิตข้อมูล = 8 บิตหยุด = 1 และพาริตี = N ด้านล่างนี้คือตัวอย่างampสกรีนช็อตของการตั้งค่าพอร์ตและพารามิเตอร์การส่งข้อมูลดังกล่าว (อธิบายโดยย่อว่า 115200-8-1-N) บน Windows และ Linux อย่าลืมเลือกพอร์ตอนุกรมเดียวกันกับที่คุณระบุในขั้นตอนข้างต้น
รูปที่ 4-3 การตั้งค่าการสื่อสารแบบอนุกรมใน PuTTY บน Windows
รูปที่ 4-4 การตั้งค่าการสื่อสารแบบอนุกรมใน PuTTY บน Linux
จากนั้นเปิดพอร์ตซีเรียลในเทอร์มินัลและตรวจสอบว่าคุณเห็นบันทึกใดๆ ที่พิมพ์ออกมาโดย ESP32 หรือไม่
เนื้อหาของบันทึกจะขึ้นอยู่กับแอปพลิเคชันที่โหลดไปยัง ESP32
หมายเหตุ:
- สำหรับการกำหนดค่าการเดินสายพอร์ตซีเรียลบางแบบ พิน RTS และ DTR แบบซีเรียลจะต้องถูกปิดใช้งานในโปรแกรมเทอร์มินัลก่อนที่ ESP32 จะบูตและส่งออกเอาต์พุตแบบซีเรียลได้ ทั้งนี้ขึ้นอยู่กับฮาร์ดแวร์ของตัวมันเอง บอร์ดพัฒนาส่วนใหญ่ (รวมถึงบอร์ด Espressif ทั้งหมด) ไม่พบปัญหานี้ ปัญหานี้จะเกิดขึ้นหาก RTS และ DTR ต่อสายโดยตรงกับพิน EN และ GPIO0 โปรดดูเอกสารประกอบของ esptool สำหรับรายละเอียดเพิ่มเติม
- ปิดเทอร์มินัลซีเรียลหลังจากตรวจสอบว่าการสื่อสารทำงานได้ ในขั้นตอนถัดไป เราจะใช้แอปพลิเคชันอื่นเพื่ออัปโหลดเฟิร์มแวร์ใหม่
ESP32 แอปพลิเคชันนี้จะไม่สามารถเข้าถึงพอร์ตซีเรียลได้ในขณะที่เปิดอยู่ในเทอร์มินัล
กำหนดค่า
เข้าสู่ไดเร็กทอรี hello_world และเรียกใช้ menuconfig
Linux และ MacOS
ซีดี ~/esp/hello_world
idf.py -DIDF_TARGET=เมนูการกำหนดค่า esp32
คุณอาจต้องเรียกใช้ python2 idf.py บน Python 3.0
หน้าต่าง
ซีดี %userprofile%\esp\hello_world idf.py -DIDF_TARGET=esp32 เมนูการกำหนดค่า
โปรแกรมติดตั้ง Python 2.7 จะพยายามกำหนดค่า Windows เพื่อเชื่อมโยงไฟล์ .py กับ Python 2 หากโปรแกรมอื่น (เช่น เครื่องมือ Python ของ Visual Studio) เชื่อมโยงกับ Python เวอร์ชันอื่น idf.py อาจทำงานไม่ถูกต้อง (ไฟล์จะเปิดขึ้นใน Visual Studio) ในกรณีนี้ คุณสามารถเลือกเรียกใช้ C:\Python27\python idf.py ทุกครั้ง หรือเปลี่ยนการตั้งค่าไฟล์ .py ที่เกี่ยวข้องกับ Windows
สร้างและแฟลช
ตอนนี้คุณสามารถสร้างและ flash แอปพลิเคชันได้แล้ว วิ่ง:
idf.py สร้าง
การดำเนินการนี้จะคอมไพล์แอปพลิเคชันและส่วนประกอบ ESP-IDF ทั้งหมด สร้างบูตโหลดเดอร์ ตารางพาร์ติชั่น และไบนารีแอปพลิเคชัน และแฟลชไบนารีเหล่านี้ไปยังบอร์ด ESP32 ของคุณ
สร้าง $idf.py
รัน cmake ในไดเร็กทอรี /path/to/hello_world/build กำลังดำเนินการ “cmake -G Ninja –warn-uninitialized /path/to/hello_world”… เตือนเกี่ยวกับค่าที่ไม่ได้ถูกกำหนดค่า
- พบ Git: /usr/bin/git (พบเวอร์ชัน “2.17.0”)
- การสร้างองค์ประกอบ aws_iot ที่ว่างเปล่าเนื่องจากการกำหนดค่า
- ชื่อส่วนประกอบ: …
- เส้นทางส่วนประกอบ: … … (มีบรรทัดผลลัพธ์ของระบบบิลด์เพิ่มขึ้น)
โครงการสร้างเสร็จสมบูรณ์ หากต้องการแฟลช ให้รันคำสั่งนี้:
../../../components/esptool_py/esptool/esptool.py -p (PORT) -b 921600 write_flash -flash_mode dio –flash_size detect –flash_freq 40m 0x10000 build/hello-world.bin build 0x1000 build/bootloader/bootloader.bin 0x8000 build/partition_table/partitiontable.bin หรือรัน 'idf.py -p PORT flash'
หากไม่มีปัญหาใด ๆ เมื่อสิ้นสุดกระบวนการสร้าง คุณควรเห็นไฟล์ .bin ที่สร้างขึ้น
แฟลชบนอุปกรณ์
แฟลชไฟล์ไบนารีที่คุณเพิ่งสร้างลงบนบอร์ด ESP32 โดยรัน:
idf.py -p PORT [-b BAUD] แฟลช
เปลี่ยน PORT เป็นชื่อพอร์ตซีเรียลของบอร์ด ESP32 ของคุณ นอกจากนี้ คุณยังสามารถเปลี่ยนบอดเรตของแฟลชเชอร์ได้โดยการแทนที่ BAUD ด้วยบอดเรตที่คุณต้องการ บอดเรตเริ่มต้นคือ 460800
กำลังรัน esptool.py ในไดเร็กทอรี […]/esp/hello_world กำลังดำเนินการ “python […]/esp-idf/components/esptool_py/esptool/esptool.py -b 460800 write_flash @flash_project_args”… esptool.py -b 460800 write_flash –flash_mode dio –flash_size detect –flash_freq 40m 0x1000 bootloader/bootloader.bin 0x8000 partition_table/partition-table.bin 0x10000 hello-world.bin esptool.py v2.3.1 กำลังเชื่อมต่อ… กำลังตรวจจับประเภทชิป… ชิป ESP32 คือ ESP32D0WDQ6 (แก้ไขครั้งที่ 1)
คุณสมบัติ: WiFi, BT, Dual Core กำลังอัปโหลด… กำลังรันสตับ… สตับกำลังทำงาน… กำลังเปลี่ยนบอดเรทเป็น 460800 เปลี่ยนแปลงแล้ว กำลังกำหนดค่าขนาดแฟลช… ตรวจพบขนาดแฟลชอัตโนมัติ: 4MB พารามิเตอร์แฟลชตั้งเป็น 0x0220 บีบอัด 22992 ไบต์ถึง 13019… เขียน 22992 ไบต์ (บีบอัด 13019) ที่ 0x00001000 ใน 0.3 วินาที (มีผล 558.9 kbit/s)… แฮชของข้อมูลได้รับการยืนยัน บีบอัด 3072 ไบต์ถึง 82… เขียน 3072 ไบต์ (บีบอัด 82) ที่ 0x00008000 ใน 0.0 วินาที (มีผล 5789.3 kbit/s)… แฮชของข้อมูลได้รับการยืนยัน บีบอัด 136672 ไบต์เป็น 67544… เขียน 136672 ไบต์ (บีบอัด 67544) ที่ 0x00010000 ใน 1.9 วินาที (มีผล 567.5 kbit/s)… ยืนยันแฮชของข้อมูลแล้ว กำลังออกจาก… รีเซ็ตฮาร์ดผ่านพิน RTS…
หากไม่มีปัญหาเมื่อสิ้นสุดกระบวนการ flash โมดูลจะถูกรีเซ็ตและแอปพลิเคชัน “hello_world” จะทำงาน
จอภาพ IDF
หากต้องการตรวจสอบว่า “hello_world” กำลังทำงานอยู่หรือไม่ ให้พิมพ์ idf.py -p PORT monitor (อย่าลืมแทนที่ PORT ด้วยชื่อพอร์ตซีเรียลของคุณ)
คำสั่งนี้เปิดแอปพลิเคชันมอนิเตอร์:
$ idf.py -p /dev/ttyUSB0 monitor กำลังรัน idf_monitor ในไดเร็กทอรี […]/esp/hello_world/build กำลังดำเนินการ “python […]/esp-idf/tools/idf_monitor.py -b 115200 […]/esp/hello_world/ build/hello-world.elf”… — idf_monitor บน /dev/ttyUSB0 115200 — — ออก: Ctrl+] | เมนู: Ctrl+T | วิธีใช้: Ctrl+T ตามด้วย Ctrl+H — ets 8 มิ.ย. 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) ets 8 มิ.ย. 2016 00:22:57 …
หลังจากเริ่มต้นและบันทึกการวินิจฉัยเลื่อนขึ้น คุณจะเห็น “สวัสดีชาวโลก!” พิมพ์โดยแอปพลิเคชัน
… สวัสดีโลก! กำลังเริ่มใหม่ใน 10 วินาที… I (211) cpu_start: กำลังเริ่มตัวกำหนดเวลาบน APP CPU กำลังเริ่มใหม่ใน 9 วินาที… กำลังเริ่มใหม่ใน 8 วินาที… กำลังเริ่มใหม่ใน 7 วินาที…
หากต้องการออกจากจอภาพ IDF ให้ใช้ปุ่มลัด Ctrl+]
หากการตรวจสอบ IDF ล้มเหลวหลังจากอัปโหลดไม่นาน หรือหากแทนที่จะเป็นข้อความด้านบน คุณเห็นขยะแบบสุ่มคล้ายกับที่แสดงด้านล่าง แสดงว่าบอร์ดของคุณน่าจะใช้คริสตัล 26MHz การออกแบบบอร์ดพัฒนาส่วนใหญ่ใช้ 40MHz ดังนั้น ESP-IDF จึงใช้ความถี่นี้เป็นค่าเริ่มต้น
Exampเลส
สำหรับ ESP-IDF เช่นampเลส โปรดไปที่ นักพัฒนา ESP-IDF GitHub
ทีม Espressif IoT
www.espressif.com
ประกาศข้อจำกัดความรับผิดชอบและลิขสิทธิ์
ข้อมูลในเอกสารนี้ รวมถึง URL ข้อมูลอ้างอิงอาจเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบ
เอกสารนี้จัดทำขึ้นตามสภาพที่เป็นอยู่โดยไม่มีการรับประกันใดๆ ทั้งสิ้น รวมถึงการรับประกันความสามารถในการขาย ไม่ละเมิด และความเหมาะสมสำหรับวัตถุประสงค์ใดๆ โดยเฉพาะ
หรือการรับประกันอื่นใดที่เกิดขึ้นจากข้อเสนอ ข้อกำหนด หรือข้อกำหนดใดๆAMPเลอ.
ความรับผิดทั้งหมด รวมถึงความรับผิดสำหรับการละเมิดสิทธิ์ในทรัพย์สินที่เกี่ยวข้องกับการใช้ข้อมูลในเอกสารนี้ถือเป็นการปฏิเสธ ไม่มีการอนุญาตโดยชัดแจ้งหรือโดยนัย โดยการปิดปากหรืออื่น ๆ ต่อสิทธิ์ในทรัพย์สินทางปัญญาใด ๆ ในที่นี้
โลโก้สมาชิก Wi-Fi Alliance เป็นเครื่องหมายการค้าของ Wi-Fi Alliance โลโก้ Bluetooth เป็นเครื่องหมายการค้าจดทะเบียนของ Bluetooth SIG ชื่อทางการค้า เครื่องหมายการค้า และเครื่องหมายการค้าจดทะเบียนทั้งหมดที่กล่าวถึงในเอกสารนี้เป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง และขอรับทราบในที่นี้
ลิขสิทธิ์ © 2019 Espressif Inc. สงวนลิขสิทธิ์
เอกสาร / แหล่งข้อมูล
![]() |
ESPRESSIF ESP32-WATG-32D โมดูล MCU WiFi-BT-BLE ที่กำหนดเอง [พีดีเอฟ] คู่มือการใช้งาน ESP32WATG32D, 2AC7Z-ESP32WATG32D, 2AC7ZESP32WATG32D, ESP32-WATG-32D, โมดูล MCU WiFi-BT-BLE ที่กำหนดเอง, โมดูล MCU WiFi-BT-BLE, โมดูล MCU, ESP32-WATG-32D, โมดูล |