Съдържание:

IDC2018IOT Свързана система за храна, вода и мониторинг на домашни любимци: 7 стъпки
IDC2018IOT Свързана система за храна, вода и мониторинг на домашни любимци: 7 стъпки

Видео: IDC2018IOT Свързана система за храна, вода и мониторинг на домашни любимци: 7 стъпки

Видео: IDC2018IOT Свързана система за храна, вода и мониторинг на домашни любимци: 7 стъпки
Видео: 🧨 Собрали тут все слабости и проблемы Volvo XC90. Эта машина круче любого Audi и Mercedes. Или нет? 2024, Ноември
Anonim
Image
Image
IDC2018IOT Свързана система за храна, вода и мониторинг за домашни любимци
IDC2018IOT Свързана система за храна, вода и мониторинг за домашни любимци

Въведение

Независимо дали сте студент под натиск, работлив човек или просто сте далеч от дома за повече от няколко часа на ден. Като грижовни собственици на домашни любимци искаме да се уверим, че любимите ни хора остават здрави, хранени и разбира се НЕ лежат на дивана (копеле!). Време е да спрем да искаме услуги или дори да плащаме за такива услуги.

С този страхотен проект се стремим да ви предоставим способността да го направите сами (чух, че сега е нещо). Ще изградим решение за по -добро наблюдение на нашите домашни любимци и дори ще предприемем действия, докато сме в офиса, училището или просто излизаме с нашите приятели или други значими.

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

За нас

Томер Маймон, Гилад Рам и Алон Шпрунг, Три страстни студенти по компютърни науки от IDC Herzeliya. Това е първият ни проект по Instructables като част от семинар за IoT - надяваме се, че ще ви бъде интересно и забавно да го изградите!

Стъпка 1: Разбиране на архитектурата:

Разбиране на архитектурата
Разбиране на архитектурата
Разбиране на архитектурата
Разбиране на архитектурата

Можем да разделим тази система на две основни части:

  1. Входящи канали за данни:

    • Сензор за вода - вземане на проби от нивата на водата в купата за домашни любимци, данните се предават от Node -MCU устройството към сървъра Blynk и накрая се представят чрез таблото за домашни любимци.
    • Сонарен сензор - вземане на проби от съдържанието на контейнера за храна, данните се предават от модула Arduino (с разширение за Ethernet щит) към сървъра Blynk и накрая се представят чрез таблото за домашни любимци.
    • Модул Pi камера - постоянно изважда рамки от зоната за домашни любимци, Pi хоства собствен сървър, който осигурява емисията на живо на таблото за домашни любимци.
  2. Команден поток:

    • Бутон за подаване (табло за управление) - актуализиране на стойността на виртуален щифт чрез Blynk, съответната функция се задейства на платката Arduino, след това Servo се движи, за да позволи на храната да премине през капака.
    • Дайте вода (табло за управление) - активно актуализира стойността на виртуален щифт чрез Blynk, съответната функция се задейства на платката Node -MCU, релето се превключва на ВКЛ, водната помпа ще започне да тече вода в купата на домашния любимец.
    • Емисия на живо за домашни любимци (табло за управление) - вградена в таблото за управление и представяща данни на живо чрез сървъра за колба, който работи на Pi устройството.

Стъпка 2: Списък на частите

Списък на частите
Списък на частите
Списък на частите
Списък на частите
Списък на частите
Списък на частите

