Оглавление:
- Шаг 1: Использованные материалы
- Шаг 2: Размещение конструкции
- Шаг 3: Конфигурация Raspberry Pi
- Шаг 4: готово к тестированию
Видео: Автомат для кормления домашних животных с RasPi и Telegram Bot: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Прежде всего, мне нужно уточнить, что это не оригинальная Idea Mine, просто обновите и адаптируйте сценарии программирования для работы с Telegram, я нашел это в предыдущем Instructable, поэтому авторы действительно являются его автором.
Вы можете увидеть эту испанскую версию в моем личном блоге:
Вам нужно построить небольшую схему, которая активирует двигатель с высоким крутящим моментом, а поскольку мои знания в области электроники очень и очень скудны, мне пришлось потратить пару дней на изучение основ, просмотрев видео на YouTube.
Исходный сценарий автоматизации написан на Python и использует соединение GMail для просмотра команд, я никогда не использовал этот язык программирования, но правда не так уж отличается от других, я немного изменил его, чтобы он лучше адаптировался к новому Эти библиотеки Python и процесс автоматизации вместе с конфигурациями операционной системы позволяют параметризовать следующее:
- Взаимодействие с помощью команд, отправленных в чат, контролируется через чат-ботов.
- Это позволяет отслеживать статус раздачи еды.
- Контролирует, сколько еды будет выдано.
- На нем есть кнопки, позволяющие кормить вручную.
- Не допускает перекармливания за счет отключения кормления с 8-часовыми интервалами.
- Он имеет ЖК-дисплей состояния, на котором отображаются данные, такие как дата и время следующего включения питания, идентификатор SSID, к которому он подключен к Wi-Fi, и IP-адрес устройства.
- Необязательно: показывает некоторые случайные анекдоты и / или пустяки о числах с Чаком Норрисом, используя пару общедоступных APIS (изобретательно от оригинального автора).
- Система невосприимчива к перезапускам из-за отключения электроэнергии, поскольку она сохраняет файл состояния.
- Система обнаруживает потерю соединения и пытается восстановить соединение до тех пор, пока оно не будет успешным.
Шаг 1: Использованные материалы
- 1 Raperry Pi, предпочтительно версия 3, которая уже интегрирована с беспроводной картой, вы также можете использовать версию Pi 3 Zero, это требует немного больше работы, потому что вам нужно припаять контакты, но я очень поздно обнаружил, что это может используйте один из более экономичных.
- 1 электродвигатель с высоким крутящим моментом, 37 мм, 3,5 об / мин и 12 В.
- 1 кронштейн для двигателя 37 мм.
- 1 символьный ЖК-экран 20x4 строк с контроллером HD44780.
- 1 дозатор зерновых Zevro, модель WM1001, вал-D длиной 5 дюймов, диаметром 0,63 см (для прикрепления его к дозатору необходим D-образный вырез)
- 1 Муфта вала от 1/4 дюйма до 6 мм для соединения с двигателем.
Все предыдущие материалы, кроме двух последних, мне не удалось достать в своей стране (или, по крайней мере, я не знал, где их достать), однако стержень и муфта, вероятно, находятся в сварочном цехе, но я впервые что-то делаю. вот так, я понятия не имел, как он должен соответствовать движку, поэтому я попросил страницу ссылок, описанных выше; Ниже представлены материалы, которые я мог купить в местных магазинах:
- 1 деревянный ящик, я использую 20,3 см в ширину, 26,7 см в высоту и 13 см в глубину. В коробке есть дверь, которая открывается вправо с отверстием 10 см x 4 см для размещения ЖК-экрана (местные столярные изделия)
- 3 кнопки
- 1 маленькая прототипная доска
- 1 светодиод на 3,3 В (цвет не имеет значения, но для напряжения они обычно красные)
- 1 транзистор NPN PN2222
- 1 Сопротивление 270 Ом
- 1 Сопротивление 10 кОм
- 1 потенциометр 10 кОм
- 1 диод IN4003 (может работать IN4001 или IN4004)
- 1 адаптер 12В 3А
- 1 адаптер 5V 2A
- 4 винта с барашковой гайкой от 1,5 до 2 дюймов (в зависимости от толщины используемой древесины, они предназначены для крепления кронштейна двигателя к деревянному ящику)
- Кабели Перемычки разных цветов
- 1 складная труба или набор из ПВХ диаметром 4 дюйма, это зависит от высоты, на которой будет размещен деревянный ящик.
- 1 колено из ПВХ, которое прикрепляется к предыдущей гипсовой повязке.
- 3 хомута для автомобильных труб (Мир)
- 4 фута кабеля UTP (нам нужны витые пары для подключения)
- 1 USB-камера, разрешение не обязательно должно быть высоким.
Некоторые разные материалы, которые можно приобрести в хозяйственных магазинах или, возможно, у нас уже есть: Промышленная лента
- Сварщик олова
- Банка
- Дрель
- Упражнение 5/16
- Саморезы S8 с расширителями
Шаг 2: Размещение конструкции
Основная идея состоит в том, чтобы заменить дозирующую ручку, которая входит в ZEVRO, на стержень D, который затем будет соединен с двигателем с помощью соединителя. Диспенсер будет прикреплен к деревянному ящику, а деревянный ящик к стене. Поскольку я не очень разбираюсь в электронике, я не использовал бакелитовую пластину для монтажа схемы, поэтому я использовал макетную плату, чтобы разместить все компоненты, поэтому в нижней части коробки с помощью винтов крепится Rapberry Pi и макетная плата, на которую уже был нанесен клей. на спине, поэтому я просто пошел наклеить его. Коробка должна иметь три кнопки, которые будут выполнять функцию перезапуска таймера, активации фидера, а последняя будет прямым шагом для активации двигателя без прохождения цепи. Двигатель будет удерживаться внутри коробки с помощью кронштейна, поэтому из коробки будет выступать только стержень D, который соединяется с дозатором, в нижней части коробки зафиксируйте и отрегулируйте веб-камеру так, чтобы при каждой консультации по электронной почте и подтверждении я прислали фото, как тарелка, чтобы не перекармливать, если они не закончили последний раунд еды.
Снизу дозатора была размещена трубка, которая спускается к тарелке, и колено из ПВХ было помещено на основание, я поместил небольшую промышленную ленту в выпускное отверстие, чтобы минимизировать скорость потока пищи, и сделал дозирующее основание для не допускайте разбрызгивания пищи повсюду. Чтобы прикрепить трубу к стене, используйте металлические кронштейны, которые вы прикрепляете к стене с помощью шурупов S8.
На дверце коробки держите пластину ЖК-экрана и используйте витые пары кабеля UTP, чтобы подвести их прямо к Raspberry, на другом конце кабеля соедините концы перемычек с гнездом, чтобы упростить подключение. порты GPIO Raspberry. Это будет принципиальная схема. Я постараюсь объяснить это тем немногим, что я могу получить от Электроники.
Двигатель подключается непосредственно к положительному полюсу 12-вольтного трансформатора, но для протекания тока он должен проходить через цепь в нейтральном полюсе двигателя, для этого используется транзистор N2222. Транзисторы обычно имеют 3 ножки, которые соответствуют коллектору, базе и эмиттеру, в зависимости от модели транзистора расположение этих ножек может варьироваться; Этот транзистор выполняет функцию переключателя. Здесь мы подключаем нейтральный полюс двигателя к коллектору транзистора, вывод №19 рапберри подключается к базе посредством сопротивления 270 Ом, а эмиттер подключается к нейтральному выводу транзистора. Трансформатор 12В вместе с одним из полюсов земли малины; транзистор будет пропускать ток между коллектором и эмиттером, пока база стимулируется достаточным напряжением; позже мы запрограммируем Rapberry так, чтобы в соответствии с определенными заказами порт 19 выдавал 3,3 вольта, достаточного для продолжения цепи и активации двигателя.
Для ЖК-экрана другая часть протобарда используется в другой схеме, где вы подключаете потенциометр 10 кОм, который отклоняет контраст текста, отображаемого на ЖК-дисплее, поэтому, если на экране ничего не появляется, это, вероятно, связано с тем, что потенциометр полностью отключен. закрыто; в моем случае я оставляю его полностью открытым, чтобы текст лучше визуализировался. В итоге соединения на макетной плате будут следующими.
Шаг 3: Конфигурация Raspberry Pi
Прежде всего, важно создать Telegram Bot, которым будет управлять система. Вам понадобится ключ для изменения прикрепленного скрипта python. Ознакомьтесь с инструкциями в документации телеграммы:
core.telegram.org/bots#3-how-do-i-create-a-bot
Чтобы настроить rapberry, используйте облегченную версию Rapbian (нам не нужен графический интерфейс) и примените базовую конфигурацию, которая показывает raspbian после его установки или с помощью команды raspi-config: расширьте пространство до 100% и включите SSH, но особенно важно изменить пароль и имя пользователя на пользователя pi, который используется по умолчанию (в противном случае, как случилось со мной, они могут подвергнуться атаке через порт 22, если у них есть общедоступный IP-адрес, адресованный малине). Помимо конфигурации для автоматического подключения к моей сети Wi-Fi (при условии, что моя сеть называется «BlogSoriano», а мой пароль - «$ ecure123!»), Мы генерируем и сохраняем ключ в файле беспроводных подключений с помощью следующей команды:
sudo wpa_passphrase "BlogSoriano" "$ ecure123!" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf> / dev / null
Следующее, что нужно сделать, это обновить и установить систему установки python «pip», чтобы мы вошли в систему как root, обновили и установили необходимые пакеты:
sudo -i apt-get update apt-get install build-essential python-dev python-smbus python-pip
Благодаря этому у нас уже есть доступ к библиотеке классов python, для сценария, который мы собираемся использовать, нам необходимо установить следующее:
pip install RPi. GPIO Adafruit-CharLCD httplib2 html2text netifaces беспроводной телепот cv2
После завершения установки зависимостей мы будем использовать скрипт, прикрепленный к этому шагу, я сохраняю его по пути /opt/petfeeder.py, и файл можно создать с помощью команды nano /opt/petfeeder.py и внутри этого файла. мы вставляем код или, если у вас есть опыт работы с Linux, вы можете скачать его напрямую с помощью wget. В сценарии важно изменить переменные BOTKEY (в строке 36) и SYSPASSWORD (в строке 23).
Уточняю, что этот код был написан не мной, поскольку я никогда не программировал на Python, я только модифицировал его для работы с новыми библиотеками и с ЖК-экраном 20x4 и для использования Telegram Bot.
Когда у нас есть скрипт, мы должны изменить значения переменных с помощью ключа для бота; для этого необходимо создать нового Telegram Bot, при этом он будет только сохранять файл и выходить (с помощью Ctrl + или save и ctrl + x выходит из редактора nano), нам просто нужно быть доказательством перезапуска; сам скрипт сохраняет время последней активации системы питания, поэтому нам нужно только запускать скрипт при каждом запуске операционной системы, для этого я нашел очень конкретное решение с программой под названием supervisor, которая устанавливается из репозиториев Debian:
apt-get install supervisor
и после установки нам нужно только создать файл конфигурации в /etc/supervisor/conf.d/petfeeder.conf, поскольку в предыдущем случае мы можем создать и сохранить его с помощью nano, этот файл будет иметь следующее:
[программа: petfeederd] каталог = / opt command = python petfeeder.py autostart = true autorestart = true
После сохранения файла мы можем использовать команду supervisorctl [start | стоп | restart] petfeederd, так как в этом случае служба не была запущена, выполняем ее командой start:
supervisorctl start petfeederd
Шаг 4: готово к тестированию
И при этом система должна работать, на ЖК-экране должна отображаться информация о том, когда должна быть следующая подача или готова ли она к подаче, если я скажу об этом. Вы также должны указать имя беспроводной сети, к которой вы подключены, и IP-адрес, который используется на случай, если нам нужно подключиться через SSH, я делюсь небольшим видео, которое я сделал, я прошу прощения за его качество, я Я не очень хорошо разбираюсь в этой теме в блогах.
Вы должны иметь возможность искать своего бота в Telegram и отправлять одну из следующих команд после / авторизации в чате:
/ feed: запускает процесс кормления, пока не истечет параметризованный период времени.
/ when: возвращает информацию о том, когда было последнее кормление, и изображение тарелки с едой.
/ фото: Верните изображение тарелки с едой.
/ restart: перезапустить систему, установить для переменной последней подачи значение 0, чтобы можно было кормить немедленно.
/ status Он информирует о статусе подключения к Интернету: SSID подключенной беспроводной сети и IP-адрес, который система имеет в сети.
Рекомендуемые:
No Pee Now, устройство для регулирования поведения домашних животных, которое не дает кошкам пописать в вашем доме: 4 шага
No Pee Now, устройство для регулирования поведения домашних животных, которое не дает кошкам пописать в вашем доме: меня так беспокоила моя кошечка, что она любит писать на мою кровать, я проверил все, что ей нужно, и я также отвел ее к ветеринару. После того, как я исправил все, что мог думать, и прислушался к словам доктора, я понял, что она просто плохо себя ведет. Итак
Проект автоматизированной миски для корма для домашних животных: 13 шагов
Проект «Автоматизированная кормушка для домашних животных»: в этом руководстве будет показано и объяснено, как построить автоматизированную программируемую кормушку для домашних животных с прикрепленными мисками для корма. Я прикрепил сюда видео, показывающее, как работает продукт и как он выглядит
Диспенсер корма для домашних животных: 3 шага
Диспенсер для корма для домашних животных: для талисманов, как это сделать! Un alimentador automático que te permite observar cual es el pesaje de la comida, y solo es necesario que oprimas un botón.Un mecanismo sencillo que podrás armar desde tu
Автоматическая катапульта для бросания корма для домашних животных (собака, кошка, курица и т. Д.), Метания мячей и многого другого!: 4 шага (с изображениями)
Автоматическая катапульта для бросания корма для домашних животных (собаки, кошки, курицы и т. Д.), Метания мячей и многого другого !: Здравствуйте, и добро пожаловать на мой первый инструктаж! Наша собака ОБОЖАЕТ свою еду, она буквально съест ее в считанные секунды. Я придумывал способы замедлить это, от шариков с едой внутри до разбрасывания ее на задний двор. Удивительно, но она
Диспенсер для лакомства IoT для домашних животных: 7 шагов (с изображениями)
Диспенсер для IoT-лакомств для домашних животных: у меня две кошки, и необходимость кормить их лакомствами примерно 3 раза в день стала довольно неприятной. Они смотрели на меня своими милыми лицами и пристальными взглядами, затем бежали к коробке, полной кошачьей зелени, мяукали и умоляли о них. Я решил