ESP RainMaker คืออะไร
สวัสดีครับวันนี้ทาง Maker[LAB] ของทางบริษัทเมกเกอร์ เอเซีย จะมาแนะนำการทดลองใช้งาน ESP RainMaker โดยเราจะมาเริ่มจากการทำความเข้าใจแนวคิดในการพัฒนากันก่อนเป็นอันดับแรก
ESP Rainmaker นั้นเป็นแพลตฟอร์มแบบครบวงจรจากทางบริษัท Espressif ที่ได้พัฒนาขึ้นมา(ขณะนี้ยังอยู่ในสถานะเบต้า) ให้ชาวเมกเกอร์ได้ทดลองใช้งานเพื่อให้สามารถสร้างงาน IoT ได้รวดเร็วขึ้นด้วย ESP32-S2 SoC ของ Espressif โดยไม่ต้องยุ่งยากในการจัดการโครงสร้างพื้นฐานใด ๆ โดยมี SDK ในการพัฒนาเฟิร์มแวร์ ,ตัวแอพลิเคชั่นบนสมาร์ทโฟน , บริการบนคลาวด์และยูทิลิตี้การโฮสต์เพื่อลดความซับซ้อนในการพัฒนา โดยปัจจุบันบอร์ดทดลองจะมีให้เลือกหาซื้อได้คือ ESP32-S2-Saola-1 และ Gravitech cucumber
ภาพรวมการทำงานของระบบ

ESP RainMaker ประกอบด้วยการทำงานหลัก 3. ส่วนคือ
Node
ส่วนตัวฮาร์ดแวร์ที่ติดตั้งเฟิร์มแวร์ที่พัฒนาขึ้นบน SDK ของ ESP RainMaker โดยเราจะมองฮาร์ดแวร์นี้เป็นโหนด 1 โหนดซึ่งในโหนดนั้นจะมี node id และข้อมูลประจำตัวที่ได้มาจากกระบวนการอ้างสิทธิ์ ทั้งนี้ผู้ใช้สามารถที่จะตั้งชื่อให้กับโหนดด้วยตัวเองได้ และในโหนด 1 โหนดนั้นสามารถที่จะมีอุปกรณ์เสมือนหลาย ๆ ตัวทำงานอยู่ภายในตัวได้

เราสามารถที่จะควบคุมและตรวจสอบค่าของพารามิเตอร์ของอุปกรณ์ได้ เช่น สถานะการปิด/ปิดไฟ , ค่าความสว่าง , ค่าอุณหภูมิ เป็นต้น
โดย ESP RainMaker นั้นจะในส่วนของเฟิร์มแวร์ที่พัฒนาจะพัฒนาภายใต้เฟรมเวิร์ค ES-IDE โดยจะมีส่วนของ ESP RainMaker agent ที่ทำหน้าที่ให้บริการในส่วนของ API เพื่อให้การพัฒนาเป็นไปตามข้อกำหนดของ ESP Rainmaker เช่นการทำ WiFi Provisioning , MQTT client ที่จะทำการเชื่อมต่อไปยังคลาวด์ของ RainMaker

คลาวด์
2) Client – Cloud communication การสื่อสารทั้งหมดระหว่างไคลเอนต์ (สมาร์ทโฟนแอพลิเคชั่น CLI ฯลฯ ) และ ESP Cloud RainMaker นั้นเกิดขึ้นผ่าน HTTP REST API ซึ่งแบ่งเป็นประเภทได้ดังนี้
– การจัดการผู้ใช้ ลงทะเบียน, ล็อคอิน , เปลี่ยนรหัสผ่าน และลืมรหัสผ่าน
– การจัดการโหนด เพิ่มผู้ใช้ , ตรวจสอบสถานะผู้ใช้ , รายการของโหนดที่แมปแล้ว , รับ / ตั้งค่าพารามิเตอร์ของโหนด , ค่าคอนฟิคของโหนด และสถานะการเชื่อมต่อของโหนด
– อื่น ๆ อ่านค่ารายละเอียดของ MQTT Broker , ทำกระบวนการอ้างสิทธิ์ของโหนด
สมาร์ทโฟนแอพลิเคชั่น
แอพลิเคชั่นในสมาร์ทโฟนนั้นจะทำหน้าที่ 3 ส่วนหลักคือ
– WiFi provisioning จัดการการเชื่อมต่อเครือข่ายผ่าน WiFi ของโหนดที่ต้องการตั้งค่า
– ทำการแมปค่าระหว่างผู้ใช้และโหนด
– ควบคุม/ตรวจสอบค่าพารามิเตอร์จากโหนดที่ทำการแมปแล้ว โดยทำเมื่อทำการส่งคำร้องขอไปยังคลาวด์แล้วจะได้ค่าพารามิเตอร์จากโหนดกลับมา แอพพลิเคชั่นจะทำการวาดคอมโพเนนต์หน้าจอให้สอดคล้องกับค่าที่ได้รับกลับมา ดังตัวอย่างด้านล่าง




สรุปใน 8 บรรทัด
ESP RainMaker เป็นแพลตฟอร์มแบบครบวงจรที่ทำให้เราสามารถพัฒนา IoT โซลูชั่นได้อย่างรวดเร็ว โดยเพื่อให้ง่ายต่อความเข้าใจเราจะแบ่งส่วนของการทำงานเป็น 3 ส่วนคือ
– Node ตอนนี้ต้องใช้ hardware เป็น ESP32-S2 เนื่องจากรองรับการเข้ารหัสที่มีมากกว่า ESP32 พัฒนาด้วย RainMaker Agent SDK ที่ทำงานบน ESP-IDF อีกทีโดยเราสามารถเลือก expose parameter ที่ต้องควบคุม/ตรวจสอบได้ และ sync ขึ้นคลาวด์ ผ่าน MQTT
– Cloud ทำหน้าที่เป็นตัวกลางระหว่าง Node และ Client โดยผู้ใช้ไม่ต้องเข้าไปตั้งค่าใดๆ
– Client มีทั้งเป็นสมาร์ทโฟนแอพ , CLI และ Python library ถ้าเป็นแอพจัดการเรื่องจะทำการดึงค่าต่างๆผ่าน REST API และแสดงผล UI เปลี่ยนไปตามพารามิเตอร์ที่ดึงมาโดยอัตโนมัติ และเรื่องการตั้งค่า WiFi ของโหนดและการแมปผู้ใช้เข้ากับโหนดที่ต้องการ
เนื่องจากเนื้อหาค่อนข้างเยอะ เพื่อความสะดวกของผู้อ่านเลยจะขอแบ่งเป็น 3 ส่วนคือ
1) บทนำ
2) การติดตั้ง ESP-IDF และ RainMaker Agent
3) ทดลองเขียนโค้ดและใช้งานแอพ ESP RainMaker
Pingback: มาทดลองติดตั้งและใช้งาน ESP RainMaker บน ESP32-S2 กันเถอะ #ตอนที่ 2 ติดตั้ง ESP-IDF และ ESP RainMaker Agent SDK - Maker Asia
Pingback: มาทดลองติดตั้งและใช้งาน ESP RainMaker บน ESP32-S2 กันเถอะ #ตอนที่ 3 ทดลองสร้าง Node และใช้งาน Mobile App - Maker Asia
Pingback: วิธีตั้งค่าเพื่อใช้ ESP32 บน ESP RainMaker - Maker Asia