Getting started

สร้าง Project

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

_images/netpie_project_list.png

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

_images/netpie_project_create.png

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

_images/netpie_project_first.png

สร้าง Device

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

_images/netpie_project_overview.png

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

_images/netpie_device_list.png

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

_images/netpie_device_create.png

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

_images/netpie_device_first.png

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

_images/device_detail.png

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

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

_images/netpie_device_key2.png

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

Host

mqtt.nexiiot.io

Port

1883 (mqtt), 1884 (mqtts)

Client ID

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

Username

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

Password

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

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

_images/netpie_mqttbox_create.png

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

_images/netpie_mqttbox_config.png

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

_images/netpie_mqttbox_connected.png

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

_images/netpie_mqttbox_self_pubsub.png

Caution

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


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

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

_images/netpie_group_list.png

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

_images/netpie_group_create.png

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

_images/netpie_group_first.png

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

_images/netpie_device_2item.png

กจัด Device ทั้ง 2 ตัวเข้า Group ที่สร้างไว้

_images/netpie_device_2group.png

เมื่อนำ Device เข้า Group แล้ว ในแต่ละ Device จะมี Group ปรากฏขึ้น

_images/netpie_device_show_group.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.netpie.io เมนู “Device Lists” จะพบว่า Device ทั้ง 2 ตัว เชื่อมต่อ Platform เรียบร้อยแล้ว

_images/netpie_device_online_list.png

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

_images/netpie_mqttbox_hivemq.png

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

_images/netpie_msg_pub_sub.png