NURUL MAGFIRAH LAP 10.2 Internet of Thing [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN PRAKTIKUM MIKROPROSESSOR & MIKROKONTROLLER “Internet of Thing”



Oleh : NAMA



: NURUL MAGFIRAH



NIM



: 32219017



KELAS



: 2A D3- TELEKOMUNIKASI TELEKOMUNIKASI



JURUSAN TEKNIK ELEKTRO POLITEKNIK NEGERI UJUNG PANDANG TAHUN PELAJARAN 2020/2021



Internet of Thing



1. Tujuan  Indentifikasi protokol MQTT  Konfigurasi MQTT Broker local host  Konfigurasi Cloud MQTT Broker  Membuat program aplikasi IoT



2. Dasar Teori Internet of Things (IoT) adalah suatu teknologi interaksi Machine To Machine (M2M) melalui jaringan internet tanpa interaksi manusia. “Thing” pada IoT adalah perangkat apa saja yang memiliki kemampuan untuk mengumpulkan dan mentransfer data melalui jaringan secara otonom. IoT memungkinkan perangkat (things) di setiap titik client berinteraksi melalui internet dan dapat dimonitor ataupun dikendalikan dari manapun. Protokol internet yang populer adalah HTTP yang berjalan di atas TCP/IP berbasis arsitektur client/server. Tetapi protokol tersebut tidak dioptimasi untuk rancangan sistem embedded mikrokontroler yang memiliki kemampuan hardware (CPU, memori) terbatas. Perangkat IoT biasanya menggunakan sensor-sensor untuk pengindraan lingkungan yang memerlukan mikrokontroler dengan fleksibilitas tinggi, misalnya modul ESP8266 atau ESP32. Tiap-tiap sensor akan terhubung ke modul mikrokontroler sebagai client pada sistem. Sehingga diperlukan protokol yang lebih ringan dan sederhana daripada HTTP.



Gambr 1. Sistem Protokol MQTT



Message Queuing Telemetry Transport (MQTT) adalah salah satu protokol konektivitas mechine-to-machine (M2M)/Internet of Things (IOT) yang berbasis open source (Eclipse) dengan standar terbuka (OASIS) yang dirancang untuk perangkat terbatas dan bandwidth rendah, dengan legency yang tinggi. MTTQ berbasis data-senteris sedangkan HTTP berbasis dokumen-senteris, keuntungan utamanya adalah sangat ringan (data ditransfer sebagai array byte) dengan model arsitektur publish/subscribe sehingga memungkinkan diterapkan pada perangkat dengan sumber daya terbatas. Protokol ini memiliki kemampuan publish dan subscribe sehingga dapat digunakan untuk komunikasi dua arah baik antara server ataupun dengan device yang lain. Protocol MQTT menggunakan prinsip kerja publish dan subscribe. Publish pada protocol MQTT adalah prosses pengiriman atau uploading data pada topic yang sudah di tentukan ke server MQTT. Sedangkan Subscribe adalah proses berlanganan pada topic dan data yang sudah terpublish.Topic adalah nama chanel yang berfungsi sebagai jembatan antara publish dan subscriber.



Gambar 1. Prinsip Kerja MQTT



3. Alat dan Bahan  Modul WiFi ESP8266  MQTTlens  MQTT Broker  Perangkat mobile  Laptop  Pubsub library  Internet



4. Langkah Kerja 4.1 Install PubSubClient Library pada Arduino IDE 4.1.1 Buka software Arduino IDE 4.1.2 Klik “Manage Libraries” pada menu skecth Include Library Manage Libraries 4.1.3 Ketikan pada “filter your search”  PubSubClient 4.1.4 Kemudian klik install, dan tunggu beberapa detik sampai proses selesai 4.1.5 Terakhir pilih close 4.2 Install Mosquitto Broker 4.2.1 Download software Mosquitto pada link di bawah ini: https://mosquitto.org/download/ 4.2.2 Install Mosquitto pada Windows. 4.2.3 kemudian setup folder instalasi, default folder terletak pada folder c:\Program Files\Mosquitto 4.2.4 Setelah selesai installasi, pastikan pada folder Instalasi Mosquitto terdapat files dependencies yang dibutuhkan: o libssl-1_1.dll, libcrypto-1_1.dll atau o libssl-1_1-x64.dll, libcryto-1_1.dll



Gambar 1. Folder Instalasi Mosquitto



4.2.5 Jika terdapat file *.dll di atas maka install terlebih dahulu “Win32 OpenSSL 1.1.0* Light“, dapat didownload di http://slproweb.com/products/Win32OpenSSL.html. Kemudian copy file *.dll dari hasil installasi OpenSSL ke folder instalasi Mosquitto. 4.3 Penggunaan dari Mosquitto 4.3.1 Subscribe  Buka Command Promp kemudian change directory ke Mosquitto Folder. cd c:\Program files\mosquitto  Command berikut untuk men-subscribe data. mosquitto_sub -h localhost -t testtopic/lab_uP/Sensor1 –v



Gambar 2. Subscribe Mosquitto Broker 4.3.2 Publish  Buka Command Prompt kemudian change directory ke Mosquitto Folder. cd c:\Program files\mosquitto  Command berikut publish data pada broker Mosquitto menggunakan localhost computer. mosquitto_pub -h localhost -p 1883 -t testtopic/lab_uP/Sensor1 -m 1



Gambar 3. Command Publish Mosquitto



Gambar 4. Data Publish terlihat pada device yang subscribe 



Pastikan Mosquitto sudah running pada services.



Gambar 5. Status Mosquitto Broker pada services 4.4 Cloud MQTT Broker 4.4.1 Buka software Arduino IDE 4.4.2 Buatlah program MQTT Broker local host di bawah ini pada menu file  New. #include



#include



// Update these with values suitable for your network. const char* ssid = ".......";



const char* password = "........"; const char* mqtt_server = "broker.mqtt-dashboard.com"; WiFiClient espClient; PubSubClient client(espClient); long lastMsg = 0; char msg[50]; int value = 0; void setup() { pinMode(BUILTIN_LED, OUTPUT); an output Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(callback); }



// Initialize the BUILTIN_LED pin as



void setup_wifi() { delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]) ; } Serial.println(); // Switch on the LED if an 1 was received as first character if ((char)payload[0] == '1') { digitalWrite(BUILTIN_LED, LOW); // Turn the LED on (Note that LOW is the voltage level



