[TH] ESP-IDF Ep.1: ESP-IDF on Raspberry Pi

บทความนี้เป็นขั้นตอนการติดตั้ง ESP-IDF บนบอร์ด Raspberry Pi 3 หรือ 4 ที่ติดตั้ง Raspbian เป็นระบบปฏิบัติการ (หรือประยุกต์เข้ากับการติดตั้งบนระบบปฏิบัติการอื่น ๆ ของเครื่องที่ใช้หน่วยประมวลผลของ AMD/Intel ได้) เพื่อใช้เป็นตัวแปลภาษา C++ สำหรับพัฒนาโปรแกรมสำหรับบอร์ด ESP32 ซึ่งเรียกกว่า bare metal หรือใช้ในการคอมไพล์ MicroPython โดยเฉพาะตัว mpy-cross ซึ่งเป็นตัวแปลภาษาไพธอน (.py) ให้เป็นไบต์โค้ด (.mpy) ซึ่งทำให้สามารถปกป้องรหัสที่เขียน (Source code) ช่วยให้การประมวลผลคำสั่งไวขึ้น (เนื่องจากถูกแปลมาก่อนแล้ว) และขนาดของไฟล์มีขนาดเล็กลง

ภาพที่ 1 หน้าจอเมื่อเข้าใช้ Terminal

อุปกรณ์

  1. บอร์ด Raspberry Pi 3 หรือ Raspberry Pi 4
  2. บอร์ด ESP32

ขั้นตอน

  1. อัพเดตระบบด้วยคำสั่ง
    sudo apt update
  2. กรณีที่มีการอัพเกรดให้สั่งดำเนินการอัพเกรดด้วยคำสั่งต่อไปนี้
    sudo apt full-upgrade -y
  3. ติดตั้ง python3 และ pip3
    sudo apt install python3 python3-pip -y
  4. เปลี่ยนตัวแปลภาษาไพทอนให้เป็น Python3
    sudo update-alternatives –install /usr/bin/python python /usr/bin/python3 1
  5. เปลี่ยนตัวจัดการแพ็คเกจจาก pip เป็น pip3
    sudo update-alternatives –install /usr/bin/pip pip /usr/bin/pip3 1
  6. ติดตั้งแพ็คเกจที่ต้องใช้งาน
    sudo apt install -y \
    git wget flex bison \
    gperf python-setuptools \
    cmake ninja-build ccache \
    libffi-dev libssl-dev dfu-util
  7. โคลนโค้ดจาก github
    cd ~
    git clone https://github.com/espressif/esp-idf.git esp-idf
    cd esp-idf
    git submodule update –init –recursive
  8. ดำเนินการติดตั้ง
    cd esp-idf
    . ./install.sh
  9. ติดตั้งสภาพแวดล้อม
    . ./export.sh
  10. กำหนดให้ติดตั้งสภาพแวดล้อมสำหรับ ESP-IDF ทุกครั้งที่เข้า terminal ด้วยการเพิ่มบรรทัดต่อไปนี้ใน .bashrc ทำให้ทุกครั้งที่เข้า Terminal จะเรียกให้ระบบรู้จักกับ ESP-IDf ดังภาพที่ 1
    . “$HOME/esp-idf/export.sh”
  11. กำหนดให้ 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 ซึ่งเป็นรูปแบบการเขียนโปรแกรมพื้นฐานเพิ่มเติมได้จากบทความก่อนหน้านี้ สุดท้ายขอให้สนุกกับการเขียนโปรแกรมครับ

อ้างอิง

  1. ESP-IDF on Ubuntu 20.04.1
  2. Standard Setup of Toolchain for Linux
  3. Setup Linux Toolchain from Scratch

(C) 2021, โดย อ.ดนัย เจษฎาฐิติกุล/อ.จารุต บุศราทิจ
ปรับปรุงเมื่อ 2021-06-11, 2021-06-20, 2021-06-28, 2021-09-27