Так же, как и люди, собак пугают разные вещи. Чаще всего это происходит из-за негативного опыта или из-за того, что с вами не справляются, когда всплывают их естественные страхи. В этой статье мы расскажем, как сделать так, чтобы ваша собака была в безопасности, когда вас нет дома.

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

Допустим, ваша собака боится кошек, и вы хотите убедиться, что ваш маленький пушистый друг в безопасности от кошек, играя на заднем дворе в ваше отсутствие. Вы можете создать приложение, в котором вы сможете получать SMS-оповещения на свое устройство, когда кошки распознаются Cloud Vision API.

В этом руководстве вы узнаете, как распознать изображение с помощью Google Cloud Vision API и предупредить пользователя с помощью SMS с помощью ClickSend API. PubNub формирует каркас приложения и связывает функции.

Полный репозиторий проекта на GitHub доступен здесь.

Давайте приступим к строительству

Предположим, веб-камера вашего ноутбука прикреплена к ошейнику вашей собаки. Ниже приведен код, который открывает вашу веб-камеру и делает снимки для вас. Вы можете установить временной интервал для частой съемки изображений. Эти изображения входят в элемент холста и могут быть сохранены на вашем устройстве. Вы можете найти код для нажатия и сохранения изображений ниже.

Cloud Vision API

API Google Cloud Vision позволяет разработчикам понимать содержание изображения с помощью мощных моделей машинного обучения. Чтобы приступить к реализации Vision API, вам необходимо создать новый проект здесь. Перед тем, как создать новый проект, вам необходимо настроить свой платежный аккаунт. После этого вам нужно включить Vision API.

Для получения более подробной информации перейдите по этой ссылке для быстрого старта.

Выполните следующую команду в своем терминале:

pip install --upgrade google-cloud-vision

Чтобы запустить клиентскую библиотеку, вы должны сначала настроить аутентификацию, создав учетную запись службы здесь и задав переменную среды.

  • В раскрывающемся списке Учетная запись службы выберите Новая учетная запись службы.
  • Введите имя в поле Имя учетной записи службы.
  • Не выбирайте значение в раскрывающемся списке Роль. Для доступа к этой службе роль не требуется.
  • Нажмите Создать. Появится примечание, предупреждающее, что эта учетная запись службы не имеет роли.
  • Нажмите Создать без роли. Файл JSON, содержащий ваш ключ, будет загружен на ваш компьютер.

Теперь установите переменную среды GOOGLE_APPLICATION_CREDENTIALS на путь к файлу JSON, который содержит ключ вашей учетной записи службы. Это можно сделать следующим образом:

Для Linux / Mac OS:

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Для Windows:

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

Теперь вы готовы запустить код, распознающий ваши изображения. Вот код Python, который берет снимки из каталога, в который вы их сохранили (мой - «Загрузки»), и отвечает ярлыками.

Результат распознавания изображения отправляется пользователю с помощью PubNub Real-time Messaging. Вам просто нужно подписать свое устройство на канал, например alert_notify, на который Vision API отправляет результаты распознавания изображений.

Уведомление через Интернет с использованием PubNub

Теперь вам нужно инициализировать ключи PubNub. Зарегистрируйтесь в учетной записи PubNub и создайте проект в Админ-панели.

Теперь вы можете опубликовать предупреждающее сообщение в своем коде Python, которое вы можете отправить в виде push-уведомления на свое устройство. Устройство, в свою очередь, подписывается на alert_notify канал и получает предупреждающее сообщение от вашей камеры.

Вы можете создать веб-push-уведомление, используя API уведомлений в HTML5.

ClickSend API

ClickSend API позволяет разработчикам интегрировать SMS, голос, факс, сообщения или электронную почту в свои приложения. Вы можете отправить SMS-сообщение на свое мобильное устройство вместе с веб-push-уведомлениями с помощью PubNub. ClickSend API хорошо документирован для разработчиков.

Вы можете использовать HTTP API ClickSend. Каждый раз, когда Vision API распознает изображение, вы получаете SMS на свое устройство.

Поздравляю!

Теперь, когда вы настроили Cloud Vision API и ClickSend API для связи друг с другом через Publish-Subscribe PubNub, вы сможете получать веб-уведомления и SMS-оповещения, отправляемые на ваше устройство каждый раз, когда камера делает снимок кошки. Несомненно, это отличная отправная точка для создания приложений с использованием различных API-интерфейсов и подключения их через PubNub.

Первоначально опубликовано на www.pubnub.com.