Mundarija:

Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish: 3 qadam
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish: 3 qadam

Video: Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish: 3 qadam

Video: Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish: 3 qadam
Video: Lesson 29: Car-7 Controlling SunFounder Smart Car using Remote Controller | Robojax 2024, Dekabr
Anonim
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish
Raspberry Pi yordamida Google yordamchisiga asoslangan LEDni boshqarish

Hey!

Ushbu loyihada biz Google yordamchisiga asoslangan LEDni Raspberry Pi 4 yordamida HTTP yordamida Pythonda boshqaramiz. Siz LEDni lampochka bilan almashtirishingiz mumkin (aniqrog'i, sizga o'rni moduli kerak bo'ladi) yoki boshqa har qanday maishiy texnika, bu loyihani uyni avtomatlashtirish maqsadida yanada amalga oshirish uchun.

Ta'minotlar

Ushbu loyiha uchun sizga kerak bo'ladi:

1. Raspberry Pi

2. LED

3. Jumper simlari-2 (erkakdan ayolgacha)

4. Non paneli

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

6. Thingspeak hisob qaydnomasi (https://thingspeak.com/)

Ba'zi old shartlar:

1. Tarmoq asoslari-HTTP

2. Python veb -ma'lumotlarga kirish uchun

1 -qadam: Thingspeak kanalini yaratish

Thingspeak kanalini yaratish
Thingspeak kanalini yaratish
Thingspeak kanalini yaratish
Thingspeak kanalini yaratish
Thingspeak kanalini yaratish
Thingspeak kanalini yaratish
Thingspeak kanalini yaratish
Thingspeak kanalini yaratish

Agar siz Thingspeak -da yangi bo'lsangiz va uni hech qachon ishlatmagan bo'lsangiz, quyidagi amallarni bajaring.

Https://thingspeak.com/ saytiga o'ting

Thingspeak -dan foydalanishni boshlashdan oldin siz ro'yxatdan o'tishingiz kerak bo'ladi

Ro'yxatdan o'tgandan so'ng, "Kanallar" bo'limiga o'ting

"Kanallar" bo'limida "Yangi kanal" -ni tanlang (ma'lumot uchun rasmga qarang).

Yangi kanalda siz turli xil ma'lumot qutilarini ko'rasiz. Siz faqat Ismlar maydonini to'ldirishingiz kerak. Siz xohlagan kanalingizga nom berishingiz mumkin. Men o'z rasmimni biriktirdim, u erda o'z kanalimni Raspberry Pi 4 deb nomladim. Qolgan qutilarni xuddi shunday qoldiring.

Tabriklaymiz! Siz IoT loyihangiz uchun kanalni muvaffaqiyatli yaratdingiz. (Raspberry Pi 4 nomli kanalim muvaffaqiyatli yaratilganini ko'rishingiz mumkin)

2 -qadam: IFTTT ilovasidan foydalanish

IFTTT ilovasidan foydalanish
IFTTT ilovasidan foydalanish
IFTTT ilovasidan foydalanish
IFTTT ilovasidan foydalanish
IFTTT ilovasidan foydalanish
IFTTT ilovasidan foydalanish
IFTTT ilovasidan foydalanish
IFTTT ilovasidan foydalanish

Google Assistant yordamida Thingspeak kanalida ma'lumotlarni joylashtirish uchun GET so'rovini ishga tushirish uchun biz ushbu ilovadan foydalanishimiz kerak. Bu ilovani Google Assistant va Thingspeak kanalingiz orasidagi interfeys deb tasavvur qiling.

Keyinchalik, biz IFTTT ilovasida GET so'rovlarini yaratamiz.

IFTTT dasturini https://play.google.com/store/apps/details?id=com… saytidan yuklab oling.

Hisob qaydnomangizni yarating

O'z qo'lingiz bilan applet yasashga o'ting

Agar bu variantni bosing

Google Assistant sifatida ishga tushirish xizmatini tanlang

Unda Oddiy iborani ayt -ni tanlang

Ushbu parametr ostida ba'zi ma'lumotlar qutilari paydo bo'ladi. Buning uchun rasmlarga qarang va shunga mos ravishda tafsilotlarni to'ldiring! (buning uchun ikkita rasm bor: 1. LEDni yoqish uchun 2. LEDni o'chirish uchun)

Google Assistant -ning "Agar bu bo'lsa" qismini yakunladik. Endi biz Webhooks ni tanlaymiz.

Buning ostida Veb -so'rovni tanlang

Qatorlarga to'ldirilishi kerak bo'lgan ma'lumot uchun rasmga qarang. Bu manzilga murojaat qiling https://api.thingspeak.com/update?api_key=INSERT YOUR API API KEY & field1 = 1

Yuqoridagi URLda men yozgan API kalitini yozish haqida aytib o'tganimni sezasiz. Bu Thingspeak -da siz yaratgan kanalning identifikatori bo'lgan API kaliti (rasmga qarang). API yozish kaliti sizning kanalingizga ma'lum ma'lumotlarni yozishga yordam beradi va shunga o'xshash API -ni o'qish sizga kanaldan ma'lumotlarni olishga yordam beradi.

Write API kalitidan tashqari, qolgan ma'lumotlar ham xuddi shunday qoladi.

Bu erda siz Google Assistentingizga "LEDni yoqing" deganingizda Thingspeak kanalingizga "1" raqamini yuboradigan tetik yaratgansiz.

Endi, xuddi shu tarzda, LEDni o'chirish uchun IFTTT ilovasida yangi Applet yaratishingiz kerak. Agar siz bu haqda chalkash bo'lsangiz, rasmlarni biriktirdim. Aks holda, LEDni o'chirish tartibi, ba'zi kichik o'zgarishlardan tashqari, yuqorida qilganingiz bilan bir xil bo'ladi.

3 -qadam: Nihoyat kodni ishga tushirish

Nihoyat, kodlashni boshlaymiz
Nihoyat, kodlashni boshlaymiz

Men Python kodining asosiy maqsadini tushuntiraman. Thingspeak kanalidan Google Assistentga aytganlaringiz asosida "1" yoki "0" bo'lishi kerak bo'lgan ma'lumotlarni olishimiz kerak. Biz bunga asoslanib LEDni yoqishimiz yoki o'chirishimiz kerak. Agar Thingspeak kanaliga yuklangan qiymat "1" bo'lsa, biz LEDni yoqamiz, agar "0" bo'lsa, uni o'chirib qo'yamiz.

Kodda sizga ikkita narsa kerak bo'ladi: 1. Sizning API o'qish kalitingiz 2. Sizning kanal identifikatoringiz (rasmlarga qarang)

Bu erda kod (HTTP va Pythonning old shartlarini bilsangiz):

urllib import qilish

import so'rovlari

json import qilish

import vaqti

RPi. GPIO -ni GPIO sifatida import qilish

GPIO.setmode (GPIO. BOARD)

GPIO. sozlash (7, GPIO. OUT)

harakat qilib ko'ring:

vaqt (1):

URL = 'https://api.thingspeak.com/channels/KANALNING ID/maydonlari/1.json? INSER? Api_key =' KEY = 'O'QISH API KEYTINI KIRING'

HEADER = '& natijalar = 2'

NEW_URL = URL+KEY+HEADER

#chop etish (NEW_URL)

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

#chop etish (get_data)

feild_1 = get_data ['tasmalar']

#print ("Maydon:", feild_1)

t =

x uchun feild_1:

t.qo'llash (x ['maydon1'])

chop etish (t [1])

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

GPIO. chiqish (7, 1)

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

GPIO. chiqish (7, 0)

KeyboardInterruptdan tashqari:

GPIO.cleanup ()

Tavsiya: