- PVSM.RU - https://www.pvsm.ru -

Собака научилась делать селфи с помощью Arduino

Собака научилась делать селфи с помощью Arduino - 1

Инженер и собаковод Грег Богес (Greg Baugues) натренировал свою собаку Каиру нескольким полезным трюкам. Например, она умеет по команде «Свет!» включать свет в комнате, наступая на выключатель на полу.

Когда пёс освоил включение света, Грег задумался о том, что ещё собака может делать по команде, нажимая кнопку.

Он почитал рекомендации [1] других собаководов, у которых домашние животные освоили электронные устройства, и придумал, что Каира вполне может освоить селфи, то есть может фотографировать сама себя и отправлять снимок по MMS.

Грег Богес сконструировал устройство с веб-камерой [2], которая активируется нажатием на большую красную кнопку. В качестве корпуса используется стильная коробка из-под сигар, такие продаёт местный магазин по два доллара за штуку.

Собака научилась делать селфи с помощью Arduino - 2

Спустя небольшое время Каира научилась делать автопортрет.

Внутри коробки установлена плата Arduino Yun с двумя микропроцессорами. На втором запущен Linux-дистрибутив OpenWRT, который часто устанавливают в WiFi-маршрутизаторы. Всего на двух процессорах работает две программы, общим размером не более 60 строк кода.

Arduino просто ожидает, когда будет нажата клавиша, запускает команду для записи фотографии и запускает скрипт Python, чтобы загрузить фотографию на Dropbox и отправить MMS.

Скрипт тоже простой.

import datetime
import dropbox
from twilio.rest import TwilioRestClient
 
dropbox_access_token = "YOURDROPBOXTOKEN"
twilio_phone_number = "YOURTWILIOPHONENUMBER"
twilio_account_sid = "YOURTWILIOACCOUNTSID"
twilio_auth_token = "YOURTWILIOAUTHTOKEN"
cellphone = 'YOURCELLPHONE'
 
timestamp = datetime.datetime.now().strftime("%h-%m-%S")
filename = "kaira-" + timestamp + ".jpg"
 
f = open("/mnt/sda1/pic.jpg")
dropbox_client = dropbox.client.DropboxClient(dropbox_access_token)
response = dropbox_client.put_file(filename, f)
url = dropbox_client.media(response['path'])['url']
 
twilio_client = TwilioRestClient(twilio_account_sid, twilio_auth_token)
twilio_client.messages.create(
  to = cellphone,
  from_ = twilio_phone_number,
  body = "Woof.",
  media_url = url)

Автор: alizar

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/wifi/87157

Ссылки в тексте:

[1] рекомендации: https://www.twilio.com/blog/2014/12/12-hacks-of-christmas-day-2-training-your-dog-with-webrtc-tessel-and-twilio.html

[2] сконструировал устройство с веб-камерой: https://www.twilio.com/blog/2015/03/how-my-dog-sends-selfies.html

[3] Источник: http://geektimes.ru/post/247932/