ESP32
Matter -enabled example functions as a light bulb device type, with on/off capabilities. นี้
การตั้งค่าเบื้องต้น
- โคลน Espressif ESP-IDF และตรวจสอบแท็ก v4.4.2
mkdir ${HOME}/tools
cd ${HOME}/tools
git clone https://github.com/espressif/esp-idf.git
cd esp-idf
git checkout v4.4.2
git submodule update --init
export IDF_PATH=${HOME}/tools/esp-idf
./install.sh
- โคลนและเริ่มต้นที่เก็บ
connectedhomeip
:git clone https://github.com/project-chip/connectedhomeip.git
cd connectedhomeip
git fetch origin v1.0-branch
git checkout FETCH_HEAD
git submodule update --init --recursive
source ./scripts/activate.sh
- เริ่มต้นตัวอย่าง
สําหรับผู้ใช้ MacOS หากพบข้อผิดพลาดเกี่ยวกับเวอร์ชัน Bash ในขั้นตอนนี้ อาจเป็นเพราะ Bash ที่ติดตั้งมาล่วงหน้าเก่าเกินไป คุณแก้ไขปัญหานี้ได้โดยเปลี่ยนเป็น zsh:cd examples/all-clusters-app/esp32
source ${IDF_PATH}/export.sh
chsh -s /bin/zsh
- หากต้องการกําหนดเป้าหมาย IDF ให้เรียกใช้
set-target
ตามกระดานของคุณidf.py set-target esp32
- อัปเดตการตั้งค่าตัวอย่าง
idf.py menuconfig
- ตั้งค่าเดโม -> ประเภทอุปกรณ์ลงในกระดาน
สร้างรูปภาพและแฟลชบอร์ด
- สร้างตัวอย่าง
Matter:
idf.py build
- เชื่อมต่ออุปกรณ์ผ่าน USB จากนั้นเรียกใช้คําสั่งต่อไปนี้เพื่อแฟลชแอปพลิเคชันสาธิตลงในอุปกรณ์
หากจําเป็น ให้แทนที่idf.py -p /dev/ttyUSB0 flash
/dev/ttyUSB0
(Linux) ด้วยชื่ออุปกรณ์ USB ที่ถูกต้องสําหรับระบบ (เช่น/dev/tty.SLAB_USBtoUART
หรือ/dev/tty.usbserial
ใน MacOS) คอนโซลอนุกรมของอุปกรณ์พร้อมให้ใช้งานเป็นอุปกรณ์ USB tty ในโฮสต์ Linux ของคุณ ซึ่งโดยทั่วไปมีชื่อว่า
/dev/ttyUSB0
แต่อาจจะ/dev/ttyUSB1
ขึ้นไปหากคุณเสียบอุปกรณ์ซีเรียล USB อื่นๆ ไว้อยู่แล้ว ชุด WSP32 WROVER จะแสดงอุปกรณ์ USB tty 2 ตัว และจะเป็นชุดที่ 2 ที่แสดงบันทึกของอุปกรณ์หากต้องการเชื่อมต่อกับเครื่องชําระเงินแบบอนุกรม ให้ใช้เครื่องมืออย่าง
screen
,minicom
หรือโปรแกรมเทอร์มินัลแบบอนุกรมที่ต้องการ เช่น หากอุปกรณ์อยู่ที่/dev/ttyUSB0
ให้ทําดังนี้screen /dev/ttyUSB0 115200
การกําหนดค่าเครือข่ายจะยังคงอยู่ในอุปกรณ์เมื่อค่าคอมมิชชันเสร็จสมบูรณ์ หากต้องการลบ เพียงเรียกใช้
idf.py -p /dev/ttyUSB0 erase-flash
ขั้นตอนถัดไป
เมื่อสร้างตัวอย่าง Matter เรียบร้อยแล้ว โปรดสร้างโปรเจ็กต์นักพัฒนาซอฟต์แวร์