iot rpi day4 - burapha universitynutthanon/... · rpi to internet connect to internet testing to...

99
IoT Day 4 : MQTT Infrastructure Design and Cloud Services IoT

Upload: others

Post on 11-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

IoT Day 4 : MQTT Infrastructure Design and Cloud Services

IoT

Page 2: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

MQTT

Page 3: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

Quality of Services ( Qos ) เป็นข้อตกลงระหว่างผู้ส่งและผู้รับ เพื่อยืนยันความแน่นอนในการส่งข้อมูลในที่นี้จะถูกแบ่งออกเป็น 3 ระดับได้แก่ 0, 1, 2

Page 4: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

MQTT QoS Level

▪ 0 – at most once

▪ 1 – at least one

▪ 2 – Exactly one

เมื่อพูดถึง QoS ต้องแบ่งออกเป็นสองพาร์ทได้แก่ 1. Publish client to Broker2.Broker Publish to Client

Page 5: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

เมื่อพูดถึง QoS ต้องแบ่งออกเป็นสองพาร์ทได้แก่ 1. Publish client to Broker จะใช้ QoS level ที่ถูกเซตโดย client ที่ส่งมาในข้อมูล 2.Broker Publish to Client จะใช้ QoS level ที่เซตตอน Subscribe หมายความว่าสมมติ Client publish ด้วย QoS 2 ฝั่ง Subscribe สามารถรับด้วย QoS ที่ต่ำกว่าได้

Page 6: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

MQTT QoS Level

▪ 0 – at most once delivery

▪ 1 – assured delivery but may be duplicated

▪ 2 – once and once only delivery

Page 7: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

Page 8: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

Page 9: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

Page 10: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services

การเลือกใช้ระดับของ QoS ใน Application จริง QoS0 สำหรับงานประเภทที่ข้อมูลสามารถสูญหายได้บ้างเช่น เซนเซอร์โหนด QoS1สำหรับ application ที่ต้องการความแน่นอนแต่ฝ่ายรับ ข้อมูลต้องสามารถจัดการกับข้อมูลที่อาจจะมาซ้ำได้QoS2สำหรับค่าที่ต้องการความแน่นอนและครั้งเดียว

Page 11: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services on Raspberry PIpho MQTT client library

publish(topic, payload=None, qos=0, retain=False)

- topic ชื่อหัวข้อที่ต้องการ publish

- payloadข้อมูล

- qosQoS Level

- retainแจ้งให้ทาง Server เก็บรักษา payload ที่ส่งขึ้นไปล่าสุด เมื่อมีคน subscribe ทีหลังจะได้รับ ข้อมูลที่เก็บเอาไว้นี้ด้วย

Page 12: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Quality of services on Raspberry PIpho MQTT client library

subscribe(topic, qos=0)

- topic ชื่อหัวข้อที่ต้องการ subscribe

- qosQoS Level

Page 13: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Example Debugging MQTT client

def on_log(mqttc, obj, level, string): print(string) mqttc.on_log = on_log

Page 14: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

More MQTT Paho Python API

https://eclipse.org/paho/clients/python/docs/

Page 15: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Broker on the Clouds

MQTT

Page 16: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

RPI to Internet

Connect to Internet

Broker on the cloud

LAN

Page 17: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

RPI to Internet

Connect to Internet

Testing to iot.eclipse.org** note DW.CLOUD ระวังชื่อในตัวแปร

clientID ต้องไม่ซ้ำกัน

LAN

Page 18: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

RPI to Internet

Connect to Internet

Testing to Deaware private cloudและเปิด Browser ไปที่ Cloud IP

LAN

Page 19: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Testing to Deaware private cloudและเปิด Browser ไปที่ Cloud IP

Page 20: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Infrastructure Practice and Design

MQTT

Page 21: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Create Sample IoT System

Page 22: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

- High feature with Linux operating system - Database system - Security network - High processing power - High level peripheral exe. Camera, USB

Linux Node

Page 23: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

- Low cost - Power management - ไมโครคอนโทรลเลอร์จะเสถียรกว่า

Embedded Linux ในกรณีที่ทำงานไม่ซับซ้อน - นำไปใช้งานเช่นสั่ง IO อ่านค่าเซนเซอร์แล้วส่ง

