การใช้งาน ESP32 ด้วย ESP-IDF

การใช้งาน ESP32 ด้วย ESP-IDF และ Eclipse IDE บน Windows

ESP-IDF เป็นชุดคอมไพล์เลอร์ ESP32 ที่พัฒนาโดยบริษัท Espressif ผู้ผลิตและออกแบบ ESP32 การพัฒนาโค้ด ESP32  สำหรับ Arduino นั้น จะทำควบคู่ไปกับการพัฒนา ESP-IDF โดยที่ ESP-IDF จะเป็นแกนหลัก โดยเมื่อมีการเพิ่มฟีเจอร์ใหม่ๆ ให้ ESP-IDF แล้ว จึงจะมีการเพิ่มใน Arduino IDE โดยใช้  ESP-IDF เป็นตัวคอมไพล์โค๊ด  แต่เพิ่มเติมการเขียนโปรแกรมแบบ Arduino เข้าไป ซึ่งหมายความว่า ต้องรอคน เขียน ไลบรารี่ ขึ้นมาก่อน  Arduino IDE ถึงจะทำงานได้

ขั้นตอนการทํางาน

1. ติดตั้ง Java 8 หรือ เวอร์ชั่นที่สูงกว่า

Java Platform (จาว่าแพ็ตฟอร์ม) คือ การพัฒนาโปรแกรมภาษาจาว่าบนเครื่อง Platform (แพ็ตฟอร์ม) ต่างๆประกอบไปด้วย  Java Platform, Standard Edition (J2SE) 


https://www.oracle.com/java/technologies/javase-jdk14-downloads.html


ติดตั้ง Java 8 การใช้งาน ESP32 ด้วย ESP-IDF

ติดตั้ง Java 8 การใช้งาน ESP32 ด้วย ESP-IDF

2. ติดตั้ง Python 3.5 หรือ เวอร์ชั่นที่สูงกว่า

Python คือชื่อภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่ง ซึ่งถูกพัฒนาขึ้นมาโดยไม่ยึดติดกับแพลตฟอร์ม กล่าวคือสามารถรันภาษา Python ได้ทั้งบนระบบ Unix, Linux , Windows หรือแม้แต่ระบบ FreeBSD


ในตัวอย่างติดตั้งเวอร์ชั่น 3.7.4 โดยคลิกที่ [ Download Windows x86 executable installer]

Python 3.7 การใช้งาน ESP32 ด้วย ESP-IDF
Python 3.7 การใช้งาน ESP32 ด้วย ESP-IDF



หลังจากนั้นจะได้ไฟล์ชื่อ python-3.X.X.exe ในคอมพิวเตอร์ของคุณ ให้ดับเบิ้ลคลิกที่ไฟล์เพื่อเปิด

ไฟล์ชื่อ python-3.X.X.exe การใช้งาน ESP32 ด้วย ESP-IDF

 เลือก “Add Python 3.X to PATH“

Add Python 3.X to PATH การใช้งาน ESP32 ด้วย ESP-IDF

คลิกที่ “Install Now”

Python 3 การใช้งาน ESP32 ด้วย ESP-IDF

รอจนกระทั่งติดตั้งเสร็จ แล้วคลิก Close

Python 3 การใช้งาน ESP32 ด้วย ESP-IDF
Python 3 การใช้งาน ESP32 ด้วย ESP-IDF

3. ติดตั้ง Git บน Windows

Git คือ Version Control แบบ Distributed ตัวหนึ่ง เป็นระบบที่ใช้จัดเก็บและควบคุมการเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์ชนิดใดก็ได้ ไม่ว่าจะเป็น Text File หรือ Binary File

ติดตั้ง Git บน Windows
ติดตั้ง Git บน Windows


4. ติดตั้ง ESP-IDF 3.3.2

ESPIDF เป็นชุดคอมไพล์เลอร์ ESP32 ที่พัฒนาโดยบริษัท Espressif ผู้ที่ออกแบบ SOC ตัวนี้ขึ้นมา โดยในตอนแรกๆ เลยทาง Espressif เปิดตัว ESPIDF ออกมาก่อน ซึ่งใน Arduino IDE และ Platform IO เป็นตัวที่ตามมาที่หลัง

ติดตั้ง ESP-IDF 3.3.2

คลายซิป แล้ว เลือกไปไว้ตามที่ต้องการ


5. ติดตั้ง Eclipse Installer 2020‑03 R หรือ เวอร์ชั่นที่สูงกว่า

Eclipse คือโปรแกรมที่ใช้สำหรับพัฒนาภาษาได้หลายภาษา ซึ่งโปรแกรม Eclipse เป็นโปรแกรมหนึ่งที่ใช้ในการพัฒนา Application ได้อย่างมีประสิทธิภาพ และเนื่องจาก Eclipse เป็นซอฟต์แวร์ Open Source ที่พัฒนาขึ้นเพื่อใช้โดยนักพัฒนาเอง ทำให้ความก้าวหน้าในการพัฒนาของ Eclipse เป็นไปอย่างต่อเนื่องและรวดเร็ว


ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF
ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF
ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF

