วิธีตั้งค่าเพื่อใช้ ESP32 บน ESP RainMaker

หลักจาก Espressif เปิดตัวแพล็ตฟอร์ม ESP RainMaker มาให้เราสามารถที่จะสร้างระบบ IoT แบบง่าย ๆ ไปในช่วงสองสัปดาห์ที่ผ่านมานั้น ก็มีเสียงบ่นกันจากบรรดาชาวเมกเกอร์ว่าทำไมมันรองรับแต่ ESP32-S2 ล่ะ ทำไมใช้งาน ESP32 ตัวเก่าไม่ได้ 

ซึ่งสาเหตุหลักๆเลยคือขั้นตอนของการ claiming ที่จะต้องใช้ RSA2048 และ HMAC512 ซึ่งมีอยู่บน ESP32-S2 เท่านั้น ก็เลยต้องอดใช้งานบน  ESP32 กันไป แต่ในช่วงเที่ยงคืนที่ผ่านมาก็มีอีเมล์จากทาง Espressif ส่งเข้ามาเพื่อแจ้งว่า ตอนนี้เราจะสามารถทดลองใช้งาน ESP32 บน ESP RainMaker กันได้แล้วโดยมีขั้นตอนเพิ่มเติมขึ้นมานิดเดียวเท่านั้นครับ

ผมเลยถือโอกาสเรียบเรียงวิธีทำมาให้เพื่อนได้ทดลองกัน ซึ่งถ้าใครยังไมได้รู้จักและติดตั้ง ESP-RainMaker ก็ไปลองอ่านบทความได้   [ ที่นี่ ]

ขั้นตอนการทำทั้งหมด

สิ่งที่ Espressif ทำเพื่อให้เราใช้งาน ESP32 บน ESP RainMaker ได้ ก็คือการย้ายกระบวนการ Claiming ซึ่งติดข้อจำกัดของฮาร์ดแวร์มาทำบนเครื่องพีซีของเราผ่านทาง CLI ของ ESP RainMaker Agent SDK ดังนี้

1) เปิดหน้าต่าง Terminal ขึ้นมาเพื่อเข้าไปยัง esp-rainmaker/cli

2) ทำการ login เข้าไปยัง cloud ของ ESP RainMaker ด้วยคำสั่ง

./rainmaker.py login แล้วจะมีการเปิดหน้าเว็บเบราเซอร์ให้ทำการล็อคอิน

แสดงการเลือก account ในการล็อคอิน

3) หลังจากล็อคอินเรียบร้อยนั้น ขั้นตอนต่อไปคือการ Claiming ด้วยคำสั่ง

./rainmaker.py claim <PORT> 

ซึ่งในขั้นตอนนี้เราต้องต่อบอร์ดให้เรียบร้อยเนื่องจากจะมีการแฟลชไฟล์ที่เป็น certificate ที่ได้จากการ Claiming ลงไปเก็บไว้ยังบอร์ด ESP32 ของเรา 

ข้อควรระวัง ตอ้งใช้ Python3.7 ขึ้นไปใครใช้ Python3.5 อยู้ต้องอัพเกรดก่อน

4) ทำการตั้งค่า target ของ idf ใหม่จาก default เป็น ESP32-S2 ให้เป็น ESP32 โดยต้องเข้าไปยังตำแหน่งของโปรเจคที่เราจะทำการ flash ก่อน เช่นไปยัง esp-rainmaker/examples/switch แล้วพิมพ์

idf.py set-target esp32

5) จากนั้นก็สามารถสั่ง build และ flash ได้เหมือนเดิม โดยสังเกตุว่าตอนที่ build นั้นค่าของ chip target จะเปลี่ยนไปเป็น ESP32 เรียบร้อย

6) หลังจากนั้นเมื่อเราสั่ง idf.py monitor เพื่อเริ่มกระบวนการ WiFi provisioning
ได้เหมือนกับ ESP32-S2 ทุกประการ

การใช้งานในส่วนของ WiFi Provisioning เหมือนกับ ESP32-S2 ทุกประการ

สรุป

จากการทดลองใช้งานก็พบว่าน่าจะเป็นการขยายกลุ่มผู้ใช้หน้าเก่า ๆ ที่ยังไม่มีบอร์ดที่ใช้ ESP32-S2 ให้ได้เข้ามาทดลองใช้งานแพล็ตฟอร์ม ESP RainMaker กันได้เพื่อจะได้มีฟีดแบ็คไปใช้ในการปรับปรุงระบบให้ดีกว่านี้ 

โดยข้อจำกัดที่มีอยู่ตอนนี้คือ 1 account จะผูกกับบอร์ดได้เพียง 5 บอร์ดเท่านั้น อันนี้ไม่แน่ใจว่าถ้าเป็น ESP32-S2 จะติดข้อจำกัดนี้เหมือนกันรึเปล่านะครับ แต่อย่างไรก็ดีก็อยากให้มาทดลองใช้งาน ESP RainMaker กันครับ อย่างน้อยก็ได้เห็นวิธีการทั้งหมดในการสร้าง UX แบบรายรื่นให้กับผู้ใช้เพื่อเป็นแนวทางให้กับการพัฒนาระบบของเราขึ้นมาเองว่าควรจะไม่ด้อยไปกว่านี้ สวัสดีครับ

Leave a Comment