За да започнете работа по тази система, ще ви трябват следните (или подобни) части:

  1. Физически:

    • Контейнер за храни: Използвахме промишлена двустранна тръба от 45 см, която купихме в универсален магазин за дома. Важно е да имате 2 изхода. Единият за измерване на съдържанието и втори изход за механизма за отваряне/затваряне.
    • Лента: За да поддържате нещата заедно;)
    • Jumper Wires: Колкото по -весело, винаги е добре да имате допълнително, ако нещо се обърка.
    • Ethernet кабел: За свързване на нашия Arduino (с Ethernet щит) към интернет.
    • Градинарска кутия: Използва се като контейнер за вода и водна помпа.
    • Къса тръба за вода: Свързана с помпата и излива вода в купата на домашния любимец.
  2. Сензори:

    • WINGONEER Сензор за нивото на водата: Измерете нивата на водата в купата на домашния любимец.
    • Сонарен сензор - Измерете разстоянието на нивото на храната от горния капак в контейнера.
    • TONGLING Реле: Позволява ни да включваме/изключваме водната помпа, която тече вода.
    • Модул Pi камера: Свързан с малиново Pi устройство и предава поточно изображения на зоната за домашни любимци.
    • Общо серво: Заключва и отключва контейнера за храна.
  3. Електронни устройства / платки:

    • Arduino Uno: Контролира внедряването на контейнера за храни.
    • Arduino Ethernet Shield: Осигурява интернет връзка към нашата платка.
    • NodeMCU (ESP-8266): Контролира водната единица, както за измерване, така и за изливане на вода. Тази платка има възможност за свързване чрез WiFi.
    • Raspberry Pi 3 - хоства сървъра на камерата и осигурява емисия на живо на таблото за домашни любимци.
    • Потопяема водна помпа VicTsing 80 GPH: Подава вода от градинската кутия към купата, заедно с тръбата за вода.

Стъпка 3: Окабеляване и поставяне на нещата заедно

Окабеляване и поставяне на нещата заедно
Окабеляване и поставяне на нещата заедно
Окабеляване и поставяне на нещата заедно
Окабеляване и поставяне на нещата заедно
Окабеляване и поставяне на нещата заедно
Окабеляване и поставяне на нещата заедно

Електрически инсталации

Преди да започнем, се препоръчва да поставите Arduino / Node-MCU върху макет, за да улесните сглобяването на всички проводници и поставянето им на всяко физическо място. Освен това се препоръчва използването на дълги проводници, за да се предотвратят грешки, произтичащи от отделянето на кабела. Предоставихме ви електрическа схема за Node-MCU (воден блок) и Arduino (хранителен блок).

  1. Хранителна единица (Arduino):

    • Сонарен сензор:

      • GND (черно) = GND
      • VCC (червен) = 5V
      • Trig (лилаво) = 3
      • Ехо (синьо) = 4
    • Серво:

      • GND (черно) = GND
      • VCC (червен) = 5V
      • Сигнал (жълт) = 9
  2. Воден блок (възел):

    • Сензор за нивото на водата:

      • S (синьо) = A0
      • + (Червено) = 3v3
      • - (Черно) = GND
    • Реле (електрически свързано към водната помпа):

      • IN (жълто) = D1
      • VCC (червено) = Vin
      • GND (черно) = GND
  3. Камера (Pi):

    • Сензор за камера:

      • Свържете се към единствения порт на камерата на Pi (флюс кабел)
      • Ако искате да научите повече за Pi с модул камера - Връзка

Сглобяване на части заедно

В тази част можете да персонализирате и модифицирате този проект, за да го направите „ваш“. Но ние ще ви предоставим изображения и описание, за да реконструираме нашата версия на продукта.

  1. Хранителна единица (Arduino): Контейнерът е доста прав, ще се съсредоточим върху изработването на двата капака.

    • Горен капак: Изрежете 2 дупки в капака, за да може сензорът на сонара да се побере (вижте приложеното изображение).
    • Долен капак + Механизъм: Започнете с вземането на едно от пластмасовите приставки (предоставени със серво сензора) и конструирайте форма на „Sledge Hammer“с помощта на тиксо / дървени пръчки (използвахме само лента). След това го прикрепете към серво. Сега имаме нужда от 2 дупки на самия капак. Първият трябва да позволи на сервото да се побере в s.t механизма, който конструирахме, поставен от "вътрешната страна" на капака. Изрежете друг отвор въз основа на страната на „главата на чука“, която сте изработили. По този начин, винаги когато серво отваря, опашката на чука ще помете храната към изхода и ще предотврати залепването на големи парчета.
  2. Воден блок (възел-MCU): Просто свържете водната тръба към водната помпа, сега я поставете в градинската кутия (уверете се, че НЕ поставяте грешната част с релето и електрическите проводници във водата).
  3. Камера: Всичко, което трябва да направите, е да поставите модула Pi с камера на място по ваш избор.

Стъпка 4: Настройка на Blynk

Настройка на Blynk
Настройка на Blynk
Настройка на Blynk
Настройка на Blynk

Всички отдалечени възможности в този проект са базирани на Blynk. Тази услуга по същество ни предоставя безплатен уеб-сървър и RESTful API за комуникация с нашите Arduino/Node-MCU устройства по интернет, използвайки HTTP протокол. Blynk ни позволява да дефинираме виртуални пинове, които ще се използват като адрес за изпълнение на специфични функции, свързани с изливане на вода, захранване и вземане на проби от различните сензори (ние направихме тази част за вас, всичко, което трябва да направите, е да получите свой собствен маркер за приложение, което ще бъде обяснено по -нататък).

Как да получите моя маркер за удостоверяване на Blynk

  1. Изтеглете приложението Blynk чрез AppStore / PlayStore за вашето мобилно устройство.
  2. Регистрирайте се за тази услуга (тя е безплатна за използване).
  3. Започнете нов проект, не забравяйте да изберете правилното устройство (в нашия случай ESP8266).
  4. След създаването ще бъде изпратен имейл с AUTHENTICATION TOKEN - Запазете маркера за следващи стъпки.

Забележка: Blynk може да се използва изцяло чрез приложението, но решихме да внедрим нашето персонализирано табло за управление.

И накрая, за да преминете към следващата стъпка, трябва да изтеглите и инсталирате библиотека Blynk - Връзка (преминете към част 3)

Стъпка 5: Конфигурирайте контейнер за храна, водна помпа и камера на живо

Конфигурирайте контейнер за храна, водна помпа и камера на живо
Конфигурирайте контейнер за храна, водна помпа и камера на живо
Конфигурирайте контейнер за храна, водна помпа и камера на живо
Конфигурирайте контейнер за храна, водна помпа и камера на живо

На този етап завършихме сглобяването на всички части заедно и получихме нашия blynkAuthAppToken (вижте стъпка 3).

Ние ви предоставихме целия код, от който се нуждаете, за да стартирате този проект, всичко, което трябва да направите, е да промените няколко променливи в кода, което ще го направи „ваша“частна система.

Първо, започнете с изтеглянето на Arduino IDE (ако все още не сте го направили) - Връзка

Контейнер за храни Arduino

  1. Настройте IDE на дъската на Arduino: Инструменти -> Платка -> Arduino/Genuino Uno
  2. Уверете се, че имате инсталирани тези библиотеки: Sketch -> Include Library -> Manage Libraries

    Реле (от Рафаел)

  3. Отворете скичния файл на PetFeeder.ino, конфигурирайте следните параметри (вижте приложеното изображение за помощ):

    auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";

  4. Компилирайте и качете скицата на вашето устройство Arduino.

Възел-MCU воден блок

  1. Настройте IDE на Node-MCU платката:

    Вижте първата част на тази инструкция за подробно обяснение

  2. Уверете се, че имате инсталирани тези библиотеки: Sketch -> Include Library -> Manage Libraries

    WiFi мениджър (от tzapu)

  3. Отворете скичния файл на PetFeeder.ino, конфигурирайте следните параметри (вижте приложеното изображение за помощ):

    • auth = "REPLACE_WITH_YOUR_BLYNK_TOKEN";
    • ssid = "YOUR_WIFI_SSID"; // По принцип това е името на вашата WiFi мрежа
    • pass = "YOUR_WIFI_PASSWORD"; // ако нямате парола, използвайте празен низ ""
  4. Компилирайте и качете скицата на вашето Node-MCU устройство.

