Daftar Isi:

Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi: 3 Langkah
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi: 3 Langkah

Video: Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi: 3 Langkah

Video: Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi: 3 Langkah
Video: Tutorial Raspberry Pi Pico W : Project IoT Sederhana WEB Server Kontrol LED Dan Monitoring Suhu 2024, Desember
Anonim
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi
Kontrol LED Berbasis Asisten Google Menggunakan Raspberry Pi

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

Membuat Saluran Thingspeak
Membuat Saluran Thingspeak
Membuat Saluran Thingspeak
Membuat Saluran Thingspeak
Membuat Saluran Thingspeak
Membuat Saluran Thingspeak
Membuat Saluran Thingspeak
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

Menggunakan Aplikasi IFTTT
Menggunakan Aplikasi IFTTT
Menggunakan Aplikasi IFTTT
Menggunakan Aplikasi IFTTT
Menggunakan Aplikasi IFTTT
Menggunakan Aplikasi IFTTT
Menggunakan Aplikasi IFTTT
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

Akhirnya Mulai Kode
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()

Direkomendasikan: