0% menganggap dokumen ini bermanfaat (0 suara)
112 tayangan27 halaman

IoT MQTT Protocol

Dokumen tersebut membahas tentang protokol IoT MQTT yang merupakan protokol messaging berbasis publish-subscribe. Protokol ini digunakan untuk mengirimkan data dari perangkat IoT ke broker MQTT dan broker akan mendistribusikan data tersebut kepada subscriber. Dokumen ini juga menjelaskan komponen MQTT seperti client, broker, dan koneksi serta tingkat kualitas layanan pengiriman pesan.

Diunggah oleh

chris panjaitan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
112 tayangan27 halaman

IoT MQTT Protocol

Dokumen tersebut membahas tentang protokol IoT MQTT yang merupakan protokol messaging berbasis publish-subscribe. Protokol ini digunakan untuk mengirimkan data dari perangkat IoT ke broker MQTT dan broker akan mendistribusikan data tersebut kepada subscriber. Dokumen ini juga menjelaskan komponen MQTT seperti client, broker, dan koneksi serta tingkat kualitas layanan pengiriman pesan.

Diunggah oleh

chris panjaitan
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 27

IoT MQTT Protocol

Bootcamp - Menjadi IoT Engineer


Edspert.id

Sony Alfathani LinkedIn


Teknologi IoT
Teknologi Arsitektur IoT - Hardware

Microcontroller Sensor & Actuator Communication Power source


Module
Apa itu IoT ?
Internet of Things merupakan sebuah jaringan dari objek fisik —
“things”—yang disematkan juga sensor, software (firmware), dan
teknologi lainnya yang bertujuan untuk saling terkoneksi dan
bertukar data dengan device atau sistem lain melalui internet.

Internet Things

The physical world meets the digital


world
Sending Data

Dashboard

We need a protocol
IoT Data Protocol
● HTTP (Hypertext Transfer Protocol)
● MQTT (Message Queue Telemetry Transport)

HTTP MQTT
Apa itu MQTT ?
Message Queuing Telemetry Transport. merupakan protokol messaging yang menggunakan model Publish-
Subscribe.
Komponen MQTT

CLIENT BROKER CONNECTION

• Publishers and • Receiving • Based on TCP/IP


Subscribers. • Filtering • Send CONNECT
• Connect to broker • Determining • Client never connect
• Create specific topic • Sending to each other directly
MQTT QoS
Tingkat kualitas layanan pengiriman atau Quality of Service (QoS) pada MQTT terdapat Tiga level
:

1. QoS 0 (at most once delivery) : pesan hanya dikirim sekali, setelah pesan dikirim tidak ada
respon apakah pesan berhasil dikirim, pesan bisa saja tidak terkirim, atau tidak diterima subscriber.

2. QoS 1 (at least once delivery) : pesan paling sedikit dikirim sekali, jika subscriber tidak
menerima pesan maka broker akan mengirim respon terhadap publisher bahwa pesan gagal
dikirim. Kemungkinan duplikasi pesan dapat terjadi.

3. QoS 2 (exactly once delivery) : pesan dikirim sekali dan hanya sekali. QoS 2 memastikan
bahwa pesan diterima subscriber. Mencegah adanya duplikasi pesan.
MQTT Packet Format
MQTT Topic

MQTT Topic Wildcard


Single-level

Multi-level
Compare
ESP
Connection
Wi-FI Mode
#include <WiFi.h>
Librari ini adalah libarray untuk menggunakan Modul WiFi yang
tersedia pada board ESP, library ini secara otomatis akan terinstal Wi-Fi Client
ketika anda menambahkan ESP32 ke Arduino IDE Anda (STATION)

Router
1. Station Mode (STA) (ACCESS POINT)
2. Access Point Mode (AP) ESP32
(STATION)
3. STA & AP Mode
Wi-Fi Client
(STATION)

Fungsinya
WiFi.mode(WIFI_STA) Station Mode : ESP32 dapat connect ke AP
Wi-Fi Client
(STATION) WiFi.mode(WIFI_AP) Access Point mode: stations dapat terhubung ke ESP32