// but actually the LED is on; this is because } else { digitalWrite(BUILTIN_LED, HIGH); // Turn the LED off by making the voltage HIGH } } void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); // Attempt to connect if (client.connect("ESP8266Client")) { Serial.println("connected"); // Once connected, publish an announcement... client.publish("outTopic", "hello world"); // ... and resubscribe client.subscribe("inTopic") ; } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void loop() { if (!client.connected()) { reconnect(); } client.loop(); long now = millis(); if (now - lastMsg > 2000) { lastMsg = now; ++value; snprintf (msg, 75, "hello world #%ld", value); Serial.print("Publish message: "); Serial.println(msg); client.publish("outTopic", msg); } } 4.4.3 Buatlah hotspot dengan tethering perangkat mobile (handphone) 4.4.4 Hubungkan wifi laptop ke laptop tethering pada langkah 4.4.3. 4.4.5 Isilah ssid dan password program langkah sesuai dengan ssid dan password pada hotspot tethering.



Sedangkan



(test.mosquitto.org) .



*mqtt_server



diisi



dengan



salah



satu



alamat



Cloud



MQTT



const char* ssid = " labMikro "; // contoh labMikro const char* password = "123456"; //123456 const char* mqtt_server = " test.mosquitto.org"; //cloud mqtt broker



4.4.6 Setelah itu upload program 4.4.7 Buka MQTTLens pada Google Chrome 4.4.8 Isilah Connection name dengan “labMikroCloudMqtt” dan hostname “test.mosquitto.org”.



4.4.9 Kemudian klik CREATE CONNECTION 4.4.10 Ketik “inTopicLabMikro” pada kotak Subscribe dan Publish.