เข้า gateway เป็นต้น - ในงานที่ไม่ต้องมี gateway ก็สามารถเชื่อมต่อ

Internet ได้โดยตรง

WiFI Node

Page 24: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Basic use of MQTT

การรวม Broker ไว้ที่ระบบ Cloud ที่เดียวอาจจะทำให้ระบบช้าเนื่องจาก Internet และการส่งข้อมูลอาจจะต้องอ้อมไปข้างนอกก่อนจึงค่อยกลับมา

ถ้าเราจะลองวางระบบให้สามารถทำ Bridge Broker ได้ระหว่าง Local กับ Cloud ?

Page 25: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT

Page 26: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

RPI to Internet

Connect to RPI

Network infrastructure

LAN

Page 27: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT Broker bridge

PUB/SUB to RPI

Network infrastructure

LAN

Cloud Server

Page 28: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

How to configuration MQTT Broker bridge

sudo nano /etc/mosquitto/mosquitto.conf

Page 29: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

How to configuration MQTT Broker bridge

connection bridge_test address xxx.xxx.xxx.xxx:1883 topic local/

Single direction bridgeFrom local to server

** หมายเหตุ address ให้ใส่ address ของ cloud และ topic สามารถเลือกที่ต้องการได้ตามใจชอบ

sudo /etc/init.d/mosquitto stop sudo /etc/init.d/mosquitto start

Page 30: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

How to configuration MQTT Broker bridge

connection bridge_test address xxx.xxx.xxx.xxx:1883 topic local/

Single direction bridgeFrom local to server

ทดลอง subscribe ไปที่ cloud server ด้วยหัวข้อ local/ แล้วทดสอบ publish ไปที่ IP ของ Raspberry PI

Page 31: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

How to configuration MQTT Broker bridge

connection bridge_test address xxx.xxx.xxx.xxx:1883 topic # both 2 local/ local/

Dual Direction Bridge

** หมายเหตุ address ให้ใส่ address ของ cloud และ topic สามารถเลือกที่ต้องการได้ตามใจชอบ

sudo /etc/init.d/mosquitto stop sudo /etc/init.d/mosquitto start

Page 32: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

How to configuration MQTT Broker bridge

connection bridge_test address xxx.xxx.xxx.xxx:1883 topic # both 2 local/ local/

Dual Direction Bridge

ทดสอบ subscribe ไปที่ Raspberry PI และทดสอบ Publish ไปบน CLOUD

Page 33: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

How to configuration MQTT Broker bridge

connection bridge_test address xxx.xxx.xxx.xxx:1883 topic # both 2 local/ local/ topic # both 2 test/ test/

Dual Direction Bridge add more topic

ทดสอบ subscribe ไปที่ Raspberry PI และทดสอบ Publish ไปบน CLOUD

Page 34: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

How to configuration MQTT Broker bridge

ทดลองใช้ DW.CLOUD ยิงไปที่ หัวข้อที่ทำการ bridge แล้วลองใช้ terminal ของ pisubscribe ไปที่ CLOUD ดูว่าสามารถ รับข้อมูลได้ถูกต้องหรือไม่

Page 35: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

used case

MQTT

Page 36: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud
Page 37: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud
Page 38: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud
Page 39: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Facebook messenger

Page 40: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Security over Bridge ?

MQTT

Page 41: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Protocol - username, password- payload encryption Transport- TLS- SSLBroker- Sub/Pub permission

MQTT

Page 42: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT

จากการทดลองที่ผ่านมาจะเห็นว่า DW.CLOUD ยังไม่ได้ซัพพอร์ต การเข้ารหัสในการส่งข้อมูลจึงอาจจะทำให้เป็นปัญหาในการใช้งานจริงได้ รอบนี้ Raspberry PI และการทำ Bridge จึงเป็นพระเอก** ฮาร์ดแวร์ของ DW.CLOUD ซัพพอร์ตการทำ SSL แต่ในการเดินระบบ MQTTก็ยังมีหลากหลายอุปกรณ์ที่ไม่สามารถทำการเข้ารหัสได้หัวข้อนี้จึงสำคัญ

Page 43: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT Broker bridge

PUB/SUB to RPI

MQTT infrastructure

LAN

SSL Tunnel

No security

