Инженер и собаковод Грег Богес (Greg Baugues) натренировал свою собаку Каиру нескольким полезным трюкам. Например, она умеет по команде «Свет!» включать свет в комнате, наступая на выключатель на полу.
Когда пёс освоил включение света, Грег задумался о том, что ещё собака может делать по команде, нажимая кнопку.
Он почитал рекомендации других собаководов, у которых домашние животные освоили электронные устройства, и придумал, что Каира вполне может освоить селфи, то есть может фотографировать сама себя и отправлять снимок по MMS.
Грег Богес сконструировал устройство с веб-камерой, которая активируется нажатием на большую красную кнопку. В качестве корпуса используется стильная коробка из-под сигар, такие продаёт местный магазин по два доллара за штуку.
Спустя небольшое время Каира научилась делать автопортрет.
Внутри коробки установлена плата 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)
ссылка на оригинал статьи http://geektimes.ru/post/247932/
Добавить комментарий