Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Hai!
Dalam proyek ini, kami akan menerapkan kontrol LED berbasis Asisten Google menggunakan Raspberry Pi 4 menggunakan HTTP dengan Python. Anda dapat mengganti LED dengan bola lampu (jelas tidak secara harfiah, Anda akan memerlukan modul relai di antaranya) atau peralatan rumah lainnya sehingga proyek ini dapat diimplementasikan lebih lanjut untuk tujuan otomatisasi rumah.
Perlengkapan
Apa yang Anda perlukan untuk proyek ini:
1. Raspberry Pi
2. LED
3. Kabel jumper-2 (jantan ke betina)
4. Papan tempat memotong roti
5. Aplikasi IFTTT (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=en_IN)
6. Akun Thingspeak (https://thingspeak.com/)
Beberapa prasyarat:
1. Dasar-dasar jaringan-HTTP
2. Python untuk mengakses data web
Langkah 1: Membuat Saluran Thingspeak
Jika Anda baru mengenal Thingspeak dan belum pernah menggunakannya sebelumnya, ikuti langkah-langkah di bawah ini:
Buka
Anda harus mendaftar sebelum mulai menggunakan Thingspeak
Setelah mendaftar, buka bagian Saluran
Di bawah Saluran, pilih Saluran Baru (lihat gambar untuk referensi)
Di Saluran Baru, Anda akan melihat kotak informasi yang berbeda. Anda hanya perlu mengisi kotak Nama. Anda dapat memberi nama saluran Anda apa pun yang Anda inginkan. Saya telah melampirkan gambar di mana saya menamai saluran saya sebagai Raspberry Pi 4. Biarkan sisa kotak apa adanya.
Selamat! Anda telah berhasil membuat saluran untuk proyek IoT Anda. (lihat gambar terlampir di mana Anda dapat melihat saluran saya bernama Raspberry Pi 4 berhasil dibuat)
Langkah 2: Menggunakan Aplikasi IFTTT
Kami harus menggunakan aplikasi ini untuk memicu permintaan GET untuk memposting data di saluran Thingspeak yang Anda buat menggunakan Asisten Google. Anggap aplikasi ini sebagai antarmuka antara Google Assistant dan saluran Thingspeak Anda.
Selanjutnya, kami membuat permintaan GET di aplikasi IFTTT.
Unduh aplikasi IFTTT dari
buat akunmu
Pergi ke Membuat Applet Anda sendiri dari awal
Ketuk Jika opsi ini
Pilih layanan pemicu sebagai Asisten Google
Dalam hal itu, pilih Ucapkan frasa sederhana
Di bawah opsi itu, beberapa kotak informasi akan muncul. Untuk itu, lihat gambar dan isi detail yang sesuai! (ada dua gambar untuk tujuan ini: 1. Untuk menyalakan LED 2. Untuk mematikan LED)
Kami telah menyelesaikan bagian If This yang merupakan Asisten Google. Sekarang kita pilih opsi Then That yaitu Webhooks.
Di bawah itu, pilih Buat permintaan web
Lihat gambar untuk informasi yang harus diisi dalam kotak. Rujuk URL ini https://api.thingspeak.com/update?api_key=INSERT YOUR WRITE API KEY&field1=1
Di URL di atas, Anda akan melihat bahwa saya telah menyebutkan tentang INSERT YOUR WRITE API KEY. Ini adalah kunci API yang merupakan identitas saluran yang Anda buat di Thingspeak (lihat gambar). Tulis kunci API akan membantu Anda menulis data tertentu ke saluran Anda dan juga kunci Baca API akan membantu Anda mendapatkan data dari saluran.
Terlepas dari kunci API Tulis Anda, sisa informasi dari kotak tetap sama.
Jadi di sini Anda telah membuat pemicu di mana ketika Anda mengatakan kepada Asisten Google Anda, "Nyalakan LED" itu akan mengirim "1" ke saluran Thingspeak Anda.
Sekarang, dengan cara yang sama, Anda harus membuat Applet baru di aplikasi IFTTT untuk mematikan LED. Saya telah melampirkan gambar jika Anda bingung tentang hal yang sama. Jika tidak, prosedur untuk mematikan LED sama dengan yang Anda lakukan di atas, kecuali beberapa perubahan kecil.
Langkah 3: Akhirnya Mulai Kode
Saya akan menjelaskan tujuan utama dari kode Python. Kami harus mengambil data dari saluran Thingspeak yang akan menjadi "1" atau "0" berdasarkan apa yang Anda katakan kepada Asisten Google Anda. Kita harus menyalakan atau mematikan LED berdasarkan ini. Jika nilai yang diunggah di saluran Thingspeak adalah "1", maka kami menyalakan LED, dan jika itu adalah "0", kami mematikannya.
Dalam kode, Anda memerlukan dua hal: 1. Kunci API Baca Anda 2. ID Saluran Anda (lihat gambar untuk hal yang sama)
Berikut kodenya (dengan asumsi Anda mengetahui prasyarat HTTP dan Python):
urllib impor
permintaan impor
impor json
waktu impor
impor RPi. GPIO sebagai GPIO
GPIO.setmode(GPIO. PAPAN)
GPIO.setup(7, GPIO. OUT)
mencoba:
sementara (1):
URL='https://api.thingspeak.com/channels/INSER YOUR CHANNEL ID/fields/1.json?api_key=' KEY='INSERT YOUR READ API KEY'
HEADER='&hasil=2'
NEW_URL=URL+KEY+HEADER
#cetak(NEW_URL)
get_data=permintaan.get(NEW_URL).json()
#cetak(get_data)
feild_1=get_data['feeds']
#print("Bidang:", feild_1)
t=
untuk x di feild_1:
t.tambahkan(x['bidang1'])
cetak(t[1])
jika int(t[1])==1:
GPIO.keluaran (7, 1)
elif int(t[1])==0:
GPIO.keluaran (7, 0)
kecuali KeyboardInterrupt:
GPIO.pembersihan()