ติดตั้ง และ เลือกเป็น Eclipse IDE for C/C++ Developers

ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF
ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF
ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF
ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF
ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF
ติดตั้ง Eclipse การใช้งาน ESP32 ด้วย ESP-IDF


6. ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP-IDF

ไปที่ Help -> Install New Software

ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP-IDF


ที่ Work with: ป้อน https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/ -> Add

ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP32 ESP-IDF


Neme: ตั้งชื่อเป็น Espressif IDF Plugins for Eclipse -> Add

ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP32 ESP-IDF


เลือกทั้งหมด -> Next

ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP32 ESP-IDF

Next >

ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP32 ESP-IDF


เลือก I accept the terms of the license agreement -> Finish

ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP32 ESP-IDF
ปรับแต่ง ให้ Eclipse IDE ใช้งานกับ ESP32 ESP-IDF


ไปที่ Help > Espressif IDF Tools Manager > Install Tools

Espressif IDF Tools Manager


ESP-IDF Directory : เลือกไปที่โฟลเดอร์ที่ติดตั้ง ESP-IDF (ติดตั้งในขั้นตอนที่ 4)

Git Executable Locations : เลือกไปที่ไฟล์ git.exe (ติดตั้งในขั้นตอนที่ 3)

Choose Python version : ซึ่งในตัวอย่างจะขึ้นให้โดยอัตโนมัติ (ติดตั้งในขั้นตอนที่ 2)

คลิก Install Tools >

Espressif IDF Tools Manager

รอจนกระทั่งติดตั้งเสร็จ

Eclipse IDE ใช้งานกับ ESP32 ESP-IDF


ไปที่ Window > Perspective > Reset Perspective

ไปที่ Window > Perspective > Reset Perspective
Reset Perspective


ตรวจสอบที่ File > New >  จะพบ Espressif IDF Project เพิ่มเข้ามา แสดงว่า  Eclipse IDE พร้อมใช้งานกับ ESP-IDF แล้ว

Eclipse IDE พร้อมใช้งานกับ ESP-IDF แล้ว



7. ตรวจสอบการเชื่อมต่อ ระหว่างคอมพิวเตอร์ กับ ESP32

เชื่อมต่อสาย USB ระหว่าง คอมพิวเตอร์ กับ ESP32

เชื่อมต่อสาย USB ระหว่าง คอมพิวเตอร์ กับ ESP32



ตรวจสอบการติดตั้งไดร์เวอร์ ของ ชิปแปลง USB to UART เบอร์ CP2102 โดย คลิกขวา Computet -> Properties -> Device Manager

ที่ Ports (COM & LPT) จะพบ ไดร์เวอร์ ของชิป CP2102

ในตัวอย่างเป็น Silicon Labs CP210x USB to UART Bridge (COM20)

ที่ Ports (COM & LPT) จะพบ ไดร์เวอร์ ของชิป CP2102



8. โปรแกรมแรกกับ ESP32 ESP-IDF

ไปที่ File > New > Espressif IDF Project

โปรแกรมแรกกับ ESP32 ESP-IDF


ตัวอย่างตั้งชื่อเป็น hello_world_esp32 > Next

โปรแกรมแรกกับ ESP32 ESP-IDF


เลือก Create a project using one of the templates > hello_world > Finish

โปรแกรมแรกกับ ESP32 ESP-IDF


ปิดหน้า Welcome ลงไป

โปรแกรมแรกกับ ESP32 ESP-IDF


คลิก Dropdown ที่ Local > New Launch Target

โปรแกรมแรกกับ ESP32 ESP-IDF


เลือก ESP Target > Next

การใช้งาน ESP32 ด้วย ESP-IDF และ Eclipse IDE

์Name : esp32

IDF Target : esp32

Serial Port : COM20 (แต่ละเครื่องไม่เหมือนกัน ให้เลือกข้อมูลจาก ขั้นตอนที่ 7 )

คลิก Finish

การใช้งาน ESP32 ด้วย ESP-IDF และ Eclipse IDE

เลือกโปรเจค hello_world_esp32 แล้วคลิก รูปค้อน เพื่อ Build โปรแกรม

โปรเจค hello_world_esp32

รอจนกระทั่ง  ขึ้น Build complete (0 errors, 0 warnings):

รอจนกระทั่ง  ขึ้น Build complete


คลิก Launch เพื่ออัพโหลดโค้ดไปยัง ESP32

คลิก Launch เพื่ออัพโหลดโค้ดไปยัง ESP32


รอจนกระทั่ง  ขึ้น Done

รอจนกระทั่ง  ขึ้น Done


คลิก Open a Terminal

คลิก Open a Terminal


เลือก Serial Terminal > OK

เลือก Serial Terminal > OK


ที่ Terminal จะนับถอยหลัง จาก 10 – 0 แล้วจะแสดงข้อความ Hello world! แสดงว่าโปรแกรมแรกของคุณสำเร็จแล้ว

การใช้งาน ESP32 ด้วย ESP-IDF และ Eclipse IDE

credit :  https://github.com/espressif/idf-eclipse-plugin/blob/master/README.md