Оглавление:

Кормушка для кошек IoT, использующая фотон частиц, интегрированный с Alexa, SmartThings, IFTTT, Google Sheets: 7 шагов (с изображениями)
Кормушка для кошек IoT, использующая фотон частиц, интегрированный с Alexa, SmartThings, IFTTT, Google Sheets: 7 шагов (с изображениями)

Видео: Кормушка для кошек IoT, использующая фотон частиц, интегрированный с Alexa, SmartThings, IFTTT, Google Sheets: 7 шагов (с изображениями)

Видео: Кормушка для кошек IoT, использующая фотон частиц, интегрированный с Alexa, SmartThings, IFTTT, Google Sheets: 7 шагов (с изображениями)
Видео: Кормушка для кошек IoT своими руками — Particle Photon, Alexa, SmartThings, IFTTT 2024, Июль
Anonim
Image
Image
Кормушка для кошек IoT, использующая Photon частиц, интегрированная с Alexa, SmartThings, IFTTT, Google Sheets
Кормушка для кошек IoT, использующая Photon частиц, интегрированная с Alexa, SmartThings, IFTTT, Google Sheets
Кормушка для кошек IoT, использующая фотон частиц, интегрированный с Alexa, SmartThings, IFTTT, Google Sheets
Кормушка для кошек IoT, использующая фотон частиц, интегрированный с Alexa, SmartThings, IFTTT, Google Sheets
Кормушка для кошек IoT, использующая Photon частиц, интегрированная с Alexa, SmartThings, IFTTT, Google Sheets
Кормушка для кошек IoT, использующая Photon частиц, интегрированная с Alexa, SmartThings, IFTTT, Google Sheets

Необходимость в автоматической кормушке для кошек не требует пояснений. Кошки (нашу кошку зовут Белла) могут быть неприятными, когда голодны, и если ваша кошка такая же, как моя, будет каждый раз есть миску досуха. Мне нужен был способ автоматической подачи контролируемого количества еды тремя способами - 1. голосовой командой Alexa, 2. по расписанию и 3. с помощью кнопки в SmartThings. Мне также нужен был способ отслеживать, как и когда кормят кошку, чтобы мы не кормили дважды (иногда, когда моя жена кормит кошку, а я кормлю ее снова через 15 минут).

Этот проект не слишком сложный, я не разработчик и не инженер, но в Интернете было много ресурсов, которые мне помогли. Я компилирую все, что использовал, и все шаги, необходимые вам для завершения этого проекта. Наслаждайтесь и счастливого строительства!

Шаг 1. Получите все необходимые материалы - примерно 100 долларов

Получите все необходимые материалы - примерно 100 долларов
Получите все необходимые материалы - примерно 100 долларов

Вот все, что я купил, чтобы сделать эту кормушку для кошек. Это было около 100 долларов, что немного больше моих запланированных 75 долларов, но у меня были запчасти более высокого качества, чтобы прослужить. Некоторые материалы, которые мне уже приходилось делать для коробки, такие как столярный клей, пистолет для горячего клея, гвоздезабиватель 18ga, наждачная бумага, шпатлевка для дерева и т. Д., На мой взгляд, относятся к «инструментам» и не являются всеми необходимыми. Иногда я просто делаю все возможное, чтобы сделать вещи красивыми.

Если вы отклоняетесь от этих точных продуктов, просто убедитесь, что ваш сервопривод имеет металлическую шестерню, и запишите количество зубцов, потому что ваш рычаг / рог сервопривода должен иметь такое же количество зубцов. Сервопривод и рычаг, перечисленные ниже, имеют размер 25 зубьев, что означает 25 зубцов. Кроме того, я использовал пластиковый рычаг при первом обходе, и зубы были удалены в течение недели использования, так что не идите по пластиковому маршруту, берите металл.

1. Частичный фотон $ 19,99

2. Макетная плата и перемычки 7,69 долл. США

3. Сервопривод $ 19,99

4. Металлический рычаг сервопривода / звуковой сигнал 8,98 долл. США

5. Пьезозуммер 5,05 долл. США

6. Диспенсер для злаков 14,95 долл. США

7. ДВП из хозяйственного магазина для коробки, 2 штуки на всякий случай 20 $

8. Кованая аэрозольная краска Rustoleum $ 5,97

8. Разное. такие предметы, как шурупы, столярный клей, гвозди, наждачная бумага, шпатлевка и т. д.

Шаг 2: настройка фотона частиц

Первый шаг - это подключение вашего Particle Photon к Интернету. Это очень просто, особенно с направляющими, предоставляемыми Particle. Загрузите приложение Particle на свой телефон, создайте учетную запись частицы и следуйте инструкциям по подключению его к вашему Wi-Fi. Посмотрите видео и следуйте этим инструкциям!

docs.particle.io/guide/getting-started/start/photon/

Шаг 3. Подключите Particle к серво, макетной плате и зуммеру

Подключите частицы к сервоприводам, макетной плате и зуммеру
Подключите частицы к сервоприводам, макетной плате и зуммеру
Подключите частицы к сервоприводам, макетной плате и зуммеру
Подключите частицы к сервоприводам, макетной плате и зуммеру

Хорошо, теперь нам нужно подключить частицу к сервоприводу и зуммеру с помощью макета. Прикрепите частицу к макету, оставив по 2 отверстия для штифтов с каждой стороны, на самом деле не имеет значения, где частица находится снаружи. Я припаял провода к зуммеру, а затем использовал горячий клей, чтобы закрепить его. Более простой способ - использовать концевые соединители или стыковые соединители и обжать их плоскогубцами. Вам решать.

Подключите провода сервопривода:

VIN Красный провод сервопривода

A5 Желтый провод сервопривода

GND Черный провод сервопривода

Подключите провода зуммера (неважно какие):

D0 Провод зуммера

GND Провод зуммера

Шаг 4: прошивка кода на фотон

Прошивка кода на фотон
Прошивка кода на фотон

Теперь, когда он подключен, давайте запрограммируем код прошивки на фотон и проверим, воспроизводит ли зуммер мелодию и вращается сервопривод.

Войдите в консоль сборки частиц, используя свою учетную запись

Нажмите кнопку кода на левой панели инструментов. Скопируйте и вставьте предоставленный код прошивки (cat_feeder.c) в консоль сборки, заменив там любой существующий код по умолчанию.

Небольшое объяснение функции подачи. Поскольку кормление может быть вызвано 3 разными методами (кнопка, голос, расписание), нам нужны 3 разные команды для публикации каждого события, чтобы мы знали, как кормили кошку. Эти команды: bfeed при подаче с помощью кнопки, sfeed при подаче по расписанию и vfeed при подаче голосовой командой.

Нажмите кнопку поиска папки, чтобы сохранить код, дайте ему имя по вашему выбору.

Нажмите кнопку подтверждения (она выглядит как галочка с кружком вокруг). Через несколько секунд вы должны увидеть в нижней строке состояния:

Компиляция кода… Код проверен. Отличная работа! Готовый.

Теперь нажмите кнопку Flash на левой панели инструментов (выглядит как молния). Через несколько секунд вы должны увидеть в нижней строке состояния:

Код прошивки… Прошивка прошла успешно! Ваше устройство обновляется. Готовый.

Затем войдите в консоль частиц

Щелкните по фотону частицы. Это страница состояния вашего устройства, вы можете видеть в журналах событий, когда выполняются действия, такие как мигающий код или когда события публикуются после вызова команд канала. Чтобы инициировать команду подачи, вы будете использовать плитку «Функция» в правой части этой консоли. Поскольку в коде функция называется «подача», вы должны увидеть ее и поле для ввода аргументов.

Введите «bfeed» в поле ввода аргумента и нажмите «Вызов».

Это должно сыграть мелодию, а затем повернуть сервопривод. Если вы хотите, в целях тестирования, измените время задержки в коде с 330 мс на что-то большее, например 5000, если вы хотите проверить вращение сервопривода. Вам нужно нажимать кнопку Flash каждый раз, когда вы вносите какие-либо изменения в код. Вам, вероятно, потребуется настроить задержку позже, чтобы получить желаемое количество оборотов (например, если вы кормите собаку, вы можете раздать больше еды).

Шаг 5: сделайте коробку для всего

Сделайте коробку, чтобы вместить все
Сделайте коробку, чтобы вместить все
Сделайте коробку, чтобы вместить все
Сделайте коробку, чтобы вместить все
Сделайте коробку, чтобы вместить все
Сделайте коробку, чтобы вместить все

Этот шаг состоит из ваших старых добрых столярных навыков. Я купил 2 древесноволокнистые плиты размером 2х4 фута, чтобы сделать коробку, потому что она прочная, гладкая на ощупь, относительно дешевая и с ней легко резать / работать. Вы можете выбрать любой материал. На самом деле этот шаг зависит от вашего усмотрения, потому что у всех разные потребности. У меня не будет подробных пошаговых инструкций по изготовлению коробки, но я могу поделиться своими мыслями и методами, которые я использовал.

При разработке коробки я учел ряд факторов. Хотелось, чтобы эта штука была максимально компактной. Я хотел, чтобы его можно было легко обслуживать для очистки и / или ремонта, если он когда-либо выйдет из строя. Наконец, я хотел, чтобы трубка дозатора была открыта, чтобы я мог видеть, когда еда заканчивается. Имея это в виду, я сначала сделал коробку, а затем измерил внутренние размеры, чтобы сделать квадратную рамку, к которой прикреплены блок диспенсера, сервопривод и плата. Таким образом, весь агрегат можно сразу вынуть из коробки для обслуживания. Смотрите картинки.

Шаг 6. Обработчики устройств SmartThings

Обработчики устройств SmartThings
Обработчики устройств SmartThings
Обработчики устройств SmartThings
Обработчики устройств SmartThings
Обработчики устройств SmartThings
Обработчики устройств SmartThings

На этом шаге объясняется, как реализовать вызов функции подачи с помощью SmartThings и Alexa. Для этого мне пришлось написать 2 отличных обработчика устройств. Один из обработчиков предназначен для «bfeed», когда я нажимаю кнопку в SmartThings, а другой обработчик - для «vfeed», когда я прошу Алексу кормить Беллу голосовой командой. Еще одна причина иметь 2 разных обработчика заключается в том, что Alexa распознает только устройства, которые являются переключателями, а не кнопками. Поэтому мне пришлось обмануть Алексу, чтобы она распознала переключатель, чтобы вызвать функцию (выключение и включение выполняют одно и то же действие). Хорошо, приступим.

Войдите (или создайте учетную запись) на портале IDE SmartThings по адресу https://ide.smartthings.com, используя свою учетную запись Samsung или SmartThings.

Убедитесь, что ваш хаб SmartThings отображается в разделах «Мои местоположения» и «Мои центры». Если он не отображается, устраните неисправность, прежде чем продолжить.

Сначала мы создадим обработчик кнопок

Щелкните «Обработчики моих устройств» на верхней панели навигации.

Нажмите синюю кнопку «Создать новый обработчик устройства».

Выберите вкладку «Из кода» и вставьте код из прикрепленного файла button_handler.groovy. Затем нажмите "Создать".

Нажмите «Сохранить» и «Опубликовать» «Для меня». Вы должны увидеть зеленое уведомление с надписью «Тип устройства успешно опубликован».

Теперь перейдите к своему телефону и откройте приложение SmartThings. Вы должны увидеть обработчик как новое устройство. Вам нужно будет настроить обработчик так, чтобы он публиковался на вашем устройстве частиц. Выберите только что созданное устройство и откройте Настройки (выглядит как значок шестеренки).

Введите имя устройства - назовите устройство как хотите, я уверен, что вашу кошку также зовут не Белла.

Введите токен доступа - токен доступа будет находиться в консоли сборки частиц https://build.particle.io/ в разделе «Настройки» (значок шестеренки слева внизу). Маркер доступа представляет собой строку из 40 символов.

Введите идентификатор устройства - идентификатор устройства находится на странице консоли частиц в виде 24-символьной строки, а также отображается во всех URL-адресах частиц, когда вы входите в свою учетную запись, работая на своем устройстве частиц. Идентификатор устройства отображается жирным шрифтом в URL-адресе:

Щелкните Сохранить.

Нажмите кнопку Feed!

Нажав кнопку подачи, вы должны услышать мелодию и заставить сервопривод повернуться. Вы также должны видеть события, опубликованные в журнале событий консоли частиц.

Далее мы создадим обработчик устройств для Alexa

Выполните ту же процедуру, что и выше. Перейдите на портал IDE SmartThings и нажмите «Мои обработчики устройств» на верхней панели навигации. Нажмите синюю кнопку «Создать новый обработчик устройств».

Выберите вкладку «Из кода» и вставьте код из прикрепленного файла alexa_handler.groovy. Затем нажмите "Создать".

Нажмите «Сохранить» и «Опубликовать» «Для меня». Вы должны увидеть зеленое уведомление с надписью «Тип устройства успешно опубликован».

Теперь вернитесь к своему телефону и откройте приложение SmartThings. Вы должны увидеть обработчик как новое устройство, но на этот раз без какой-либо кнопки. Вам нужно будет настроить обработчик с вашим токеном доступа и идентификатором устройства, как вы это делали ранее.

Выберите только что созданное устройство в SmartThings и откройте Настройки (выглядит как значок шестеренки).

Введите имя устройства - назовите устройство как хотите, я назвал его «Cat Feeder Handler для Alexa», чтобы моя жена знала, что это не кнопка Cat Feeder.

Введите токен доступа и введите идентификатор устройства, затем нажмите «Сохранить».

Теперь откройте приложение Alexa на своем телефоне. Если вы еще этого не сделали, включите навык SmartThings Alexa Skill и свяжите свою учетную запись SmartThings с приложением Alexa. Затем перейдите на экран Smart Home и нажмите «Добавить устройство». Это также можно сделать, сказав «Алекса, найди устройства». Устройство должно отображаться со значком переключателя, оно будет называться так, как вы назвали обработчик в SmartThings. Вы можете изменить его имя в приложении Alexa, если хотите, но помните, что это тип переключателя, поэтому для него потребуется произнести «Alexa, включите» или «Alexa, выключите». Я знаю, что говорить «Включите кормушку для кошек» - это нехорошо, поэтому альтернативой является создание новой процедуры в приложении Alexa и вызов ее с той фразой, которая вам нужна. Я сделал программу под названием «Покормить Беллу», которая включает переключатель кормушки для кошек.

Щелкнув переключатель в приложении Alexa, вы должны успешно вызвать функцию подачи. Журнал событий консоли Particle также должен публиковать события, указывающие на это.

Как только вы назвали все так, как вы хотите, продолжайте и попробуйте!

Шаг 7: Собираем все вместе

Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе
Собираем все вместе

Последняя часть, которую я не рассмотрел, - это то, как планировать фиды и записывать опубликованные события в Google Sheet. Вы, вероятно, думаете, что приложение Alexa можно использовать для создания расписания, но это не позволит нам регистрировать расписание по сравнению с голосовой командой или кнопкой. Вместо этого мы уже будем использовать апплет IFTTT для частицы.

Давайте создадим апплет IFTTT для планирования фидов

Перейдите на https://ifttt.com или загрузите приложение для смартфона IFTTT и войдите в систему (при необходимости создайте учетную запись)

Если вы новичок в IFTTT, это очень просто. Каждый апплет состоит из IF (условие или триггер) и THAT (какое-то действие).

Итак, после входа в IFTTT создайте новый апплет, выберите IF и найдите или выберите «Дата и время». Вы настраиваете это в соответствии с любым расписанием, которое вы предпочитаете. Затем выполните шаги, и как только вы дойдете до ТО, вы будете искать «Частица» и выбирать «Вызов функции». Заполните поля, как на скриншоте выше, обязательно используйте «sfeed» в качестве входных данных, поскольку это команда, необходимая для публикации события «Fed by schedule». Вам может потребоваться подключиться или войти в свою учетную запись частиц при настройке этого апплета. Сохраните апплет, и все будет в порядке. Если вы хотите протестировать, просто измените дату и время на ближайшее будущее и посмотрите, правильно ли оно срабатывает.

Теперь создадим апплеты IFTTT для обработки трех типов событий

При работе кормушки для кошек необходимо учитывать 3 команды. Они жестко запрограммированы в прошивке частиц:

Беллу кормили по расписанию, Беллу кормили кнопки, Беллу кормили голосовой командой

Если вашего питомца зовут не «Белла», вы, вероятно, захотите изменить это в прошивке и перепрограммировать заново. Измените текст в строке Particle.publish кода частицы.

Создайте новый апплет IFTTT. (нужно проделать это 3 раза для каждого типа события)

Начиная с IF, найдите Particle и выберите «Новое событие опубликовано». Имя события должно быть точным именем опубликованного события, которое есть в вашей прошивке. Например, «Белла питается по расписанию» - это точное название события в коде, который я вам предоставил. Посмотрите на скриншот, который я заполнил для справки. Вам нужно будет создать еще 2 IFTTT для обработки других событий. Этот апплет создаст новый лист на вашем диске Google, если он еще не существует, и записывает новые события в следующую пустую строку.

Рекомендуемые: