Съдържание:

Интелигентна хранилка за домашни любимци: 9 стъпки
Интелигентна хранилка за домашни любимци: 9 стъпки

Видео: Интелигентна хранилка за домашни любимци: 9 стъпки

Видео: Интелигентна хранилка за домашни любимци: 9 стъпки
Видео: Тя е на 9 Години, но Нейният Стомах е Като Бременна 2024, Юли
Anonim
Image
Image
Интелигентна хранилка за домашни любимци
Интелигентна хранилка за домашни любимци

Имате ли домашен любимец?

  • Не: осиновете един! (и се върнете към тази инструкция).
  • Да: добра работа!

Не би ли било чудесно, ако можете да нахраните и да дадете вода на любимия човек, без да отменяте планове, за да се приберете навреме? Казваме, че не се тревожете повече.

В този проект направихме дистанционно управлявани (чрез уеб) дозатори за храна и вода.

Чрез онлайн таблото за управление можете да преглеждате данни и да контролирате дозаторите:

  • Вижте нивата на храна и вода в резервоарите.
  • Вижте нивата на храна и вода в купичките.
  • Животното яде ли или пие в този момент?
  • График на хранене (устройството няма да раздава храна, ако има достатъчно храна в купата).
  • Автоматично подаване на вода, когато купата се изпразни.
  • Дозирайте храна/вода с натискане на бутон.
  • Получавайте push известия на телефона си (чрез приложението Telegram).

Кои сме ние?

Създадено от Том Кауфман и Катя Фичман, студенти по компютърни науки в IDC Herzliya.

Този проект е направен за IOT курс.

Консумативи

Електроника

  • 2 X ESP8266 (Wemos d1 mini).
  • Кабелни проводници.
  • 2 X платка.
  • 4 X ултразвуков сензор.
  • 2 X Товарна клетка.
  • 2 X усилвател на товарната клетка (HX711).
  • Серво (180 °).
  • Серво (непрекъснато въртене).
  • 2 X 6V захранване.

