Getting started

สร้าง Project

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

_images/project_list.png

ถ้ายังไม่มีให้ทำการสร้าง Project โดยคลิกที่เครื่องหมายบวกตามรูปด้านล่าง :

_images/project_create.png

กรอกข้อมูล Project โดย field ที่มีเครื่องหมาย * กำกับอยู่ต้องกรอกข้อมูลให้ครบถ้วน จากนั้นคลิกที่ปุ่ม "Create" ระบบจะทำการสร้าง Project ให้ :

_images/project_first.png

คลิกที่ Project เพื่อดำเนินการขั้นต่อไป

สร้าง Device

เมื่อเข้ามาในแต่ละ Project แล้วจะปรากฏหน้าจอแสดงข้อมูลภาพรวมของ Project ดังต่อไปนี้ :

_images/project_overview.png

ให้ทำการสร้าง Device โดยคลิกที่เมนู "Device Lists" ทางด้านขวามือ :

_images/device_list.png

หลังจากนั้นให้คลิกที่ปุ่ม "Create" เพื่อสร้าง Device ใหม่ :

_images/device_create.png

กรอกข้อมูล Device โดย field ที่มีเครื่องหมาย * กำกับอยู่ต้องกรอกข้อมูลให้ครบถ้วน จากนั้นคลิกที่ปุ่ม "Create" ระบบจะทำการสร้าง Device ให้ :

_images/device_first.png

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

_images/device_detail.png

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

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

_images/device_key.png

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

Host

mqtt.nexpie.io

Port

1883 (mqtt), 1884 (mqtts)

Client ID

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

Username

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

Password

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

ทดลองเชื่อมต่อ Platform ด้วย MQTT Box โดยดาวน์โหลดได้จาก http://workswithweb.com/mqttbox.html เมื่อดาวน์โหลดเรียบร้อยให้เปิดโปรแกรมขึ้นมาดังรูป :

_images/mqttbox_create.png

หลังจากนั้นคลิกที่ปุ่ม "Create MQTT Client" เพื่อสร้างการเชื่อมต่อไปยัง MQTT Server (ในที่นี้คือ NEXPIE 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

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

Device ที่จะสามารถสื่อสารกันได้ต้องอยู่ภายใต้ Device Group เดียวกัน โดยเริ่มจากไปที่เมนู "Device Groups" :

_images/group_list.png

ให้ทำการสร้าง Group โดยคลิกที่ปุ่ม "Create" และกรอกข้อมูล :

_images/group_create.png

เมื่อทำการสร้างเรียบร้อยแล้วจะปรากฏ Group ที่สร้างขึ้น :

_images/group_first.png

กลับไปที่ "Device Lists" และทำการสร้าง Device ใหม่อีก 1 ตัวเพื่อใช้ในการสื่อสารระหว่าง Device กับ Device :

_images/device_2item.png

Device ที่สร้างใหม่ในที่นี้ คือ "switch" ทดลองเชื่อมต่อ 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.nexpie.io เมนู "Device Lists" จะพบว่า 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