Page 44: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT Broker bridge

PUB/SUB to RPI

Example SSL configuration bridge ( in mosquitto.conf )

LAN

SSL Tunnel

No security

username SomeUser password SomePassword

bridge_cafile /etc/keys/myCA.crt bridge_certfile /etc/keys/myServer.crt bridge_keyfile /etc/keys/myServer.key

Page 45: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Mobile/PC App communication

MQTT

Page 46: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Mobile/PC App communication

MQTT MQTT Pub/Sub

MQTT Pub/Sub

Your infrastructure

Page 47: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Mobile/PC App communication

MQTT

Page 48: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT +

Cross platform Application

Page 49: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT +

Basic Qt and Modification session

Page 50: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT Notification Plugin

MQTTwarn

Page 51: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud
Page 52: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

https://github.com/jpmens/mqttwarn

Download Source from

Page 53: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

•amqp•apns•asterisk•carbon•dbus•dnsupdate•emoncms•file•freeswitch•gss•http•instapush•irccat•linuxnotify•log•mqtt•mqttpub•mysql•mysql_dynamic• nma •nntp

•nsca•osxnotify•osxsay•pastebinpub•pipe•prowl•pushalot•pushbullet•pushover•redispub•slack•sqlite•smtp•syslog•twilio•twitter•xbmc•xmpp•xively•zabbix

mqttwarn support a lot of number services

Page 54: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

mqttwarn installation on raspberry pi

git clone https://github.com/jpmens/mqttwarn.git

Page 55: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

mqttwarn installation on raspberry pi and how to use

nano mqttwarn.ini

cd mqttwarn

เข้าไปใน folder เพื่อเตรียม configuration

เปิดไฟล์ configuration

Page 56: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ใส่คอนฟิก สั่งให้ mqttwarn log ข้อมูลที่ได้จาก mqtt เก็บลงในไฟล์ /tmp/mqtt.logโดยจะเก็บในหัวข้อ test/+ ของ MQTT

[defaults] hostname = 'localhost' port = 1883

; name the service providers you will be using. launch = file, log

[config:file] append_newline = True targets = { 'mylog' : ['/tmp/mqtt.log'] }

[config:log] targets = { 'info' : [ 'info' ] }

[test/+] targets = file:mylog, log:info

mqttwarn installation on raspberry pi and how to use

Page 57: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

สั่ง mqttwarn ให้ทำงานโดยใช้

python mqttwarn.py

mqttwarn installation on raspberry pi and how to use

Page 58: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ให้ทดสอบ publish ข้อมูลมาที่ topic test/mqtt แล้วตรวจสอบไฟล์ที่ /tmp/mqtt.log ดูว่ามีข้อมูลที่ ถูกส่งมาเก็บเอาไว้หรือไม่

mqttwarn installation on raspberry pi and how to use

Page 59: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

mqttwarn installation on raspberry pi and how to use

MQTTwarmer

PushNofication

Page 60: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

สมัคร account ที่เว็บ

https://pushover.net

แล้ว Login เข้าระบบ

ดาวน์โหลด application pushover ใน Store ของโทรศัพท์

Page 61: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Register application เพื่อสร้าง key ใหม่

Page 62: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

[defaults] hostname = 'localhost' port = 1883

; name the service providers you will be using. launch = file, log, pushover

[config:file] append_newline = True targets = { 'mylog' : ['/tmp/mqtt.log'] }

[config:log] targets = { 'info' : [ 'info' ] }

[config:pushover] targets = { 'deaware' : ['XXXXXUSERKEYXXXXXXX', 'XXXXAPPLICATIONKEYXXXXXX'], }

[test/+] targets = file:mylog, log:info, pushover:deaware

เพิ่ม PushOver configuration ทดลองรันโปรแกรมแล้วส่ง MQTT อีกครั้ง

Page 63: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

SQLite with Mqttwarn

