Оглавление:

Abellcadabra (система дверного замка с распознаванием лиц): 9 шагов
Abellcadabra (система дверного замка с распознаванием лиц): 9 шагов

Видео: Abellcadabra (система дверного замка с распознаванием лиц): 9 шагов

Видео: Abellcadabra (система дверного замка с распознаванием лиц): 9 шагов
Видео: Голубая стрела (1958) фильм 2024, Ноябрь
Anonim
Abellcadabra (система дверного замка с распознаванием лиц)
Abellcadabra (система дверного замка с распознаванием лиц)

Поваляясь во время карантина, я пытался найти способ убить время, построив распознавание лиц для дверей дома. Я назвал его Abellcadabra - это комбинация Abracadabra, волшебной фразы с дверным звонком, на который я беру только звонок. ржу не могу

В любом случае эта система будет выполнять распознавание лиц с помощью Amazon Rekognition, когда пользователь нажимает на дверной звонок. Rekognition собирается сравнить снимок, сделанный с коллекцией изображений в Amazon S3. Если распознавание прошло успешно, дверь откроется. Если это не удастся, прозвучит зуммер, и у пользователя будет возможность разблокировать с помощью токена RFID. Внутри дома также есть кнопка, с помощью которой хозяин может открыть дверь, нажав на нее.

Все выполненные распознавания и разблокировки будут храниться в Amazon DynamoDB. Я постараюсь объяснить шаг за шагом, чтобы построить всю систему. Я использую материалы, которые у меня уже есть, потому что потребовалось много времени, чтобы получить что-то еще, вот и все.

Шаг 1. Материалы и инструменты

Материал:

  • Raspberry Pi
  • Pi камера
  • RC сервопривод (будет действовать как дверной замок)
  • Кнопка переключения 2x
  • Зуммер
  • Магнитный переключатель
  • RFID-считыватель и бирка RC-522
  • MF, MM, FF макетные провода
  • Ледяная коробка из пенопласта - подойдет любой размер, потому что это будет наша дверь.
  • Петля 1,5 дюйма 2 шт.
  • 2,5 мм винт 4 шт.

Инструменты

  • Отвертка
  • Двухсторонний скотч

Шаг 2. Настройка Amazon Web Services

Настройка веб-сервисов Amazon
Настройка веб-сервисов Amazon

Amazon Web Services прост в использовании и бесплатен, пока вы не достигнете 5000 вызовов API в месяц. Вы можете зарегистрировать учетную запись AWS здесь. Вам нужно будет зарегистрировать бесплатную учетную запись amazon Rekognition. Уровень бесплатного пользования должен быть более чем достаточным для этого проекта.

После успешной регистрации щелкните Службы> IAM. Отсюда мы создадим пользователя, у которого будут разрешения на использование Raspberry Pi.

  1. Щелкните Пользователи> Добавить нового пользователя.
  2. Дайте имя созданному пользователю. Для типа доступа установите флажок Программный доступ.
  3. Нажмите "Далее.
  4. Нажмите «Прикрепить существующие политики напрямую». Проверьте следующие политики:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • АдминистраторДоступ
  1. Нажмите Next и Next еще раз, потому что нам не нужно добавлять тег.
  2. Убедитесь, что выбранные политики совпадают с перечисленными, затем нажмите «Создать пользователя».

Загрузите файл CSV, содержащий идентификатор ключа доступа и секретный ключ доступа, которые будут использоваться на следующем этапе. Щелкните "Закрыть".

Шаг 3. Настройте Amazon S3 и Amazon DynamoDB

В Консоли AWS щелкните Сервисы> S3.

