Getting started

สร้าง Project

เมื่อ login เข้าสู่ https://portal.netpie.io เรียบร้อยแล้ว หน้าจอที่ปรากฏจะแสดงรายการ Project ทั้งหมดที่เคยสร้างไว้แล้ว

_images/project_first.png

ถ้ายังไม่มีให้ทำการสร้าง Project โดยคลิกที่ “Add Project” จะปรากฏฟอร์มดังรูปด้านล่าง

_images/project_create.png

กรอกข้อมูล Project จากนั้นคลิกที่ปุ่ม “SAVE” ระบบจะทำการสร้าง Project และแสดงรายละเอียดต่างๆ ของ Project

_images/project_overview.png

สร้าง Device

คลิกที่เมนู “Device” ด้านซ้ายมือ จะปรากฏหน้าจอสำหรับจัดการข้อมูล Device ดังรูปต่อไปนี้

_images/device_list.png

หลังจากนั้นให้คลิกที่ปุ่ม “Create” ที่มุมบนขวามือ เพื่อสร้าง Device ใหม่ จะปรากฏฟอร์มให้กรอกข้อมูลของ Device

_images/device_create.png

กรอกข้อมูล Device จากนั้นคลิกที่ปุ่ม “SAVE” ระบบจะทำการสร้าง Device ให้

_images/device_first.png

คลิกเข้าไปที่ Device จะปรากฏหน้าจอแสดงรายละเอียดข้อมูลต่าง ๆ ของ Device เหล่านั้น รวมถึง Key, Token และ Secret ที่จะนำไปใช้เพื่อให้ Device สามารถเชื่อมต่อเข้ามายัง Platform ได้

_images/device_detail.png

การนำ Key ไปใช้กับ Device เพื่อเชื่อมต่อ Platform

ส่วนสำคัญที่ใช้ในการเชื่อมต่อ Platform ของ Device คือ Key

_images/device_key2.png

Key ใช้สำหรับการเชื่อมต่อของ Device มายัง Platform กรณีเชื่อมต่อผ่าน MQTT Protocol ให้เลือกใช้งาน MQTT Client Library ที่เหมาะสมหรือรองรับกับ Device ที่จะใช้ในการเชื่อมต่อ โดยการเชื่อมต่อของ MQTT จะต้องใช้ 4 Paramters คือ Host, Client id, Username และ Password โดยดูข้อมูลที่จะนำมาใช่ สามารถระบุค่าได้ดังนี้

Host

mqtt.netpie.io

Port

1883 (mqtt), 1884 (mqtts)

Client ID

Client ID ของ Device ที่สร้างขึ้นใน NETPIE

Username

Token ของ Device ที่สร้างขึ้นใน NETPIE

Password

ยังไม่ต้องระบุ (ใช้สำหรับกรณีที่ต้องการตรวจสอบที่เพิ่มมากขึ้น)

ทดลองเชื่อมต่อ Platform ด้วย MQTT Box ซึ่งเป็นแอปที่สามารถดาวน์โหลดได้จาก chrome เว็บสโตร์ เมื่อดาวน์โหลดเรียบร้อยให้เปิดโปรแกรมขึ้นมาดังรูป

_images/mqttbox_create.png

หลังจากนั้นคลิกที่ปุ่ม “Create MQTT Client” เพื่อสร้างการเชื่อมต่อไปยัง MQTT Server (ในที่นี้คือ NETPIE Platform)

_images/mqttbox_config.png

ระบุค่าการเชื่อมต่อให้ถูกต้อง จากนั้นคลิกปุ่ม “Save” แล้ว MQTT Box จะทำการเชื่อมต่อ Platform ให้อัตโนมัติ ถ้าเชื่อมต่อได้สำเร็จจะเป็นดังนี้

_images/mqttbox_connected.png

ทดสอบว่าสามารถเชื่อมต่อ Platform ได้จริงโดย Publish เข้าหาตัวเอง การเซ็ตค่า Topic ที่จะ Publish/Subcribe ให้ขึ้น Topic ด้วย @msg/ (คลิกปุ่ม “Subcribe” ก่อนที่จะคลิกปุ่ม “Publish”)

_images/mqttbox_self_pubsub.png

Caution

การตั้งค่าเชื่อมต่อผ่าน MQTT Box ต้องเซ็ต Append timestamp to MQTT client id? ให้เป็น No เพื่อไม่ให้ MQTT Box นำ Timestamp มาต่อท้าย MQTT Client Id ซึ่งจะทำให้ Key ที่ใช้เชื่อมต่อไม่ถูกต้อง และไม่สามารถเชื่อมต่อ Platform ได้


การสื่อสารระหว่าง Devices

Device ที่จะสามารถสื่อสารกันได้ต้องอยู่ภายใต้ Group เดียวกัน โดยการสร้าง Group ให้เข้าไปที่เมนู “Group” ด้านซ้ายมือ

_images/group_list.png

ให้ทำการสร้าง Group โดยคลิกที่ปุ่ม “Create” อยู่มุมบนด้านขวามือ จะปรากฏฟอร์มให้กรอกข้อมูลของ Group

_images/group_create.png

กรอกข้อมูล Group จากนั้นคลิกที่ปุ่ม “SAVE” ระบบจะทำการสร้าง Group ให้

_images/group_first.png

จากนั้นคลิกที่ Group ที่สร้างไว้เพื่อจัดการ Device ภายใน Group นั้น ๆ ถ้ามี Device อยู่ใน Group ดังกล่าวก็จะแสดงรายการ Device ในหน้านี้

_images/group_device.png

การจัดการ Device ภายใน Group ให้คลิกที่ปุ่ม “Manage Device” ที่มุมบนขวามือ เมื่อคลิกแล้วจะปรากฏหน้าจอสำหรับนำ Device เข้า/ออก จาก Group

_images/group_manage.png

จากรูปด้านบน คลิกเลือกที่ Check Box หน้า Device ในกรอบด้านซ้ายมือที่ต้องการจัดเข้า Group นี้ จากนั้นคลิกที่ปุ่ม “>” เพื่อย้ายรายการ Device มายังกรอบด้านขวามือ ซึ่งก็คือการจัด Device เข้า Group

_images/group_device_in.png

จากรูปด้านบน เมื่อเลือก Device เรียบร้อยแล้วคลิกที่ปุ่ม “SAVE” เพื่อบันทึกข้อมูลก็จะมาปารกฏใน Group

_images/group_2devices.png

เมื่อจัด Device เข้า Group เรียบร้อยแล้ว ทดลองเชื่อมต่อ Platform ด้วย HiveMQ โดยดาวน์โหลดได้จาก https://github.com/chavee/hivemq-mqtt-web-client เมื่อดาวน์โหลดเรียบร้อย ถ้าเป็น .zip ให้ทำการแตกไฟล์แล้วเปิดไฟล์ index.html กรอก Client ID ของ Device ที่ช่อง “ClientID” และ Token ของ Device ที่ช่อง “Username”

_images/hivemq_config.png

จากนั้นคลิกปุ่ม “Connect” เพื่อทำการเชื่อมต่อ Platform

_images/hivemq_connected.png

กลับไปที่หน้าเว็บ https://portal.netpie.io เข้าไปที่เมนู “Device” ด้านซ้ายมือ จะพบว่า Device ทั้ง 2 ตัว เชื่อมต่อ Platform เรียบร้อยแล้ว

_images/device_online_list.png

ทดสอบสื่อสารระหว่าง 2 Devices คือ “lamp” และ “switch” โดย “lamp” เชื่อมต่อ Platform ผ่าน MQTT Box และ “switch” เชื่อมต่อ Platform ผ่าน HiveMQ

_images/mqttbox_hivemq.png

ในที่นี้จะทดลองให้ “switch” ส่งข้อความไปหา “lamp” เพื่อให้ เปิด/ปิด ไฟ กำหนด Topic ที่ต้องการ Publish (ส่งข้อมูล) และ Subcribe (รอรับข้อมูล) ให้ตรงกัน โดย “switch” จะทำหน้าที่ Publish ส่วน “lamp” จะ Subcribe เซ็ต Topic เป็น @msg/set/status

_images/msg_pub_sub.png