Съдържание:

LED управление, базирано на Google Assistant, използващо Raspberry Pi: 3 стъпки
LED управление, базирано на Google Assistant, използващо Raspberry Pi: 3 стъпки

Видео: LED управление, базирано на Google Assistant, използващо Raspberry Pi: 3 стъпки

Видео: LED управление, базирано на Google Assistant, използващо Raspberry Pi: 3 стъпки
Видео: The Choice is Ours (2016) Official Full Version 2024, Ноември
Anonim
LED управление, базирано на Google Assistant, използващо Raspberry Pi
LED управление, базирано на Google Assistant, използващо Raspberry Pi
LED управление, базирано на Google Assistant, използващо Raspberry Pi
LED управление, базирано на Google Assistant, използващо Raspberry Pi
LED управление, базирано на Google Assistant, използващо Raspberry Pi
LED управление, базирано на Google Assistant, използващо Raspberry Pi
LED управление, базирано на Google Assistant, използващо Raspberry Pi
LED управление, базирано на Google Assistant, използващо Raspberry Pi

Хей!

В този проект ще внедрим контрол на светодиода, базиран на Google Assistant, използвайки Raspberry Pi 4, използвайки HTTP в Python. Можете да замените светодиода с крушка (очевидно не буквално, между вас ще ви е необходим релеен модул) или друг домакински уред, така че този проект да може да бъде допълнително реализиран за целите на домашната автоматизация.

Консумативи

Какво ще ви е необходимо за този проект:

1. Малина Пи

2. LED

3. Джъмперни проводници-2 (мъжки към женски)

4. Платформа

5. Приложение IFTTT (https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=en_IN)

6. Профил на Thingspeak (https://thingspeak.com/)

Някои предпоставки:

1. Основи на работата в мрежа-HTTP

2. Python за достъп до уеб данни

Стъпка 1: Създаване на канал на Thingspeak

Създаване на канал на Thingspeak
Създаване на канал на Thingspeak
Създаване на канал на Thingspeak
Създаване на канал на Thingspeak
Създаване на канал на Thingspeak
Създаване на канал на Thingspeak
Създаване на канал на Thingspeak
Създаване на канал на Thingspeak

Ако сте нов в Thingspeak и никога не сте го използвали преди, следвайте стъпките по -долу:

Отидете на

Ще трябва да се регистрирате, преди да започнете да използвате Thingspeak

След като се регистрирате, отидете в секцията Канали

Под Канали изберете Нов канал (вижте изображението за справка)

В Нов канал ще видите различни информационни полета. Просто трябва да попълните полето Име. Можете да кръстите канала си както искате. Прикачих изображение, където съм кръстил канала си като Raspberry Pi 4. Оставете останалите кутии такива, каквито са.

Честито! Успешно създадохте канал за вашия IoT проект. (вижте приложеното изображение, където можете да видите моя канал на име Raspberry Pi 4 успешно създаден)

Стъпка 2: Използване на IFTTT App

Използване на приложението IFTTT
Използване на приложението IFTTT
Използване на приложението IFTTT
Използване на приложението IFTTT
Използване на приложението IFTTT
Използване на приложението IFTTT
Използване на приложението IFTTT
Използване на приложението IFTTT

Трябва да използваме това приложение за задействане на GET заявка за публикуване на данни във вашия създаден канал Thingspeak с помощта на Google Assistant. Мислете за това приложение като за интерфейс между Google Assistant и вашия канал Thingspeak.

След това създаваме GET заявки в приложението IFTTT.

Изтеглете приложението IFTTT от

Създайте своя акаунт

Отидете на Направете свои собствени аплети от нулата

Докоснете Ако тази опция

Изберете услуга за задействане като Google Assistant

В това изберете Изречете проста фраза

При тази опция ще се появят някои информационни полета. За целта се обърнете към изображенията и попълнете съответно подробностите! (има две изображения за тази цел: 1. За да включите светодиода 2. За да изключите светодиода)

Завършихме частта If This, която е Google Assistant. Сега избираме Тогава тази опция, която е Webhooks.

Под това изберете Направете уеб заявка

Вижте изображението за информация, която трябва да попълните в полетата. Вижте този URL адрес https://api.thingspeak.com/update?api_key=INSERT YOUR WRITE API KEY & field1 = 1

В горния URL адрес ще забележите, че споменах за ВМЕСТВАНЕ НА КЛЮЧА НА API ЗА НАПИСВАНЕ. Това е API ключът, който е идентичност на канала, който сте създали на Thingspeak (вижте изображението). Write API key ще ви помогне да запишете конкретни данни в канала си и по същия начин Read API key ще ви помогне да получите данни от канала.

Освен вашия ключ за запис на API, останалата информация от полетата остава същата.

И така, тук сте създали тригер, когато когато кажете на вашия Google Асистент „Включете светодиода“, той ще изпрати „1“до вашия канал Thingspeak.

Сега по подобен начин трябва да създадете нов аплет в приложението IFTTT за изключване на светодиода. Прикачих изображения, ако сте объркани за същото. В противен случай процедурата за изключване на светодиода е същата като тази на това, което сте направили по -горе, с изключение на някои малки промени.

Стъпка 3: Най -накрая Започнете да кодирате

Най -накрая Започнете да кодирате
Най -накрая Започнете да кодирате

Ще обясня основната цел на кода на Python. Трябва да извлечем данните от канала на Thingspeak, които ще бъдат или „1“, или „0“въз основа на това, което казвате на вашия Google Асистент. Трябва да включим или изключим светодиода въз основа на това. Ако качената стойност на канала на Thingspeak е "1", тогава включваме светодиода, а ако е "0", го изключваме.

В кода ще ви трябват две неща: 1. Вашият API ключ за четене 2. Вашият идентификатор на канал (вижте изображенията за същото)

Ето кода (ако приемем, че знаете предпоставките за HTTP и Python):

импортиране на urllib

заявки за импортиране

импортиране на json

време за импортиране

импортирайте RPi. GPIO като GPIO

GPIO.setmode (GPIO. BOARD)

GPIO.setup (7, GPIO. OUT)

опитвам:

докато (1):

URL = 'https://api.thingspeak.com/channels/INSER YOUR CHANNEL ID/fields/1.json? Api_key =' KEY = 'ВМЕСТВАНЕ НА КЛЮЧА НА ПРОЧЕТАНЕТО

HEADER = '& results = 2'

NEW_URL = URL+KEY+HEADER

#print (NEW_URL)

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

#print (get_data)

feild_1 = get_data ['емисии']

#print ("Поле:", feild_1)

t =

за x в feild_1:

t.append (x ['field1'])

печат (t [1])

ако int (t [1]) == 1:

GPIO.изход (7, 1)

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

GPIO.изход (7, 0)

с изключение на KeyboardInterrupt:

GPIO.cleanup ()

Препоръчано: