Информация о проекте
Сегодня расскажем о создании двери для кошек в двери на улицу. С помощью нее владельцы домов смогут впускать и выпускать своих питомцев автоматически с помощью датчиков движения с функцией распознавания объекта.
Используемые в проекте компоненты
Аппаратные средства
- Raspberry Pi 3, модель B.
Мы используем Raspberry Pi, но подойдет также MinnowBoard. В этом случае поменяйте «АRM» в инструкции ниже на «x86». - Microsoft LifeCam 3000.
Подойдет любая USB-камера. - Датчик движения PIR (универсальный) — две штуки.
- Servo Plate A — две штуки.
- HS-485HB Servo — две штуки.
- Светодиод (универсальный) — две штуки.
- Дверь для питомца.
- Adafruit PWM, 16 каналов, 12 бит/Servo Driver — интерфейс I2C — PCA9685.
Используется для управления сервомеханизмами PWM через интерфейс I2C.
Программные приложения и онлайн-службы
- Microsoft Windows 10 IoT Core
- OpenCV
- Microsoft Visual Studio 2017
Инструменты и устройства
- 3D-принтер (универсальный)
- Пила (универсальная)
- Дрель (универсальная)
Проект
В этом проекте задействована функция машинного распознавания образов, позволяющая войти в дом только вашей кошке. Дверь активируется датчиком движения и открывается только после распознавания морды вашей кошки.
Возможно, вам будет интересно дополнить проект следующими функциями:
- интерфейс пользователя для просмотра фотографий животных, которые пытались проникнуть в дом;
- панель, на которой отображается информация о том, как часто ваш питомец выходит из дома и возвращается назад;
- возможность дополнительного обучения классификатора на основе изображений вашей кошки;
- система отправки сообщений с фотографиями животных, которым было отказано в доступе в дом, с возможностью вручную менять решение классификатора.
Первоначальная настройка
- Настройте Raspberry Pi или MinnowBoard на компьютере, следуя этой инструкции.
- Подключите USB-камеру, клавиатуру и мышь к устройству.
- Подключите датчики движения PIR, сервомеханизмы и светодиоды согласно схеме, приведенной ниже. Сервомеханизмы используются для открывания и закрывания двери.
- Включите компьютер и активируйте коннектор Lightning, следуя этим инструкциям.
Настройка оборудования
Отпилите один конец каждой пластины сервомеханизма пилой так, чтобы они были вровень со стенкой сервомеханизма (см. фото ниже). В результате дверь будет открываться полностью, не ударяясь об эти пластины.
Затем просверлите в верхней части двери для питомца отверстия, в которых будут размещаться светодиоды и датчики движения. Отверстия должны быть немного шире сенсоров.
Наконец, распечатайте на 3D-принтере два соединителя сервомеханизма и корпус, если посчитаете нужным. На иллюстрациях к этой инструкции показан корпус MinnowBoard.
Прикрепите соединители к сервомеханизмам на противоположной от ограничителей стороне двери. Теперь сервомеханизмы смогут управлять открытием и закрытием двери.
Настройка программного обеспечения
- Используйте командную строку для перехода в папку, где будет располагаться проект:
cd <путь к папке>
- Запустите команду клонирования git для загрузки проекта:
git clone https://github.com/ms-iot/PetDoor.git
- Откройте файл PetDoor.sln из только что скачанной папки с помощью Visual Studio 2017.
- Загрузите библиотеку OpenCV, скомпилируйте ее и добавьте двоичные файлы в проект, следуя этим инструкциям.
- В верхнем меню Visual Studio выберите Debug и ARM (для Raspberry PI) или Debug и x86 (для MinnowBoard).
- Нажмите кнопку Remote Machine (Удаленный компьютер). В диалогом окне Remote Connections (Удаленные соединения) укажите IP-адрес удаленного компьютера. IP-адрес отображается на панели IoT, которую можно скачать здесь.
Работа с программным обеспечением
У этого приложения имеется дополнительный интерфейс пользователя, где отображается видеопоток с камеры, а также самые недавние изображения, созданные в момент срабатывания триггера датчика движения. Возможна также работа без монитора. Дверь открывается автоматически при обнаружении движения в помещении. Если движение наблюдается снаружи, то изображения передаются с веб-камеры в классификатор изображений OpenCV и обрабатываются им. Классификатор передает вектор распознанной на изображении кошачьей морды. Если в нем содержатся данные, дверь открывается.
Полезный совет.
Светодиоды, подключенные к каждому датчику движения, загораются каждый раз при срабатывании триггера с подачей 5 вольт.
Проект разработан на базе Кодекса поведения Microsoft в отношении продуктов с открытым исходным кодом. Для получения дополнительной информации ознакомьтесь с Часто задаваемыми вопросами о кодексеу поведения или напишите по адресу opencode@microsoft.com, если у вас возникнут дополнительные вопросы либо комментарии.
Заказные запчасти
Соединитель сервомеханизма
Необходимо распечатать на 3D-принтере два соединителя и прикрепить их к сервомеханизмам на противоположной от ограничителей стороне двери. В результате сервомеханизмы смогут контролировать открытие и закрытие двери.
Корпус MinnowBoard Max
Этот корпус можно использовать для крепления MinnowBoard к двери.
Файл CAD на сайте thingiverse.com.
Комментарии (12)
YaRobot
14.02.2018 13:38+1Сегодня — масленичная неделя.
Т.к. публикация в среду, значит сегодня «Лакомка».
В этот день все хозяюшки в больших объемах готовят различные вкусности, в первую очередь блины, украшая ими богатый стол.
А вы говорите обычный.
mustiks
14.02.2018 13:53+1Самого главного на видео нет, как оно не пускает животное
datacompboy
14.02.2018 20:46В смысле, как кошка домой зайти не может, измазавшись сметаной?
mustiks
14.02.2018 20:56Как оно енота не пускает, иначе вся суть теряется, как на видео и без всякой электроники работать будет
ange007
14.02.2018 23:21Это всё конечно хорошо, но лучше уж сделать допуск по RFID метке в ошейнике.
А то у меня в округе хватает похожих с моим — котов :)
mkm565
15.02.2018 01:26Две цитаты
xxx: Неделю назад пропал мой кот, но четыре дня назад я его нашла и принесла в дом, а сегодня вернулся мой кот. Теперь у меня два одинаковых кота.
yyy: Представляете потрясение своего кота? Возвращается он домой, а он уже дома..>From Internet (Гугление или гуглование):
APPLE REFUNDS DEVICE THAT CAN'T TELL CHINESE PEOPLE APART, WOMAN CLAIMS
A Chinese woman, identified only by her surname Yan, was offered two refunds from Apple for her new iPhone X, as the AI-powered facial recognition technology was unable to tell her and her other Chinese colleague apart.>И одна картинка (Надпись справа должна быть: No, I've installed a cat face recognition system)
У меня коты чипованные и стоит SureFlap Microchip Pet Door. Нареканий не было. Потом один из
коровкотовпроглотил воздушний шарикперестал пролезать в дверь. Пришлось установить обычню, большуюAreso
16.02.2018 11:10Представляете потрясение своего кота? Возвращается он домой, а он уже дома
Rudolf the Black Cat, 2016
Когда кошка выпала с балкона мы дали объявление, что потерялась кошка. Нам звонили практически непереставая, и носили кошек (и даже котов!) в среднем по 3-4 штуки в день. Парочка была довольно похожих, но отличались возрастом и поведением. Нашу кошку нашла детвора на третий день.
Gryphon88
С механикой Вы мощно наoverengineerили…
little-brother
Не только с механикой.
Вместо распознавания и датчика движения можно было бы одной RFID-меткой обойтись на ошейнике.
В целом проект напоминает Juicero: технологично и беспощадно.
bearoxide
Может у них там соседские коты ошейники с метками отжимают?
sav1812
А вот уже метка должна уметь распознавать биополе кота и не выдавать сигнал на чужом…