Съдържание:
- Стъпка 1: Необходими ресурси
- Стъпка 2: Google Асистент
- Стъпка 3: Изрязване на проводници
- Стъпка 4: Прикрепете помпата към релето
- Стъпка 5: Прикрепете захранването към релето
- Стъпка 6: Свързване на Raspberry Pi към релето
- Стъпка 7: Закрепване на помпата
- Стъпка 8: Насочване на водата
- Стъпка 9: Съберете всичко заедно
- Стъпка 10: Тестването на хардуера работи
- Стъпка 11: Импортиране на колба
- Стъпка 12: Създайте папка за нашата програма и преминете към нея
- Стъпка 13: Кодиране на уеб сървър
- Стъпка 14: Тестването на кода работи
- Стъпка 15: Тунелиране
- Стъпка 16: Инсталиране на Ngrok
- Стъпка 17: Тестване на Ngrok
- Стъпка 18: IFFF
- Стъпка 19: Готово
- Стъпка 20: IOT конкуренция
Видео: Ok Google Water Waterer/пистолет за вода: 20 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Това е забавен проект, който използва началната страница на Google или всеки телефон с помощник на Google, за да пръска вода върху някого или да полива някои растения. Той също така има много потенциално приложение за други приложения като светлини, отопление, вентилатори и т.н. Ако ви харесва това, моля, гласувайте за тези проекти в конкурса IOT. Благодаря.
Стъпка 1: Необходими ресурси
Ще ви трябва следното:
- Малина пи (всеки модел, който има достъп до интернет)
- 12v водна помпа (това е, което използвах)
- 12v захранване (използвайте този или този, който лежи наоколо)
- 2 -канално реле 5V (това е типът, който използвах)
- Някои женски към женски джъмпери водят
- Пластмасова кутия за задържане на вода
- Някакъв начин водата да се изцеди от помпата (огънах пластмасова тръба, но можете просто да използвате сламка)
Използвахме релета, тъй като позволява да го включите дистанционно с малиново пи, вместо да се налага физически да бъдете там, за да го включите, както бихте направили, ако беше просто превключвател.
Стъпка 2: Google Асистент
Уверете се, че имате някакъв начин за достъп до Google Асистент. Бихте могли да използвате начална страница на Google или телефон.
Стъпка 3: Изрязване на проводници
Използвайте ножове за рязане и след това отстранете краищата на вашето 12v захранване и помпа, така че да могат да бъдат прикрепени към релето. Не забравяйте да отстраните достатъчно обвивката, за да осигурите стабилна връзка.
Стъпка 4: Прикрепете помпата към релето
- Развийте средния извод на двете релета
- Поставете проводници от водната помпа
- Завийте отново
Стъпка 5: Прикрепете захранването към релето
- Развийте клемите
- Включете проводниците от 12v захранването
- Завийте ги обратно на място
Стъпка 6: Свързване на Raspberry Pi към релето
Свържете малиново пи към релето, както е показано на диаграмата по -горе. Ще трябва да свържете релето към земя, 5v и 2 GPIO пина.
Стъпка 7: Закрепване на помпата
Използвайте blu-tack или тиксо, за да закрепите помпата в пластмасов контейнер.
Стъпка 8: Насочване на водата
Ако искате водата да изпръска някого в лицето, трябва да го насочите. За да направя това, използвах топлинен пистолет, за да огъна пластмасова тръба във формата, показана по -горе. След това залепих капака на химикалката отгоре. Като алтернатива можете да използвате сламка.
Ако искате да поливате някои растения, можете да добавите пластмасова тръба или вътрешността на химикалка.
Стъпка 9: Съберете всичко заедно
Добавих още една пластмасова кутия и сложих малиновото пи и релето в него, за да спра да се намокри.
Включих схемата по -горе, за да направя схемата малко по -ясна.
Стъпка 10: Тестването на хардуера работи
За да тествате работата на помпата, изпълнете следния код на малиновото пи. Това трябва да изключи и след това да включи помпата (или обратното).
от gpiozero LED за импортиране
import time #this ще импортира съответните модули, от които се нуждаем за този код
реле = LED (14)
relay2 = LED (15) #присвояване на релета на LED
докато е вярно:
relay.on () #предположихте… включване на релето relay.off () #предположихте … изключване на времето за реле.sleep (1) #спане за 1 секунда relay.on () #relay on relay.off () #relay off time.sleep (1) #seping
Стъпка 11: Импортиране на колба
Най -лесният начин асистентът на Google да контролира малиновото пи е като го накара да хоства уеб сървър. След това можем да накараме Google да посети страница на този сървър, когато кажете нещо и кодирате малиновото пи, за да включите и изключите релето при посещение на сървъра. Ако искате по-задълбочен урок за колба: посетете този урок от raspberry pi.
На вашето малиново пи импортирайте модула на колбата на python.
- Уверете се, че сте свързани с интернет
- Отворете терминал
- Напишете в:
sudo pip3 инсталира колба
Ако това не работи:
- Уверете се, че сте свързани с интернет
- Вижте това ръководство
Стъпка 12: Създайте папка за нашата програма и преминете към нея
Направете това, като отворите терминал и въведете:
mkdir webapp
cd webapp
Стъпка 13: Кодиране на уеб сървър
- Отворете празен ход 3
- Файл> Създай нов
- Запазете го в папката на уеб приложението, която току -що създадохте
- Вмъкнете този код
от колба за импортиране Flaskот gpiozero внос LED време за импортиране #това са модули за импортиране, необходими за този проект реле = LED (14) реле2 = LED (15) #присвояване на релета LED приложение = колба (_ име_) #присвояване на колба име на променлива, така че по -лесно е да стартирате код с него по -късно на @app.route ('/', methods = ['GET']) #правене на GET на уеб страницата "" "тази функция ще върне това, което се показва на главната страница "" "def index (): връщане" Main page " @app.route ('/on') #включване на релетата чрез функцията по -долу" "" включване на релетата и отпечатване, за да се провери дали функцията работи правилно " "" def on (): print ("здравей") relay.on () relay2.off () връщане 'on' @app.route ('/off') #изключване на релетата чрез функцията по -долу "" "завъртане изключете релетата и отпечатайте hi, за да проверите дали функцията работи правилно "" "def off (): print (" здравей ") relay.off () relay2.on () връщане 'off' @app.route ('/go') #стартиране на функцията go "" "тази функция включва релетата, така че пръска вода" "" def go (): relay.on () r elay2.off () time.sleep (3) relay.off () relay2.on () return ('go') "" "достъп до уеб страницата през съответния порт (8000 обикновено е домашен) и хост" "" ако _name_ == '_main_': app.run (отстраняване на грешки = вярно, порт = 8000, хост = '0.0.0.0')
Коментарите обясняват какво се случва в кода
Стъпка 14: Тестването на кода работи
Отворете уеб браузъра си и въведете URL адреса
Трябва да видите бял екран, но трябва да можете да чуете щракването на релето или ако помпата е включена, тя трябва да продължи.
За да изключите помпата, отидете на
Забележка: 127.0.0.1 означава „дом“, т.е. този компютър: 5000 означава „порт 5000“, който е портът, на който работи уеб сървърът. Ако това работи, можете да направите още една крачка напред:
1. Намиране на вашия малинов pis ip адрес, като въведете:
име на хост -I
2. На всеки компютър, свързан към същия wifi като вашия пи, посещавате pisipadress/on
Това трябва да включи релето.
Това показва как можете да контролирате вашето малиново пи от всеки компютър, свързан към същия wifi като вашия малинов пи.
Стъпка 15: Тунелиране
Така че Google Home може да посети този уебсайт, ще трябва да създадете тунел, така че компютри, които не са свързани към същия ip адрес, тъй като все още можете да изключите и включите релето. Можете да направите това с ngrok. Това е програма, която можете да инсталирате на малиново пи, която ще ви позволи да посетите уебсайта на колбата от всеки компютър.
Посетете уебсайта им за повече информация:
Стъпка 16: Инсталиране на Ngrok
Въведете тази връзка на вашето малиново пи: https://ngrok.com/download и следвайте инструкциите за изтегляне и настройка на ngrok.
Стъпка 17: Тестване на Ngrok
Уверете се, че вашият флаш сървър работи. Отворете друг терминал и въведете cd webapp
След това стартирайте ngrok, като въведете
./ngrok http 5000
Това трябва да ви покаже URL адрес, към който трябва да можете да отидете на всяко устройство. Копирайте това и го изпратете по имейл за следващата стъпка
Ако това не работи:
- Уверете се, че колбата работи
- Уверете се, че използвате ngrok в същата папка като програмата за колба
- Уверете се, че сте копирали правилната връзка (тя се променя всеки път, когато рестартирате програмата)
Стъпка 18: IFFF
IFFF: If This Then Това е безплатна програма, която може да се използва, за да накарате вашия google home да посети уеб сървър, когато му кажете нещо, За да настроите това, изпълнете следните стъпки:
- Или посетете https://ifttt.com/ или изтеглете приложението
- Създай профил
- Щракнете върху създаване на нов аплет (понякога под моите аплети)
- Щракнете върху това
- Потърсете в Google и изберете Google Assistant
- Щракнете върху кажете проста фраза
- Под това, което искате да кажете, поставете „активиране на воден пистолет“
- Щракнете върху създаване на тригер
- Щракнете върху това
- Търсене в мрежата
- Щракнете върху webnooks
- Щракнете върху Направете уеб заявка
- Под URL въведете URL адреса, който ngrok ви даде по -рано/go
- Под Метод изберете GET
- Под Съдържание изберете текст/обикновен
- Щракнете върху Създаване
- Щракнете върху Край
Стъпка 19: Готово
Сега, когато кажете „хей google“(поставете избраната от вас фраза), помпата трябва да се включи.
Ако това не работи (отне ми около 15 опита да го накарам да работи):
- Уверете се, че всички програми работят
- Уверете се, че всички потенциални клиенти са свързани
- Уверете се, че URL адресът, който сте въвели в IFTT, е най -новият
- Уверете се, че малиновото пи е свързано с интернет
Стъпка 20: IOT конкуренция
Ако този урок ви е харесал, моля, гласувайте за нас в състезанието IOT. Много благодаря.
Препоръчано:
Напомняне за вода Поставка за бутилки за вода: 16 стъпки
Напомняне за вода Поставка за бутилки с вода: Забравяте ли някога да пиете водата си? Знам, че го правя! Ето защо ми хрумна идеята да създам държач за бутилка с вода, който да ви напомня да пиете водата си. Поставката за бутилка за вода има функция, при която на всеки час ще се чува шум, който да ви напомня за
Алармена система за питейна вода /Монитор за прием на вода: 6 стъпки
Алармена система за питейна вода /Монитор за прием на вода: Трябва да пием достатъчно количество вода всеки ден, за да поддържаме здравето си. Също така има много пациенти, на които е предписано да пият определено количество вода всеки ден. Но за съжаление пропускахме графика почти всеки ден. Затова проектирам
Спестете вода и пари с душ монитора за вода: 15 стъпки (със снимки)
Спестете вода и пари с душ монитора за вода: Кое използва повече вода - вана или душ? Наскоро си мислех по този въпрос и осъзнах, че всъщност не знам колко вода се използва, когато се къпя. Знам, че когато съм под душа, понякога умът ми се лута, мислейки за готино не
IOT воден пистолет/вода Waterer: 20 стъпки
IOT Water Pistol/Plant Waterer: Това е забавен проект, който използва началната страница на Google или всеки телефон с помощник на Google, за да пръска вода върху някого или да полива някои растения. Той също така има много потенциално приложение за други приложения като светлини, отопление, вентилатори и т.н. Ако това ви харесва
EcoDuino Automatic Water Waterer: 8 стъпки (със снимки)
EcoDuino Automatic Waterer: EcoDuino е комплект от DFRobot за автоматично поливане на вашите растения. Работи с 6 батерии АА, които не са включени в комплекта. Настройката е много лесна и включва микроконтролер, базиран на Arduino