4.4.11 Kemudian ketik “1” pada kotak Message 4.4.12 klik SUBSCRIBE dan PUBLISH. 4.4.13 Amati LED Builtin pada board esp8266. 4.4.14 Ketik “0” pada kotak Message 4.4.15 Ulangi langkah 4.4.12 dan 4.3.13



4.4.16 Ulangi langkah 4.7 pada modul 7



5. Data Hasil Percobaan a. Mengatur ssid, password dan mqtt_server



b. Scetch pada arduino IDE setelah diupload



c. Pengaturan pada MQTTLens



d. Hasil pada MQTT ketika di beri message 1 -



Tampilan pada layar



-



-



Tampilan esp32 lampu mati



e. Hasil pada MQTT ketika diberi message 0 -



Tampilan pada layar



-



Tampilan esp32 dengan lampu menyala



6. Analisa Data Berdasarkan data hasil percobaan yang telah didapatkan diatas maka dapat diketahui bahwa untuk melakukan percobaan ini hal yang harus diketahui terlebih dahulu yaitu ip dari komputer atau laptop yang akan digunakan. Kemudian pada saat kita mengapluod scetch dari esp32 paa arduino maka terlebih dahulu esp itu dihubungkan dengan komputer dengan memperhatikan di port berapa esp32 itu tersambung. Kemudian pada proses pengapluodan ketika muncul tulisan merah maka kita hrus menekan tombol BOOT pada esp32 agar dapat terbaca. Setelah itu, maka kita dapat mengetes atau melakukan uji coba dengan menggunakan MQTT untuk menyalakan



dan



mematikan



lampu



pada



esp32



tersebut.



Pada



saat



akan



menyambungkan pada MQTT ada beberapa hal yang perlu diperhatikan yaitu subscribe yang diisi dengan “outTopic” dan pada publish diisi dengan “inTopic” setelah itu masukkan message berupa angka 1 atau 0. Dimana hasil yang didapatkan yaitu pada saat diberi angka 1 maka lampu pada esp32 mati sedangkan pada saat diberi pesan 0 maka lampu akan menyala. Yang berfungsi sebagai pengirim pesan pada MQTT ini ialah publish sedangkan subscribe untuk menerima pesan. Jadi ketika pesan telah ditulis kemudian mengklik publish maka pesan dalam proses pengiriman sedangkan pada saat menekan subscribe maka pesan akan diterima ditandai dengan adanya pemberitahuan atau tampilan pada layar MQTT dan Arduino dengan pesan “Hellp world”. Sedangkan MQTT Broker ini berfungsi sebagai jembatan yang menghubungkan antara publisher atau pengirim dengan subscriber atau penerima. Dimana setiap pesan yang melewati broker, kemudian pesan yang dikirim akan dikategorikan sesuai dengan topiknya. Dimana pada percobaan ini dilakukan dengan mengganti ip pada mqtt server menjadi “test.mosquitto.org”. agar perintah pada MQTTLens berjalan maka kita harus membuka link tersebut pada browser komputer yang digunakan agar dapat terkoneksi. 7. Kesimpulan Setelah melakukan percobaan ini yabg mendapatkan hasil seperti yang tertera pada bagian data hasil percobaan dan setelah melakukan analisa maka dapat disimpulkan bahwa: 1. Salah satu yang cara untuk melakukan IoT ini dengan memanfaatkan MQTT. 2. Pada MQTT terdapat dua prinsip kerja yaitu publisher dan subscriber.



3. Publisher berfungsi sebagai pengirim pesan pada topik tertentu 4. Subscriber berfungsi mendengarkan pada topik tertentu untuk menerima pesan. 5. MQTT broker sebagai jembatan antara publisher dan subscriber. Dimana setiap pesan akan melewati MQTT broker lalu pesan akan dikategorikan berdasarkan topiknya 6. Hal yang perlu diperhatikan dalam melakukan percobaan ini yaitu mematikan windows firewall pada komputer agar program dapat berjalan. 7. MQTT ini selain dapat dikoneksikan dengan local host dapat juga dikoneksikan dengan cloud MQTTnya. 8. Dalam melakukan konektivitas diperlukan ketelitian yang tinggi dalam praktikum ini agar simulasi dapat berjalan sesuai dengan perintah.