บทความนี้เป็นขั้นตอนการติดตั้ง ESP-IDF บนบอร์ด Raspberry Pi 3 หรือ 4 ที่ติดตั้ง Raspbian เป็นระบบปฏิบัติการ (หรือประยุกต์เข้ากับการติดตั้งบนระบบปฏิบัติการอื่น ๆ ของเครื่องที่ใช้หน่วยประมวลผลของ AMD/Intel ได้) เพื่อใช้เป็นตัวแปลภาษา C++ สำหรับพัฒนาโปรแกรมสำหรับบอร์ด ESP32 ซึ่งเรียกกว่า bare metal หรือใช้ในการคอมไพล์ MicroPython โดยเฉพาะตัว mpy-cross ซึ่งเป็นตัวแปลภาษาไพธอน (.py) ให้เป็นไบต์โค้ด (.mpy) ซึ่งทำให้สามารถปกป้องรหัสที่เขียน (Source code) ช่วยให้การประมวลผลคำสั่งไวขึ้น (เนื่องจากถูกแปลมาก่อนแล้ว) และขนาดของไฟล์มีขนาดเล็กลง
อุปกรณ์
- บอร์ด Raspberry Pi 3 หรือ Raspberry Pi 4
- บอร์ด ESP32
ขั้นตอน
- อัพเดตระบบด้วยคำสั่ง
sudo apt update - กรณีที่มีการอัพเกรดให้สั่งดำเนินการอัพเกรดด้วยคำสั่งต่อไปนี้
sudo apt full-upgrade -y - ติดตั้ง python3 และ pip3
sudo apt install python3 python3-pip -y - เปลี่ยนตัวแปลภาษาไพทอนให้เป็น Python3
sudo update-alternatives –install /usr/bin/python python /usr/bin/python3 1 - เปลี่ยนตัวจัดการแพ็คเกจจาก pip เป็น pip3
sudo update-alternatives –install /usr/bin/pip pip /usr/bin/pip3 1 - ติดตั้งแพ็คเกจที่ต้องใช้งาน
sudo apt install -y \
git wget flex bison \
gperf python-setuptools \
cmake ninja-build ccache \
libffi-dev libssl-dev dfu-util - โคลนโค้ดจาก github
cd ~
git clone https://github.com/espressif/esp-idf.git esp-idf
cd esp-idf
git submodule update –init –recursive - ดำเนินการติดตั้ง
cd esp-idf
. ./install.sh - ติดตั้งสภาพแวดล้อม
. ./export.sh - กำหนดให้ติดตั้งสภาพแวดล้อมสำหรับ ESP-IDF ทุกครั้งที่เข้า terminal ด้วยการเพิ่มบรรทัดต่อไปนี้ใน .bashrc ทำให้ทุกครั้งที่เข้า Terminal จะเรียกให้ระบบรู้จักกับ ESP-IDf ดังภาพที่ 1
. “$HOME/esp-idf/export.sh” - กำหนดให้ account ของเราสามารถเข้าถึงพอร์ตสื่อสารที่ใช้ในการเชื่อมต่อกับบอร์ด ESP32/ESP32-S2 หลังจากสั่งงานเสร็จในทำการรีบูต Raspberry Pi อีกครั้ง
sudo usermod -a -G dialout,tty $USER
สรุป
จากบทความนี้ผู้อ่านสามารถติดตั้งเครื่องมือพัฒนาโปรแกรมภาษา C++ สำหรับ ESP32 บนระบบปฏิบัติการ Raspbian ของบอร์ด Raspberry Pi โดยสามารถติดตั้งและแปล MicroPython ได้ด้วยการดำเนินการตามบทความนี้ นอกจากนี้ สามารถอ่านพื้นฐานเกี่ยวกภาษา C++ เรื่อง data types, Operators, Expression, Condition และ Repetition ซึ่งเป็นรูปแบบการเขียนโปรแกรมพื้นฐานเพิ่มเติมได้จากบทความก่อนหน้านี้ สุดท้ายขอให้สนุกกับการเขียนโปรแกรมครับ
อ้างอิง
(C) 2021, โดย อ.ดนัย เจษฎาฐิติกุล/อ.จารุต บุศราทิจ
ปรับปรุงเมื่อ 2021-06-11, 2021-06-20, 2021-06-28, 2021-09-27