Lab 3

KKMC IoT


แอปพลิเคชั่น KKMC-IoT พัฒนาโดยคุณคมเดช เผือดผุด จากมหาวิทยาลัยขอนแก่นและชมรมขอนแก่นเมกเกอร์คลับ (KKMC) เป็น Android Application สำหรับสื่อสารไปยัง Microgear หรืออุปกรณ์อื่นๆ ที่เชื่อมต่อกับ NETPIE การสื่อสารทำได้ทั้งการรายงานผลสถานะ และการส่งคำสั่งควบคุม รวมถึงการตั้งเวลาเพื่อส่งคำสั่งควบคุม เบื้องหลังการสื่อสารของแอปพลิเคชั่นนี้คือการเรียกใช้งาน NETPIE REST API เพื่อเชื่อมต่อกับอุปกรณ์ต่างๆ (เนื่องจาก ณ เวลาที่พัฒนาแอปพลิเคชั่นนี้ ยังไม่มี Microgear สำหรับสร้าง Native Android Application)

ข้อมูลรายละเอียดแอปพลิเคชั่นจาก GooglePlay

(https://play.google.com/store/apps/details?id=com.numberx.kkmctimer\)

KKMC IoT สร้างขึ้นมาเพื่อให้ผู้ใช้งานที่ต้องการจะควบคุมอุปกรณ์ IoT กับ NETPIE หรือมีอุปกรณ์อยู่แล้ว แต่ยังขาด App ดีๆซึ่งผู้ใช้บางคนจะต้องสร้างส่วนเชื่อมต่อขึ้นมา เช่น เว็บ หรือ application ต่างๆ เพื่อควบคุมโดยเฉพาะ หลายๆท่านอาจจะยังไม่มีความรู้ทางด้านโปรแกรมมิ่ง จึงอาจจะมองว่าเป็นอะไรที่ยุ่งยาก KKMC IoT จึงได้ถือกำเนิดขึ้นมาโดยมี Concept ที่ว่า "แอพเดียว ทำได้ทุกอย่าง" โดยตัวแอพนั้นเขียนไว้ให้ผู้ใช้สามารถกดสร้าง Widget การควบคุมอุปกรณ์ไว้ทั้งหมดแล้วเพียงเข้าไปตั้งค่า Topic สำหรับการเชื่อมต่อ จากนั้นก็สามารถใช้งานได้เลย มีทั้งการแสดงผล และควบคุมอุปกรณ์อีกทั้งยังเพิ่ม Timer ให้อุปกรณ์ทำงานได้ตามเวลาที่กำหนดอีกด้วย

หากใครสนใจรายละเอียดเพิ่มเติมสามารถเข้าไปร่วมกลุ่มกับ Khon Kaen Maker Club ได้เลยครับ

Fanpage: https://www.facebook.com/KhonKaenMakerClub/

Group: https://www.facebook.com/groups/KhonKaenMakerClub/

***

Distributed from: https://github.com/carlosperate/LightUpDroid-Alarm

1.ทดลองติดตั้งแอปพลิเคชั่น KKMC-IoT จากGoogle Play Store

รูปแสดงแอปพลิเคชั่น KMMC IoT ใน Google Play Store

รูปแสดงขั้นตอนตั้งค่าแอปพลิเคชั่น KMMC IoT

2.เลือกเมนู Settings ที่มุมขวาล่าง

3.ใส่ข้อมูล NETPIE AppID

4.ใส่ข้อมูล NETPIE REST Key ซึ่งอยู่ในรูปแบบ KEY: SECRET หรือสามารถก๊อปปี้โดยตรงจากหน้า Application Management ของ netpie.io ตามภาพ

รูปแสดงข้อมูล REST Key ในหน้า Application Management ของเว็บไซต์ netpie.io

5.ตั้งค่า Topic โดยกดที่รูปโลกในหน้าแรกของแอปพลิเคชั่นแล้วกดเพิ่ม Topic ตามชื่อ Topic ที่เคยตั้งไว้เช่น /LampStatus เลือก Widget Type เป็น On/Off Switch (เพื่อสร้างปุ่มควบคุมไฟ)

6.กลับมาที่หน้าแรกของแอปพลิเคชั่นจะเห็นปุ่มให้ทดลองกด เปิด/ปิด ถ้าส่งคำสั่งไปสำเร็จจะเห็นข้อความว่า “Publish to topic success” ตรวจสอบสถานะที่เปลี่ยนไปโดยเปิดไฟล์ GetLampStatus.html (จาก Lab 7.1) หรือแก้ไขโค้ด pieled.ino (จาก Lab 7.2) ที่ NodeMCU โดยเพิ่มคำสั่ง microgear.subscribe(“/LampStatus”); ในฟังก์ชั่น onConnected ดังแสดงด้านล่าง จากนั้นทดลองกดเปิด/ปิด เพื่อควบคุม LED บน NodeMCU

void onConnected(char *attribute, uint8_t* msg, unsigned int msglen) {
    Serial.println("Connected to NETPIE...");
    microgear.setName(ALIAS);
microgear.subscribe("/LampStatus");
}

เนื่องจากแอปพลิเคชั่น KKMC-IoT นี้รองรับเฉพาะการเรียก REST API บน Topic (ยังไม่รองรับ Resource ประเภท Microgear และ Postbox) จึงต้องสั่งให้ Microgear (NodeMCU) รอรับข้อความ (Subscribe) ที่ Topic/LampStatus ก่อน ซึ่งต่างจากใน Lab 2 ที่ใช้ REST API ส่งคำสั่งเปิดปิดไปยัง Resource ประเภท Microgear จึงสามารถส่งคำสั่งไปที่ชื่อของ Microgear ได้โดยตรงในรูปแบบ /microgear/appid/alias

ทดลองเพิ่มเติม

1.เพิ่ม Widget ชนิด Push Button (ปุ่มแบบกดติดปล่อยดับ) ที่ Topic /LampStatus สังเกตไฟ LED บน NodeMCU เมื่อกดปุ่ม

2.เพิ่ม Widget ชนิด Text เพื่อแสดงผลข้อมูลอุณหภูมิที่ตรวจวัดจากเซนเซอร์ DHT11

รายละเอียดเพิ่มเติมเกี่ยวกับ KKMC-IoT

Source Code https://github.com/KhonKaenMakerClub/KKMC-IoT

บทความ http://www.kkmakerclub.com/2016/05/26/

วิดีโอสอนวิธีใช้ https://www.youtube.com/watch?v=VWKrjvDCQQs

Disclaimer NECTEC/NETPIE ไม่ได้มีส่วนร่วมในการพัฒนาแอปพลิเคชั่น KKMC-IoT นี้ ข้อผิดพลาดใดๆ ที่เกิดจากการใช้แอปพลิเคชั่นนี้ ขอให้แจ้งไปยังผู้พัฒนาโดยตรง

results matching ""

    No results matching ""