S3 работает так же, как Google Диск, где вы можете хранить документы и изображения. Для этого проекта нам понадобятся две корзины, одна из которых предназначена для хранения коллекции изображений, которые будут использоваться Amazon Rekognition (а вторая - для хранения захваченного изображения.

  1. Щелкните "Создать сегмент".
  2. Введите имя сегмента и снова нажмите «Далее» и «Далее».
  3. Снимите флажок «Блокировать весь общий доступ».
  4. И установите флажок «Я подтверждаю, что текущие настройки могут привести к тому, что эта корзина и объекты в ней станут общедоступными».
  5. Нажмите «Далее» и «Создать сегмент».
  6. Повторите шаг для второго ведра.
  7. щелкните Службы> DynamoDB

Amazon DynamoDB будет использоваться в этом проекте для хранения данных распознавания и разблокировки. данные, которые будут сохранены, это ссылка на захваченное изображение, имя изображения, распознанное или, если не распознанное, имя будет сохранено как «неизвестно», дата и время распознавания и статус, является ли оно успешным, нет совпадений лиц, нет лиц обнаружен, RFID разблокирован или разблокирован изнутри.

  1. Щелкните Добавить новую таблицу.
  2. Вставьте любое имя для таблицы.
  3. Для первичного ключа вставьте «rid» в качестве первичного ключа.
  4. Щелкните "Создать".

Шаг 4. Настройте AWS на Raspberry Pi

Первый шаг - ввести свои учетные данные AWS. Для этого введите в консоли Raspberry Pi:

aws настроить

Затем введите свои учетные данные AWS IAM, которые вы создали, убедившись, что вы ввели «us-west-2» в качестве своего региона (или соответствующего региона, который вы настроили для AWS Rekognition). Оставьте поле формата вывода по умолчанию пустым.

Шаг 5: Подключите предметы к Raspberry Pi

Итак, соединения элементов указаны ниже.

  • RC Servo - 1, 11, Земля
  • Магнитный переключатель - 8, земля
  • Зуммер - 32, Земля
  • Внешняя кнопка - 16, Земля
  • Внутренняя кнопка - 18, земля
  • Штырь SDA на считывателе RFID - 24
  • Контакт SCK на считывателе RFID - 23
  • Контакт MOSI на считывателе RFID - 19
  • Штифт MISO на считывателе RFID - 21
  • Контакт GND на считывателе RFID - Земля
  • Штифт RST на считывателе RFID - 22
  • Контакт 3.3 В на считывателе RFID - 17

Пожалуйста, подключитесь к ближайшей земле.

Шаг 6: коды

Вы можете найти весь необходимый код в моем репозитории Git.

Инструкции по добавлению лиц и использованию Index Faces.py смотрите в этом видео.

Шаг 7: создание прототипа

Создание прототипа
Создание прототипа
Создание прототипа
Создание прототипа

Поскольку я не делал никаких снимков во время сборки, я просто оставлю фотографию своего готового прототипа.

Прототип построен, чтобы изобразить дверь. Вид из окна показывает вид на дверь снаружи дома. Pi Camera была установлена на средней высоте линии человеческого глаза, чтобы на снятом изображении было лицо, которое нужно распознать. Кнопка дверного звонка, которая активирует Pi-камеру для захвата изображения, расположена под Pi-камерой. Считыватель RFID также помещается на дверь, чтобы пользователь у двери мог открыть дверь с помощью метки RFID в случае сбоя распознавания.

Красная кнопка - это внутренняя кнопка, которая будет использоваться для открытия двери изнутри дома. Raspberry Pi размещается внутри дома, чтобы люди снаружи не могли вмешиваться в него. RC Servo размещается с правой стороны двери как замок двери. Зуммер размещается внутри дома, чтобы звук зуммера был слышен от людей внутри дома, когда он зазвонил. Магнитный выключатель находится между дверью и рамой.

Шаг 8: Тестирование прототипа

Тестирование прототипа
Тестирование прототипа

Запустите код на терминале

sudo python3 filename.py

Просто нажмите желтую кнопку на внешней стороне дома, и эта фотография будет сделана.

Проверьте свой Amazon DynamoDB, чтобы убедиться, что таблица обновлена, и сегменты S3, чтобы убедиться, что сохраненное изображение сохранено.

Шаг 9: закрытие

Если вы решили сделать этот проект самостоятельно, дайте мне знать в комментариях (:

Спасибо за прочтение.

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