WiFi.mode(WIFI_STA_AP) ESP32 dapat diatur sebagai stasiun Wi-Fi dan titik akses
secara bersamaan
ESP32
(ACCESS POINT)
Wi-Fi Client
(STATION)
Scan Wi-Fi Networks

Function Keterangan

WiFi.scanNetworks() Akan memberikan nilai balikan jumlah


network yang ditemukan
WiFi.SSID(i) Mendapatkan nama SSID Wifi Network

WiFi.RSSI(i) Mendapatkan nilai RSSI Wifi Network


ESP32
(STATION)
Connect to Wi-Fi Networks

Function Keterangan

WiFi.begin(ssid, password) Untuk terhubung ke jaringan

WiFi.status() Mendapatkan nama SSID Wifi Network


Router
(ACCESS POINT)
WL_CONNECTED Constanta/nilai ketika ESP telah
terhubung ke Wi-Fi ESP32
(STATION)
WiFi.localIP() Untuk mengetahui IP yang di berikan
oleh router ke ESP32
MQTT
Protocol
MQTT

Publish

topic temp
& hum
MQTT
Broker

http://www.mqtt-dashboard.com/
MQTT Client
MQTT Publisher
MQTT Subscriber
MQTT

Sensor Cahaya

LCD 16x2

Broker Subscriber
Publisher
DHT
DHT22
#include <DHT.h> Salah satu alternatif library yang digunakan untuk
mengakses DHT Module
DHT digunakan untuk membuat objek dari kelas DHT
dhtku(DHTPIN,DHTTYPE);
dhtku.begin(); menginisialisasi sensor DHT dan menyiapkan koneksi
antara sensor DHT dan board Arduino
dhtku.readHumidity(); Digunakan untuk mangakses fungsi pembacaan nilai
humidity (%)
dhtku.readTemperature(); Digunakan untuk mangakses fungsi pembacaan nilai
temperature dalam celcius
I2C (Inter-Integrated Circuit) atau Two Wire Interface

LCD
#include <LiquidCrystal_I2C.h> Library yang digunakan untuk
mengakses LCD 16x2 dengan module
I2C
LiquidCrystal_I2C lcdku(0x27, 16, 2); membuat objek dari kelas LiquidCrystal_I2C
dengan address tertentu
lcdku.init(); menginisialisasi lcd

lcdku.backlight(); Menyalakan Backlight cahaya LCD


lcdku.setCursor(0,0); mengatur posisi kursor pada layar LCD.
LCD 16x2
ESP32
(STATION)
lcdku.print("Edspert.id"); Digunakan untuk menampilkan karakter
pada LCD
lcdku.clear(); Membersihkan/menghapus tampilan
karakter pada LCD
MQTT

Function Keterangan

#include "PubSubClient.h" Librari untuk mengkoneksikan ESP32 ke MQTT broker

PubSubClient mqttClient() Membuat object “mqttClient”

mqttClient.setServer(mqttServer, mqttPort) Setting alamat target dan port broker

mqttClient.setCallback() Untuk dapat menerima pesan balikan dari server

mqttClient.connected() Mengembalikan nilai True jika berhasil terkoneksi dan False jika belum

mqttClient.connect(clientID) Untuk dapat terhubung dengan broker (ClientID harus unique) dan memiliki
keluaran Boolean
mqttClient.publish(topic, payload) Untuk melakukan publish ke suatu topic (Payload berupa String)

mqttClient.subscribe(topik) Untuk berlangganan suatu topik

client.loop() untuk memproses semua penerimaan dan pengiriman pesan yang tersedia untuk
klien (client)
Wokwi Link
• Scan Wifi : https://wokwi.com/projects/356536057700109313
• Connect to Network : https://wokwi.com/projects/356552645200576513
• Publisher : https://wokwi.com/projects/356645399959380993
• Subscriber : https://wokwi.com/projects/356646013877586945
• Seb Led : https://wokwi.com/projects/356666910782912513

More info about IoT


• Blog: https://medium.com/@sonyalfathani
• YTube : https://youtu.be/R3v8kGaafHM
Terimakasih…
◉ Mari kita diskusi…

Anda mungkin juga menyukai