Daftar Isi:
- Langkah 1: Apa itu MQTT dan Bagaimana Cara Kerjanya
- Langkah 2: Raspberry Pi
- Langkah 3: Cara Mengatur Alamat Ip Statis
- Langkah 4: NodeMCU
- Langkah 5: Skrip Python
- Langkah 6: Koneksi dan Diagram Sirkuit
- Langkah 7: Hasil
Video: Raspberry Pi Berbicara dengan ESP8266 Menggunakan MQTT: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Dalam proyek ini, saya akan menjelaskan apa itu protokol MQTT dan bagaimana protokol itu digunakan untuk berkomunikasi antar perangkat. Kemudian, sebagai demonstrasi praktis, saya akan mendemonstrasikan cara mengatur sistem klien dan pialang, di mana modul ESP8266 serta RPi berbicara satu sama lain atau mengirim pesan saat tombol ditekan.
Bahan yang dibutuhkan
1. Raspberry Pi 3
2. NodeMCU
3. LED
4. Tombol
5. Resistor (10k, 475 ohm)
Langkah 1: Apa itu MQTT dan Bagaimana Cara Kerjanya
MQTT
MQTT adalah protokol transfer data mesin-ke-mesin (M2M). MQTT dibuat dengan tujuan mengumpulkan data dari banyak perangkat dan kemudian mengirimkan data tersebut ke infrastruktur TI. Ringan, dan karenanya ideal untuk pemantauan jarak jauh, terutama dalam koneksi M2M yang memerlukan jejak kode kecil atau di mana bandwidth jaringan terbatas.
Cara kerja MQTT
MQTT adalah protokol publish/subscribe yang memungkinkan perangkat edge-of-network untuk mempublikasikan ke broker. Klien terhubung ke broker ini, yang kemudian memediasi komunikasi antara kedua perangkat. Setiap perangkat dapat berlangganan, atau mendaftar, ke topik tertentu. Ketika klien lain memublikasikan pesan tentang topik langganan, broker meneruskan pesan tersebut ke klien mana pun yang telah berlangganan.
MQTT adalah dua arah, dan mempertahankan kesadaran sesi stateful. Jika perangkat edge-of-network kehilangan konektivitas, semua klien yang berlangganan akan diberi tahu dengan fitur "Kehendak dan Perjanjian Terakhir" dari server MQTT sehingga setiap klien resmi dalam sistem dapat memublikasikan nilai baru kembali ke edge-of- perangkat jaringan, mempertahankan konektivitas dua arah.
Proyek ini dibagi menjadi 3 bagian
Pertama, kami membuat server MQTT di RPi dan menginstal beberapa perpustakaan.
Kedua, kita akan menginstal library di Arduino IDE agar NodeMCU dapat bekerja dengan MQTT, mengunggah kode dan memeriksa apakah server berfungsi atau tidak.
Terakhir, kami membuat skrip di Rpi, mengunggah kode yang diperlukan di NodeMCU dan menjalankan skrip python untuk mengontrol led dari sisi server dan klien. Di sini, server adalah RPi dan klien adalah NodeMCU.
Langkah 2: Raspberry Pi
1. Untuk menginstal server dan klien MQTT terbaru di RPi, untuk menggunakan repositori baru Anda harus terlebih dahulu mengimpor kunci penandatanganan paket repositori.
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key tambahkan mosquitto-repo.gpg.key
2. Jadikan repositori tersedia untuk apt.
cd /etc/apt/sources.list.d/
3. Tergantung pada versi Debian yang Anda gunakan.
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
sudo apt-get update
4. Instal server Mosquitto menggunakan perintah.
sudo apt-get install mosquitto
Jika Anda mendapatkan kesalahan dalam menginstal Mosquitto seperti ini.
#################################################################
Paket-paket berikut memiliki dependensi yang belum terpenuhi:mosquitto: Tergantung: libssl1.0.0 (>= 1.0.1) tetapi tidak dapat diinstal Tergantung: libwebsockets3 (>= 1.2) tetapi tidak dapat diinstal E: Tidak dapat memperbaiki masalah, Anda telah menahan kerusakan paket.
#################################################################
Kemudian gunakan perintah ini untuk memperbaiki masalah.
sudo apt --fix-broken install
5. Setelah menginstal server MQTT, instal klien menggunakan perintah
sudo apt-get install mosquitto-clients
Anda dapat memeriksa layanan menggunakan perintah.
systemctl status mosquitto.service
Saat server dan klien MQTT kami diinstal. Sekarang, kita dapat memeriksanya menggunakan berlangganan dan publikasikan. Untuk berlangganan dan mempublikasikan Anda dapat memeriksa perintah atau mengunjungi situs web seperti yang diberikan di bawah ini.
Sub Nyamuk
Pub Nyamuk
Untuk menginstal pustaka paho-mqtt gunakan perintah di bawah ini.
sudo pip install paho-mqtt
Paho
Langkah 3: Cara Mengatur Alamat Ip Statis
Buka direktori cd /etc dan buka file dhcpcd.conf menggunakan editor apa saja. Pada akhirnya, tulis empat baris ini.
antarmuka eth0 static ip_address=192.168.1.100 // ip yang ingin Anda gunakan
antarmuka wlan0
ip_address statis = 192.168.1.68
router statis=192.168.1.1 // Gerbang default Anda
static domain_name_servers=192.168.1.1
Setelah itu simpan dan reboot pi Anda.
Langkah 4: NodeMCU
Instal perpustakaan yang diperlukan di Arduino IDE untuk NodeMCU
1. Buka Sketsa ==> Sertakan perpustakaan ==> Kelola perpustakaan.
2. Cari mqtt dan instal perpustakaan oleh Adafruit atau Anda dapat menginstal perpustakaan apa pun.
3. Tergantung pada library sleepydog jadi kita juga membutuhkan library ini.
Program diberikan di atas, hanya untuk memeriksa apakah itu berfungsi atau tidak. Di sini saya belum membuat skrip apa pun di RPi. Kami hanya menggunakan perintah untuk berlangganan dan menerbitkan. Kami akan membuat skrip untuk mengontrol nanti.
mosquitto_pub -h raspberrypi -t "/ leds/pi" -m "ON"
mosquitto_pub -h raspberrypi -t "/ leds/pi" -m "OFF"
mosquitto_pub -h raspberrypi -t "/ leds/pi" -m "TOGGLE"
mosquitto_pub -h raspberrypi -t "/ leds/esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/ leds/esp8266" -m "OFF"
mosquitto_pub -h raspberrypi -t "/ leds/esp8266" -m "TOGGLE"
-h == > nama host-t == > topik
-m == > pesan
Setelah memeriksa program Mqtt_check, unggah program lengkap di NodeMCU
Langkah 5: Skrip Python
Seperti yang saya bahas di atas kita membutuhkan skrip python untuk mengendalikan led menggunakan tombol. Jadi, kita akan membuat skrip. Script diberikan di atas.
Ketika Anda menjalankan skrip skrip Anda akan terlihat seperti yang ditunjukkan pada gambar, jika kode hasil tidak nol maka itu adalah kesalahan, Anda dapat memeriksa kesalahan di situs web paho.
Langkah 6: Koneksi dan Diagram Sirkuit
Antarmuka tombol, LED dengan NodeMCU
NodeMCU === > ButtonGnd === > Gnd
3.3V === > PIN1
GPIO4 (D2) === > PIN2
NodeMCU === > LED
Gnd === > Katoda (-ve)
GPIO5 (D1) === > Anoda(+ve)
Antarmuka tombol, LED dengan RPi
RPi === > ButtonGnd === > PIN1
GPIO 23 === > PIN2
RPi === > LED
Gnd == > Katoda (-ve)
GPIO 24 === > Anoda(+ve)
Langkah 7: Hasil
Pastikan skrip Anda berjalan jika tidak, skrip tidak akan dapat mengontrol led menggunakan tombol.
Direkomendasikan:
Arduino Text to Speech Converter Menggunakan LM386 - Berbicara Proyek Arduino - Perpustakaan Arduino Talkie: 5 Langkah
Arduino Text to Speech Converter Menggunakan LM386 | Berbicara Proyek Arduino | Perpustakaan Arduino Talkie: Hai teman-teman, dalam banyak proyek kami membutuhkan arduino untuk berbicara seperti jam bicara atau memberi tahu beberapa data sehingga instruksi ini kami akan mengubah teks menjadi ucapan menggunakan Arduino
Berbicara Arduino - Memutar MP3 Dengan Arduino Tanpa Modul Apa Pun - Memutar File Mp3 Dari Arduino Menggunakan PCM: 6 Langkah
Berbicara Arduino | Memutar MP3 Dengan Arduino Tanpa Modul Apa Pun | Memutar File Mp3 Dari Arduino Menggunakan PCM: Dalam instruksi ini kita akan belajar cara memutar file mp3 dengan arduino tanpa menggunakan modul audio apa pun, di sini kita akan menggunakan perpustakaan PCM untuk Arduino yang memainkan PCM 16 bit frekuensi 8kHZ jadi mari kita lakukan ini
Jadikan Komputer Anda Berbicara Apa yang Anda Ketik Menggunakan Notepad: 3 Langkah
Jadikan Komputer Anda Berbicara Apa yang Anda Ketik Menggunakan Notepad: Berikut ini adalah salah satu kode menarik yang kami buat untuk membuat komputer Anda berbicara apa yang Anda ketik. Kami akan menggunakan notepad untuk membuatnya. Ayo mulai
Berbicara Jam Dengan Arduino: 3 Langkah (dengan Gambar)
Talking Clock With Arduino: Halo semuanya, Untuk sementara saya mencoba membangun Talking Clock (lihat video), tetapi tidak mendapatkan hasil yang baik karena model modul suara yang saya gunakan untuk itu. Setelah banyak pencarian terkait dengan perangkat keras yang tepat dan juga pelajari tentang cara menggunakan perpustakaan yang tepat
Alat Ukur Indeks UV Berbicara, Menggunakan Sensor VEML6075 dan Little Buddy Talker: 5 Langkah
Alat Ukur Indeks UV Berbicara, Menggunakan Sensor VEML6075 dan Pembicara Kecil: Musim panas datang ! Matahari bersinar! Bagus sekali. Tetapi karena radiasi ultraviolet (UV) semakin intens, orang-orang seperti saya mendapatkan bintik-bintik, pulau-pulau kecil berwarna coklat berenang di lautan kulit merah, terbakar matahari, gatal-gatal. Mampu memiliki informasi real-time