[config:sqlite] targets = { #path #tablename 'demotable' : [ '/tmp/m.db', 'mqttwarn' ] }

Testing configuration Sqlite for mqttwarn

ข้อจำกัดได้แค่ column เดียวโดยเก็บชื่อว่า payload type TEXT ลงในฐานข้อมูลเท่านั้นถ้าต้องการนำไปใช้จริงอาจจะแนะนำให้พัฒนา MQTT client มา subscribe ข้อมูล แล้วเก็บลง Database ดีกว่า

ทดลองอ่าน help แล้ว configuration ด้วยตัวเอง ตัวอย่างเป็นของ SQLite

Page 64: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT for Sensor network

MQTT SN

Page 65: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud
Page 66: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT SN

MQTT-SN จะถูกออกแบบให้ใกล้เคียงกับ MQTT มากที่สุดแต่เน้นไปกับระบบ wireless sensor ที่ต้องใช้ battery และประหยัดพลังงานเป็นต้นดังนั้นจึงจะมีข้อจำกัดเช่น ชื่อ topic ไม่สามารถตั้งยาวได้ มีการลิมิตแบนวิดท์ที่ใช้ในการส่งข้อมูลเป็นต้น

Page 67: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT -SN Architecture

Page 68: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT -SN Architecture

Tranparent GW and Aggregating GW

All connecting to server Only one connection

Page 69: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT -SN Architecture

Supporting sleeping client

Page 70: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT -SN Architecture

Page 71: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT -SN Architecture Demo

nRF24L01+IEEE 802.15.4 support

Page 72: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT -SN Architecture Demo

nRF24L01+IEEE 802.15.4 support

ไม่ได้ซัพพอร์ต MQTT-SN แบบเต็มแต่พอประยุกต์ใช้งานได้

Page 73: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT -SN Architecture Demo

Page 74: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

sample design system with MQTT

MQTT

Page 75: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud
Page 76: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud
Page 77: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT

Page 78: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT

Page 79: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTTnot only the embedded devices

Page 80: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT and Cloud Broker

MQTT

Page 81: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

CLOUD Server For MQTTMQTT

Page 82: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Or build your own cloudMQTT

Page 83: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Real Time Web

83

Page 84: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

WebSocket ?

84

Page 85: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Deaware MQTT CLOUD support web socket

85

Page 86: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Deaware MQTT CLOUD support web socket

86

WebServer ( Port 80, 8080 )Websocket ( Port … )

เรียกหน้าเว็บผ่าน port มาตรฐานเรียกข้อมูลผ่าน websocket

MQTT (mosquitto compile )

ปกติ mosquitto สามารถ forward ข้อมูลไปที่ web socket พอร์ตได้ทันทีแต่ต้องคอมไพล์ซอร์สโค้ดให้ซัพพอร์ต

Page 87: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT to Websocket

87

WebServer ( Port 80, 8080 )Websocket ( Port … )

เรียกหน้าเว็บผ่าน port มาตรฐานเรียกข้อมูลผ่าน websocket

MQTT

หรือจะเลือกใช้ MQTT Proxy เช่น HiveMQ

Page 88: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

MQTT to Websocket

88

WebServer ( Port 80, 8080 )Websocket ( Port … )

เรียกหน้าเว็บผ่าน port มาตรฐานเรียกข้อมูลผ่าน websocket

MQTT

node-red ก็เป็นอีกหนึ่งตัวเลือกที่น่าสนใจเพราะ ว่าใช้ง่าย

Page 89: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์

89

Page 90: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์

90

xxx.xxx.xxx.xxx/webwidget

Page 91: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์

91

กำหนดค่า mainwidget ที่ต้องการทดสอบ

Page 92: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์

92

pub ไปที่ test01/gauge ** ตาม mainwidget ที่คุณเลือกไว้

Page 93: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์

93

pub ไปที่ test01/gauge ** ตาม mainwidget ที่คุณเลือกไว้

Page 94: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์

94

subscribe ไปที่ test01/switch

Page 95: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์

95

ให้ทดลองเขียนโปรแกรมให้ DW.CLOUD หรือ RPI ในการเชื่อมต่อ

Page 96: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Final Application

sub and pub

Local System

sensor/an0 data collect from sensor/an0

subscribe for LED control Qt app ( Mobile/Desktop )

Page 97: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

Special Topic : https://wit.ai

IoT command by sound

Page 98: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

http://labs.wit.ai/demo/index.html

ทดสอบการใช้งานด้วยตัวเอง

Page 99: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud

IoThttps://www.facebook.com/groups/iotthai/

Disscussion Group for IOT Thailand