Части

  • Дозатор за царевични люспи (Amazon връзка).
  • Фунията на дозатора за 3D печат (https://www.thingiverse.com/thing:3998805).
  • Серво приставка за 3D печат на дозатор за храни (https://www.thingiverse.com/thing:3269637).
  • Поставка за дозатор за храни с 3D печат (предназначена за този проект:
  • 3D печатна основа и плоча на клетка за натоварване (предназначени за този проект:
  • Дозатор за вода (Amazon връзка към нещо подобно).
  • Тел (за свързване на копчето на дозатора за вода към сервото).
  • 3 X Ултразвукова стойка на сензора.

Стъпка 1: Как работи?

Как работи?
Как работи?

Платките ESP8266 изпращат показанията на сензорите към Node-RED чрез Mosquitto (брокер MQTT).

Node-RED обработва данните, като предприема съответни действия (също изпраща команди за раздаване до платките ESP8266 чрез Mosquitto) и показва информация на таблото за управление.

Всички изчисления се извършват в Node-RED, така че би било лесно да се репликира този проект и да се промени обработката на данните според вашите настройки и предпочитания, без да ви цапат ръцете с кодиране.

Стъпка 2: Софтуер

Софтуеъри
Софтуеъри

Arduino IDE

Изтеглете и инсталирайте (връзка:

Комар

Изтеглете и инсталирайте (връзка:

Node.js

Изтеглете и инсталирайте (връзка:

Възел-ЧЕРВЕН

Следвайте инструкциите:

ngrok

Изтегляне:

Телеграма

Инсталирайте приложението на вашия смартфон.

Стъпка 3: Оформление на веригата

Оформление на веригата
Оформление на веригата

* И двете устройства имат идентични схеми

Диспенсър за вода

  • Ултразвуков сензор (за резервоара за вода)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Ултразвуков сензор (за разстоянието на домашния любимец от купата)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Натоварваща клетка

    • ЗЕЛЕН - A+ (HX711)
    • БЯЛ - A- (HX711)
    • ЧЕРЕН - E- (HX711)
    • ЧЕРВЕН - E+ (HX711)
  • HX711 (усилвател на натоварваща клетка)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Серво (180 °)

    • GND - G
    • VCC - 5V

Дозатор за храни

  • Ултразвуков сензор (за резервоара за храна)

    • GND - G
    • VCC - 5V
    • ECHO - D5
    • TRIGGER - D0
  • Ултразвуков сензор (за разстоянието на домашния любимец от купата)

    • GND - G
    • VCC - 5V
    • ECHO - D6
    • TRIGGER - D7
  • Натоварваща клетка

    • ЗЕЛЕН - A+ (HX711)
    • БЯЛ - A- (HX711)
    • ЧЕРЕН - E- (HX711)
    • ЧЕРВЕН - E+ (HX711)
  • HX711 (усилвател на натоварваща клетка)

    • GND - G
    • VCC - 5V
    • DT - D4
    • SCK - D3
  • Серво (непрекъснато въртене)

    • GND - G
    • VCC - 5V
    • УПРАВЛЕНИЕ - D8

Стъпка 4: Занаят

Правя
Правя
Правя
Правя
Правя
Правя

Диспенсър за вода

  1. Залепете серво в горната част на долната част на дозатора (както е показано на снимката).
  2. Пробийте малка дупка в копчето на дозатора за вода.
  3. Свържете серво главата към копчето с проводник (уверете се, че серво главата е в позиция 0 и се уверете, че проводникът е стегнат).
  4. Залепете един ултразвуков сензор към вътрешната страна на резервоара, близо до горната му част (сензорът надолу).
  5. Залепете един ултразвуков сензор под копчето за вода навън (уверете се, че е достатъчно високо, така че купата с вода да не повлияе показанията си).

Дозатор за храни

  1. Завийте сервопривода към неговия държач (3D отпечатана част).
  2. Залепете фунията (3D отпечатана част) към държача на резервоара (3D отпечатана част).
  3. Свържете държача на резервоара към стойката на дозатора (3D отпечатана част) и поставете резервоара на място.
  4. Поставете въртящата се част (3D отпечатана) на мястото си и през въртящата се гумена част на дозатора.
  5. Завийте частта на държача на серво към стойката на дозатора.
  6. Залепете един ултразвуков сензор към вътрешната страна на капака на резервоара (сензорът надолу).
  7. Залепете един ултразвуков сензор към страната на държача на резервоара, обърната към мястото, където вашият домашен любимец ще яде.

Зареждане на клетки

Залепете всяка натоварваща клетка към 3D отпечатаната основа и плоча (стрелката на товарната клетка е обърната надолу)

Стъпка 5: Комар

Комар
Комар

Отворете Mosquitto (потребителите на Windows: отидете в папката Mosquitto, отворете cmd и въведете: "mosquitto -v").

* За да получите вътрешния IP адрес на компютъра, стартирайте cmd и въведете „ipconfig“.

Стъпка 6: Arduino IDE

Arduino IDE
Arduino IDE
Arduino IDE
Arduino IDE

Отворете Arduino IDE и следвайте частта „Инсталиране на добавката ESP8266 в Arduino IDE“в това ръководство:

Отидете на Tools-> Board и изберете „LOLIN (WEMOS) D1 R2 & mini“.

Отидете на Sketch-> Include Library-> Add. ZIP Library… и добавете 3-те библиотеки във файла „Libraries.rar“.

Отворете скицата "HX711Calibration", качете я на двата ESP8266, стартирайте я и следвайте инструкциите (в началото на кода и в серийния монитор), за да калибрирате натоварващите клетки (уверете се, че скоростта на предаване на серийния монитор е зададена на 115200 бода).

* Запишете коефициента на калибриране и нулевото отместване (за по -късна употреба).

Отворете скици "FoodDispenser" и "WaterDispenser" през IDE и променете следните променливи с вашите настройки (във файл "Settings.h"):

  • WIFI_SSID
  • WIFI_PASSWORD
  • MQTT_SERVER
  • LOAD_CELL_CALIBRATION_FACTOR
  • LOAD_CELL_ZERO_OFFSET

* В MQTT_SERVER въведете вътрешния IP адрес от стъпката "Mosquitto".

Качете скиците на двата си ESP8266 (по един код на всяка дъска).

* Забележете, че сме използвали библиотеката "AsyncMqttClient", а не по -често срещаната библиотека "pubsubclient", тъй като esp8266 се срива, когато се комбинира с библиотеката "HX711".

* Ако решите да направите промени в кода, уверете се, че не използвате функциите "забавяне" и "добив" вътре във функциите за обратно повикване, тъй като това ще доведе до сривове.

Стъпка 7: Ngrok

Нгрок
Нгрок
Нгрок
Нгрок

Разархивирайте изтегления файл (от връзката в стъпката „Софтуер“).

Отворете „ngrok.exe“и изпълнете командата „ngrok http 1880“.

* Можете да изберете най -близкия до вас регион (au, eu, ap, us, jp, in, sa). По подразбиране сме ние.

Например изпълнете командата: "ngrok http --region = eu 1880" (задайте региона на Европа).

Сега ще видите вашия уеб адрес за външна употреба (ще го наричаме YOUR_NGROK_ADDRESS).

Стъпка 8: Node-RED

Възел-ЧЕРВЕН
Възел-ЧЕРВЕН
Възел-ЧЕРВЕН
Възел-ЧЕРВЕН
Възел-ЧЕРВЕН
Възел-ЧЕРВЕН

Отворете Node-RED (потребители на Windows: отворете cmd и въведете „node-red“) и отидете на https:// localhost: 1880 (ако не работи, потърсете адреса в cmd прозореца, където е написано „Сървър сега работи в ).

Отворете менюто (в горния десен ъгъл) и натиснете „Управление на палитрата“.

Отидете в раздела „Инсталиране“, потърсете и инсталирайте тези модули:

  • node-red-contrib-persist.
  • node-red-contrib-cron-plus.
  • node-red-contrib-ui-led.
  • node-red-dashboard.
  • node-red-contrib-telegrambot.

Отидете в менюто-> Импортиране и качване на поточния файл (извлечете прикачения RAR файл и качете json файла).

Вижте приложените изображения за обяснения за потока.

Ще трябва да промените тези възли с вашите настройки:

  • Актуализирайте профила на възела „Изпращач на Telegram“с потребителското име и маркера на вашия бот (използвайте това ръководство:
  • В долната част на потока променете полезния товар на възлите „Ngrok Address“и „Telegram Chat Id“(вземете вашия идентификатор за чат, като използвате ръководството за Telegram в горната връзка).
  • В долната част на потока има възли за настройки - променете ги според вашите нужди:

    • Активиране на домашен любимец яде/пие сигнали.
    • Определете какво е разстоянието за активиране на сигнала за хранене/пиене.
    • Определете обработката на данни за купи и резервоари.
    • Променете времето за раздаване (за колко време се извършват разпределенията - автоматичен режим и натискане на бутон).
    • Определете процентния праг на препълване на купата за храна (прекратете автоматичното подаване на храна, ако в купата има достатъчно храна).

Разгърнете потока (горе вдясно).

* Само при първото разгръщане ще видите предупреждение в прозореца за отстраняване на грешки за липсващия файл 'persistance.json'. Не се притеснявайте за това, тъй като в момента, в който зададете часовете за хранене или промените автоматичния превключвател за вода, той ще инициализира този файл и вече няма да имате това предупреждение.

Можете да видите таблото си за управление на https:// NODE-RED_PC'S_INTERNAL_IP_ADDRESS: 1880/ui (ако сте свързани към същата локална мрежа като сървъра) или YOUR_NGROK_ADDRESS/ui (отвсякъде).

Стъпка 9: Завършете

Завършете
Завършете

Надяваме се, че този урок е информативен и лесен за четене, разбиране и изпълнение.

Чувствайте се свободни да ни питате за всичко.

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