4.1 KiB
Kendalikan Lampu Malam Anda melalui Internet - Perangkat IoT Virtual dan Raspberry Pi
Perangkat IoT perlu diprogram untuk berkomunikasi dengan test.mosquitto.org menggunakan MQTT agar dapat mengirimkan nilai telemetri dari pembacaan sensor cahaya, serta menerima perintah untuk mengontrol LED.
Dalam bagian pelajaran ini, Anda akan menghubungkan Raspberry Pi atau perangkat IoT virtual Anda ke broker MQTT.
Instal Paket Klien MQTT
Untuk berkomunikasi dengan broker MQTT, Anda perlu menginstal pustaka MQTT melalui paket pip, baik di Raspberry Pi Anda atau di lingkungan virtual jika Anda menggunakan perangkat virtual.
Tugas
Instal paket pip
-
Buka proyek lampu malam di VS Code.
-
Jika Anda menggunakan perangkat IoT virtual, pastikan terminal menjalankan lingkungan virtual. Jika Anda menggunakan Raspberry Pi, Anda tidak perlu menggunakan lingkungan virtual.
-
Jalankan perintah berikut untuk menginstal paket pip MQTT:
pip3 install paho-mqtt
Program Perangkat
Perangkat siap untuk diprogram.
Tugas
Tulis kode perangkat.
-
Tambahkan impor berikut di bagian atas file
app.py
:import paho.mqtt.client as mqtt
Pustaka
paho.mqtt.client
memungkinkan aplikasi Anda berkomunikasi melalui MQTT. -
Tambahkan kode berikut setelah definisi sensor cahaya dan LED:
id = '<ID>' client_name = id + 'nightlight_client'
Ganti
<ID>
dengan ID unik yang akan digunakan sebagai nama klien perangkat ini, dan nantinya untuk topik yang diterbitkan dan dilanggani oleh perangkat ini. Broker test.mosquitto.org bersifat publik dan digunakan oleh banyak orang, termasuk siswa lain yang mengerjakan tugas ini. Memiliki nama klien MQTT dan nama topik yang unik memastikan kode Anda tidak berbenturan dengan kode orang lain. Anda juga akan memerlukan ID ini saat membuat kode server nanti dalam tugas ini.💁 Anda dapat menggunakan situs web seperti GUIDGen untuk menghasilkan ID unik.
client_name
adalah nama unik untuk klien MQTT ini di broker. -
Tambahkan kode berikut di bawah kode baru ini untuk membuat objek klien MQTT dan menghubungkannya ke broker MQTT:
mqtt_client = mqtt.Client(client_name) mqtt_client.connect('test.mosquitto.org') mqtt_client.loop_start() print("MQTT connected!")
Kode ini membuat objek klien, menghubungkan ke broker MQTT publik, dan memulai loop pemrosesan yang berjalan di thread latar belakang untuk mendengarkan pesan pada topik yang dilanggani.
-
Jalankan kode dengan cara yang sama seperti Anda menjalankan kode dari bagian tugas sebelumnya. Jika Anda menggunakan perangkat IoT virtual, pastikan aplikasi CounterFit berjalan dan sensor cahaya serta LED telah dibuat pada pin yang benar.
(.venv) ➜ nightlight python app.py MQTT connected! Light level: 0 Light level: 0
💁 Anda dapat menemukan kode ini di folder code-mqtt/virtual-device atau folder code-mqtt/pi.
😀 Anda telah berhasil menghubungkan perangkat Anda ke broker MQTT.
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.