Модул за камера Pi Live

  1. Свържете модула pi камера
  2. Стартирайте „sudo raspi-config“и задайте опцията „камера“да се активира.
  3. Тествайте камерата с помощта на командата "raspistill", за да заснемете картина

    r aspistill -o image.jpg

  4. Задайте Flask уеб камера сървър:

    • Инсталирайте всички изисквания с помощта на pip install -r requirements.txt
    • Използвайте python, за да стартирате camera_server.py
    • Проверете го на 127.0.0.1:5000/video_feed
  5. Задайте Flask уеб сървър да работи при зареждане:

    • Добавете следния ред към /etc/rc.local (преди изходния ред):

      python /camera_server.py

Стъпка 6: Как да използвате контролния панел

Как да използвате контролния панел
Как да използвате контролния панел

Настройвам

Тази част е сравнително проста, всичко, което трябва да направите, е да вмъкнете „token app blynk“в „index.js“файла, както следва:

const blynkToken = "YOUR_BLYNK_APP_TOKEN" // използвайте същия знак от предишните стъпки.

Употреба

  1. Отворете таблото за управление, като щракнете двукратно върху файла „index.html“.
  2. Таблото за управление ще изпробва системата автоматично на всеки 10 минути.
  3. Мерките за контейнери за вода и храни могат да се вземат ръчно.
  4. Бутоните "Дайте вода" и "Хранене" се използват за активно снабдяване на вашия домашен любимец с храна и вода.
  5. Долната част на таблото за управление ще представи емисията на живо от модула на камерата, ако сте следвали внимателно инструкциите от предишната стъпка.

Забележка: Ако искате да персонализирате колко пъти контейнерът за храна да се отваря при хранене, отворете файла „index.js“и променете „стойността“на следващия ред от „3“на произволен номер по ваш избор:

fetch (baseURL + '/update/V1? value = 3');

Стъпка 7: Предизвикателства, граници и бъдещи планове

Предизвикателства

Основните предизвикателства за нас в този проект бяха свързани с проектирането на механизма за отваряне/затваряне на контейнера за храни и създаването на стабилен паралелен код за контрол и измерване на единицата храна. Вярвам, че опитахме поне 4 различни версии, докато не бяхме доволни. Основната грижа беше храната, блокираща изхода. За да предотвратим това, избрахме дизайн на шейна-чук, по този начин, когато отваряме контейнера, опашката на „чука“мете храна към изхода. Нещо повече, използването на двустранна тръба направи живота ни много по-опростен при изграждането на контейнера за храна. Такъв обект е идеален за поставяне на изходния механизъм от едната страна и сензор за разстояние от другата страна за измерване на съдържанието му.

Ограничения

На този етап от проекта има няколко ограничения за системата:

  1. Той не е напълно автоматизиран, което означава, че захранването и изливането на вода се извършва ръчно чрез таблото за наблюдение без никакви интелигентни планировчици (които могат да бъдат добавени в бъдеще или внедрени от вас!).
  2. Таблото за управление работи локално от вашия собствен лаптоп, за да стане по -достъпно, то може да се хоства на популярни платформи като „Heroku“.
  3. Използвахме много прост модул за камера, който може да бъде заменен с много по -сложен модул, за да се даде възможност за по -добро качество на изображението и възможно добавяне на комуникационен канал с вашия домашен любимец (с помощта на високоговорител).

Бъдещи планове

Ако имахме време и бюджет да продължим да развиваме тази система, имахме предвид няколко идеи и възможен график:

  1. Добавяне на система за автоматично планиране за хранене на домашни любимци - 2 ~ 3 дни работа.
  2. Изграждане на уебсайт, който да позволи на потребителите на нашата система да създават персонализирано табло за управление, което се хоства онлайн и е достъпно от всяко свързано устройство - 1-2 месеца работа.
  3. Работейки върху индустриална версия на тази система, даваща възможност на повече собственици на домашни любимци да контролират по -добре и да комуникират с домашните си любимци онлайн, имахме голям интерес от приятели, които видяха резултата от тази инструкция. Така че, ако имате времева страст да изведете проекта на следващото ниво - имате пълна подкрепа!

Надяваме се да ви е харесало да прочетете (и да се надяваме да изградите!) Този проект:)

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