Dengan kemajuan teknologi Internet of Things (IoT), semakin banyak perangkat yang dapat kita kendalikan melalui jaringan internet, termasuk servo untuk berbagai keperluan, seperti robotika atau proyek otomasi. Salah satu metode populer untuk menghubungkan dan mengontrol perangkat IoT adalah menggunakan MQTT (Message Queuing Telemetry Transport), sebuah protokol ringan yang sangat efisien untuk komunikasi antar perangkat.
Dalam artikel ini, kita akan membahas cara mengontrol servo menggunakan MQTT panel. Dengan panduan ini, Anda dapat membangun sistem yang memungkinkan Anda mengatur sudut servo dari jarak jauh menggunakan smartphone, laptop, atau perangkat lain.
Apa Itu MQTT?
MQTT adalah protokol komunikasi berbasis publish/subscribe yang sering digunakan dalam aplikasi IoT. Sistem ini terdiri dari tiga komponen utama:
- Broker MQTT – Server yang mengelola komunikasi antara publisher dan subscriber.
- Publisher – Perangkat yang mengirimkan data atau perintah ke broker.
- Subscriber – Perangkat yang menerima data atau perintah dari broker.
MQTT sangat cocok untuk proyek-proyek IoT karena efisiensinya dalam menggunakan bandwidth dan rendahnya kebutuhan daya, yang membuatnya ideal untuk perangkat dengan sumber daya terbatas.
Komponen yang Dibutuhkan
Untuk membangun sistem kontrol servo dengan MQTT, Anda memerlukan beberapa komponen berikut:
- ESP32 atau ESP8266 – Mikrokontroler dengan konektivitas Wi-Fi yang memungkinkan perangkat Anda terhubung ke jaringan internet.
- Servo Motor – Servo yang akan kita kendalikan melalui MQTT.
- Broker MQTT – Server untuk mengelola komunikasi.
- Platform untuk Panel Kontrol (IoT MQTT Panel) – Untuk menampilkan panel kontrol yang memungkinkan Anda mengendalikan servo.
- Arduino IDE atau Platform Pengembangan Lain – Untuk menulis dan mengunggah kode ke mikrokontroler.
Langkah-langkah Membuat Sistem Kontrol Servo dengan MQTT
1. Menyiapkan Broker MQTT
Pada proyek ini, kita akan menggunakan broker MQTT gratis dari broker.emqx.io, sehingga perangkat bisa diakses dari mana saja selama terhubung ke internet.
2. Menulis Kode untuk ESP8266
Setelah broker MQTT siap, langkah berikutnya adalah menulis kode untuk mikrokontroler ESP8266. Berikut adalah contoh kode dasar untuk menghubungkan ESP8266 ke broker MQTT dan mengontrol servo yang terhubung ke pin D7:
#include <ESP8266WiFi.h>
#include <MQTT.h>
#include <Servo.h>
const char* ssid = "Isi Username";
const char* password = "Isi Password";
const char* mqtt_server = "broker.emqx.io";
const int mqtt_port = 1883;
WiFiClient wifiClient;
MQTTClient mqtt;
Servo servoMotor;
const int servoPin = D7;
int servoAngle = 0;
void setup_wifi() {
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
void messageReceived(String &topic, String &payload) {
if (topic == "servo/slider") {
servoAngle = payload.toInt();
if (servoAngle >= 0 && servoAngle <= 180) {
servoMotor.write(servoAngle);
}
}
}
void setup() {
setup_wifi();
mqtt.begin(mqtt_server, mqtt_port, wifiClient);
mqtt.onMessage(messageReceived);
servoMotor.attach(servoPin);
if (mqtt.connect("ESP8266Client")) {
mqtt.subscribe("servo/slider");
}
}
void loop() {
if (!mqtt.connected()) {
while (!mqtt.connect("ESP8266Client")) {
delay(1000);
}
mqtt.subscribe("servo/slider");
}
mqtt.loop();
}
3. Membuat Panel Kontrol MQTT
Selanjutnya, kita akan membuat panel kontrol di IoT MQTT Panel untuk mengontrol sudut servo. Berikut adalah langkah-langkahnya:
Install aplikasi IoT MQTT Panel dari Google Play Store atau App Store.Setelah terinstal.
buka aplikasi tersebut, lalu ketuk ikon titik tiga di bagian atas layar dan pilih “All Connections”
Klik tombol plus (+) untuk menambah koneksi baru
Pada form yang muncul, isi “Connection Name” dengan nama yang sesuai, lalu masukkan “Client ID” yang unik, dan alamat broker MQTT di bagian “Broker Web/IP Address”.
Setelah itu, pilih “Add Dashboard” untuk membuat panel kontrol, dan klik “Create” untuk menyimpan pengaturan koneksi dan membuat dashboard.
Selanjutnya, tambahkan panel switch pada dashboard dengan cara memilih “Add Panel”
kemudian pilih tipe panel “Slider”.
Isi “Connection Name” dengan nama yang sesuai. lalu masukkan “Client ID” yang unik, dan masukkan alamat broker MQTT di bagian “Broker Web/IP Address”.
Setelah itu klik “Create” untuk menyimpan pengaturan koneksi dan membuat dashboard
Setelah langkah-langkah ini selesai, panel kontrol Anda sudah siap untuk digunakan sebagai pengontrol lampu melalui MQTT, Dan ini Hasilnya
4. Menghubungkan Semuanya dan Menguji
Setelah semua perangkat terhubung ke broker MQTT, Anda dapat mulai menguji sistem Anda. Menggerakkan slider di panel kontrol akan mengirim perintah ke broker MQTT, yang kemudian meneruskan perintah tersebut ke ESP8266 untuk mengatur sudut servo sesuai dengan nilai yang Anda pilih.
Kesimpulan
Dengan menggunakan MQTT, Anda dapat membangun sistem kontrol servo yang dapat diakses melalui internet. Sistem ini sangat efisien dan cocok untuk aplikasi IoT seperti smart home atau proyek otomasi yang memungkinkan Anda mengontrol perangkat dari jarak jauh.
Jangan ragu untuk mengembangkan proyek ini lebih lanjut. Anda dapat menambahkan fitur-fitur lain, seperti pengaturan otomatisasi servo berdasarkan sensor. Anda juga bisa mempertimbangkan integrasi dengan asisten suara seperti Alexa atau Google Assistant untuk meningkatkan kenyamanan.
Semoga tutorial ini bermanfaat dan memberikan inspirasi untuk membangun sistem IoT Anda sendiri!