Isi kandungan:

Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi: 3 Langkah
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi: 3 Langkah

Video: Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi: 3 Langkah

Video: Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi: 3 Langkah
Video: Gesture-Controlled Servo with Python and Arduino #electronics #arduinotraining 2024, November
Anonim
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi
Kawalan LED Berasaskan Pembantu Google Menggunakan Raspberry Pi

Hey!

Dalam projek ini, kami akan melaksanakan kawalan LED berdasarkan Assistant Google menggunakan Raspberry Pi 4 menggunakan HTTP di Python. Anda boleh mengganti LED dengan bola lampu (jelas tidak secara harfiah, anda memerlukan modul geganti di antara) atau peralatan rumah lain agar projek ini dapat dilaksanakan lebih jauh untuk tujuan automasi rumah.

Bekalan

Apa yang anda perlukan untuk projek ini:

1. Raspberry Pi

2. LED

3. Jumper wayar-2 (lelaki hingga wanita)

4. Papan roti

5. Aplikasi IFTTT (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=en_IN)

6. Akaun Thingspeak (https://thingspeak.com/)

Beberapa prasyarat:

1. Asas rangkaian-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

Sekiranya anda baru menggunakan Thingspeak dan tidak pernah menggunakannya sebelum ini, ikuti langkah berikut:

Pergi ke

Anda mesti mendaftar sebelum mula menggunakan Thingspeak

Setelah mendaftar, pergi ke bahagian Saluran

Di bawah Saluran, pilih Saluran Baru (lihat gambar untuk rujukan)

Di Saluran Baru, anda akan melihat kotak maklumat yang berbeza. Anda hanya perlu mengisi kotak Nama. Anda boleh menamakan saluran anda mengikut kehendak anda. Saya telah melampirkan gambar di mana saya telah menamakan saluran saya sebagai Raspberry Pi 4. Tinggalkan baki kotak seperti sedia ada.

Tahniah! Anda berjaya membuat saluran untuk projek IoT anda. (lihat gambar yang dilampirkan di mana anda dapat melihat saluran saya yang bernama Raspberry Pi 4 berjaya 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

Kita harus menggunakan aplikasi ini untuk memicu permintaan GET untuk menyiarkan data di saluran Thingspeak yang anda buat menggunakan Google Assistant. Anggap aplikasi ini sebagai antara muka antara Pembantu Google dan saluran Thingspeak anda.

Seterusnya, kami membuat permintaan GET pada aplikasi IFTTT.

Muat turun aplikasi IFTTT dari

cipta akaun anda

Pergi untuk Membuat Applet anda sendiri dari awal

Ketik Jika pilihan ini

Pilih perkhidmatan pencetus sebagai Pembantu Google

Untuk itu, pilih Ucapkan frasa mudah

Di bawah pilihan itu, beberapa kotak maklumat akan muncul. Untuk itu, rujuk gambar dan isikan perinciannya dengan sewajarnya! (terdapat dua gambar untuk tujuan ini: 1. Untuk menghidupkan LED 2. Untuk mematikan LED)

Kami telah menyelesaikan bahagian Jika Ini yang merupakan Pembantu Google. Sekarang kita memilih pilihan Kemudian Itu yang merupakan Webhooks.

Di bawah itu, pilih Buat permintaan web

Rujuk gambar untuk maklumat yang perlu diisi di dalam kotak. Rujuk URL ini https://api.thingspeak.com/update?api_key=INSERT KUNCI API TULIS & medan1 = 1

Dalam URL di atas, anda akan menyedari bahawa saya telah menyebut mengenai MASUKKAN KUNCI API MENULIS ANDA. Ini adalah kunci API yang merupakan identiti saluran yang anda buat di Thingspeak (lihat gambar). Kunci API Tulis akan membantu anda menulis data tertentu ke saluran anda dan juga kekunci Baca API akan membantu anda mendapatkan data dari saluran tersebut.

Selain daripada kunci API Tulis anda, maklumat selebihnya dari kotak tetap sama.

Jadi di sini anda telah membuat pemicu di mana apabila anda mengatakan kepada Pembantu Google anda, "Hidupkan LED" ia akan menghantar "1" ke saluran Thingspeak anda.

Sekarang, dengan cara yang serupa, anda harus membuat Applet baru pada aplikasi IFTTT untuk mematikan LED. Saya telah melampirkan gambar jika anda keliru akan perkara yang sama. Jika tidak, prosedur mematikan LED adalah sama seperti yang anda lakukan di atas selain daripada beberapa perubahan kecil.

Langkah 3: Akhirnya Memulakan Kod

Akhirnya Bermula dengan Kod
Akhirnya Bermula dengan Kod

Saya akan menerangkan objektif utama kod Python. Kita harus mengambil data dari saluran Thingspeak yang berupa "1" atau "0" berdasarkan apa yang anda katakan kepada Pembantu Google anda. Kita mesti menghidupkan atau mematikan LED berdasarkan ini. Sekiranya nilai yang dimuat naik di saluran Thingspeak adalah "1", maka kami akan menyalakan LED, dan jika ia adalah "0", kami akan mematikannya.

Dalam kod tersebut, anda memerlukan dua perkara: 1. Kekunci Baca API anda 2. ID Saluran anda (rujuk gambar yang sama)

Inilah kodnya (dengan andaian anda mengetahui prasyarat HTTP dan Python):

mengimport urllib

permintaan import

import json

masa import

import RPi. GPIO sebagai GPIO

GPIO.setmode (GPIO. BOARD)

GPIO.setup (7, GPIO. OUT)

cuba:

sementara (1):

URL = 'https://api.thingspeak.com/channels/ MASUKKAN ID SALURAN / bidang / 1.json? Api_key =' KEY = 'MASUKKAN KEY API BACA ANDA'

KETUA = '& hasil = 2'

NEW_URL = URL + KEY + HEADER

#cetakan (NEW_URL)

get_data = request.get (NEW_URL).json ()

#cetak (get_data)

feild_1 = get_data ['suapan']

#print ("Field:", feild_1)

t =

untuk x dalam feild_1:

t.lampirkan (x ['field1'])

cetak (t [1])

jika int (t [1]) == 1:

GPIO.output (7, 1)

elif int (t [1]) == 0:

GPIO.output (7, 0)

kecuali KeyboardInterrupt:

GPIO.cleanup ()

Disyorkan: