เนื่องจากทีมสอนมีแนวความคิดว่า
น่าจะลองเปลี่ยนโจทย์ของการทำ workshop กันหน่อย
ซึ่งจัดที่ CAMT (College of Arts , Media and Technology)
หนึ่งในนั้นคือ
ถ้านำ IoT เข้ามาทำใน workshop จะเป็นอย่างไรกันบ้าง ?
เมื่อตกลงกันได้แบบคร่าว ๆ ก็เลยลงมือทำกันเลย
จึงสรุปการเตรียมการไว้นิดหน่อย
เริ่มด้วยการมาเรียนการเขียนโปรแกรมและติดต่อกับพวก IoT board กัน
ซึ่งก่อนเริ่มงานประมาณ 1 สัปดาห์ ได้มาเรียนกับ Nat จาก CMMC (Chiang Mai Maker Club) และได้ board ตัวใหม่ที่ทาง CMMC ทำขึ้นมาเอง ชื่อว่า CMMC Latte เพื่อให้ง่ายต่อการเรียนรู้ สำหรับคนเริ่มต้นใหม่ ๆ แบบพวกผม ประกอบไปด้วยสิ่งที่ต้องการเลย เช่น- เป็น WIFI board ที่ใช้ชิบ ESP8266
- USB เพื่อให้ง่ายต่อการ flash program
- มี Sensor สำหรับวัดค่าอุณภูมิ ความชื้น และความดันอากาศให้ (Bosch BME280)
เมื่อมี board หรือ hardware แล้ว ก็มาเขียนโปรแกรมเพื่อติดต่อกับ board กัน
ในส่วนนี้ถือว่ายากและซับซ้อนหน่อย ทั้งการติดตั้ง IDE สำหรับเขียนโปรแกรมนั่นก็คือ Arduino IDE ยังไม่พอนะ ต้องลง library อีกเพียบ แนะนำให้ลงอ่านเพิ่มเติมได้ที่ ติดตั้ง Arduino IDE กับ ESP8266 และ โปรแกรมตัวอย่าง Library โดยในขั้นตอนนี้เองที่ต้องเดินทางมายังเชียงใหม่ เพื่อให้ทาง Nat ช่วยสอน และ แนะนำการใช้งานและพัฒนาสำหรับการใช้งานเบื้องต้น เป็นการเปิดหูเปิดตาทางด้าน hardware และ IoT มากมาย ภาษาที่ใช้งานก็เป็นภาษา C นั่นเอง แต่งานก็ง่ายขึ้นมาอีก เนื่องจากทาง Nat ได้เขียนโปรแกรมตัวอย่าง สำหรับการใช้งาน board ให้ไว้แล้ว ทั้งการดึงข้อมูลจาก sessor ทั้งการติดต่อผ่าน WIFI เพื่อให้สามารถส่งข้อมูลเข้าหรือออกจาก board ได้ง่ายขึ้น ตัวอย่างของ source code [gist id="59450956c0afc1037c4a4a11142276ca" file="hello.c"]ปัญหาต่อมาคือ จะส่งข้อมูลจาก board ออกไปที่ไหนละ ?
จากการสอนของ Nat นั้น ก็ได้อธิบายว่า ใช้แนวคิด Publish/Subscribe model แสดงดังรูป คำอธิบายง่าย ๆ- Publisher คือ ผู้สร้างข้อมูลนั่นคือ Sensor จาก board นั่นเอง
- Subscriber คือ ผู้รับข้อมูลนั่นคือ client หรือผู้ใช้งาน หรือระบบงานที่เราจะพัฒนานั่นเอง
- ทั้ง Publisher และ Subscriber จะไม่ผูกมัดกัน (Loose Coupling) ดังนั้นจึงต้องผ่านระบบตรงกลาง เราจะเรียกว่า Broker
- Publisher จะทำการส่งข้อมูลมายัง Broker โดยใน code ที่เขียนไว้คือ จะส่งข้อมูลในรูปแบบ JSON ไปยัง Broker ทุก ๆ วินาที
- Subscriber จะทำการลงทะเบียนไปยัง Broker ดังนั้นเมื่อ Broker มีข้อมูลเปลี่ยนแปลง ทาง subscriber ก็จะได้รับข้อมูลนั้นทันที
ยังไม่จบ เนื่องจากมี 10 board จึงต้อง burn หรือ flash โปรแกรมกันหน่อย
แน่นอนว่า ก็นั่งทำกันสนุกเลย แสดงดังรูปเมื่อทุกอย่างพร้อม ก็เริ่มทำ Workshop กันสิครับ
เนื่องจาก workshop มีเวลาจำนวน 3 วัน ดังนั้นขอบเขตของงานต้องไม่มากหรือน้อยไป ประกอบไปด้วย- การดึงข้อมูลจาก Broker นั่นคือ การสร้าง subscriber นั่นเอง
- สามารถดึงข้อมูลผ่าน TCP หรือ WebSocker
- ทำการจัดเก็บข้อมูล
- ทำการ Visualize ข้อมูลในรูปแบบต่าง (Creative Visualization)