![Page 1: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/2.jpg)
Quality of services
MQTT
![Page 3: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/7.jpg)
Quality of services
![Page 8: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/8.jpg)
Quality of services
![Page 9: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/9.jpg)
Quality of services
![Page 10: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/15.jpg)
Broker on the Clouds
MQTT
![Page 16: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/20.jpg)
Infrastructure Practice and Design
MQTT
![Page 21: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/21.jpg)
Create Sample IoT System
![Page 22: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/22.jpg)
- 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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/23.jpg)
- 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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/25.jpg)
MQTT
![Page 26: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/35.jpg)
used case
MQTT
![Page 36: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/36.jpg)
![Page 37: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/37.jpg)
![Page 38: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/38.jpg)
![Page 39: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/39.jpg)
Facebook messenger
![Page 40: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/40.jpg)
Security over Bridge ?
MQTT
![Page 41: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/45.jpg)
Mobile/PC App communication
MQTT
![Page 46: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/47.jpg)
Mobile/PC App communication
MQTT
![Page 48: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/48.jpg)
MQTT +
Cross platform Application
![Page 49: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/49.jpg)
MQTT +
Basic Qt and Modification session
![Page 50: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/50.jpg)
MQTT Notification Plugin
MQTTwarn
![Page 51: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/51.jpg)
![Page 53: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/53.jpg)
•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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/54.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/55.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/56.jpg)
ใส่คอนฟิก สั่งให้ 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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/57.jpg)
สั่ง 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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/58.jpg)
ให้ทดสอบ 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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/59.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/60.jpg)
สมัคร 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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/61.jpg)
Register application เพื่อสร้าง key ใหม่
![Page 62: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/62.jpg)
[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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/63.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/64.jpg)
MQTT for Sensor network
MQTT SN
![Page 65: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/65.jpg)
![Page 66: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/66.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/67.jpg)
MQTT -SN Architecture
![Page 68: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/68.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/69.jpg)
MQTT -SN Architecture
Supporting sleeping client
![Page 70: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/70.jpg)
MQTT -SN Architecture
![Page 71: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/71.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/72.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/73.jpg)
MQTT -SN Architecture Demo
![Page 74: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/74.jpg)
sample design system with MQTT
MQTT
![Page 75: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/75.jpg)
![Page 76: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/76.jpg)
![Page 77: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/77.jpg)
MQTT
![Page 78: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/78.jpg)
MQTT
![Page 79: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/79.jpg)
MQTTnot only the embedded devices
![Page 80: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/80.jpg)
MQTT and Cloud Broker
MQTT
![Page 81: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/81.jpg)
CLOUD Server For MQTTMQTT
![Page 82: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/82.jpg)
Or build your own cloudMQTT
![Page 83: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/83.jpg)
Real Time Web
83
![Page 84: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/84.jpg)
WebSocket ?
84
![Page 85: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/85.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/86.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/87.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/88.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/89.jpg)
ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์
89
![Page 90: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/90.jpg)
ทดลองส่งค่าจาก 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](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/91.jpg)
ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์
91
กำหนดค่า mainwidget ที่ต้องการทดสอบ
![Page 92: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/92.jpg)
ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์
92
pub ไปที่ test01/gauge ** ตาม mainwidget ที่คุณเลือกไว้
![Page 93: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/93.jpg)
ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์
93
pub ไปที่ test01/gauge ** ตาม mainwidget ที่คุณเลือกไว้
![Page 94: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/94.jpg)
ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์
94
subscribe ไปที่ test01/switch
![Page 95: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/95.jpg)
ทดลองส่งค่าจาก MQTT ไปที่เว็บไซต์
95
ให้ทดลองเขียนโปรแกรมให้ DW.CLOUD หรือ RPI ในการเชื่อมต่อ
![Page 96: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/96.jpg)
Final Application
sub and pub
Local System
sensor/an0 data collect from sensor/an0
subscribe for LED control Qt app ( Mobile/Desktop )
![Page 99: IOT RPI DAY4 - Burapha Universitynutthanon/... · RPI to Internet Connect to Internet Testing to Deaware private cloud](https://reader036.vdocuments.net/reader036/viewer/2022071115/5feee2084d6c6c71961d52be/html5/thumbnails/99.jpg)
IoThttps://www.facebook.com/groups/iotthai/
Disscussion Group for IOT Thailand