Через несколько недель после того, как мы завели щенка, мы научили её включать свет.
Оказалось, Кайра готова делать практически что угодно, если вы можете чётко выразить свои желания и держите в руке лакомство. В нашей спальне есть лампа из IKEA, которая включается нажатием ножной кнопки на полу. Мы начали тренировку, кладя её лапу на кнопку, произнося «Свет» и давая ей лакомство. Когда она поняла это, мы стали нажимать на её лапу и не давать лакомство, пока не раздастся щелчок. В конце концов мы могли сказать «Свет» с другого конца комнаты, и Кайра подбегала и выполняла задачу:
Вскоре после этого я начал думать: «У меня есть собака, которая может нажимать на кнопку. Что я могу с этим сделать?»
Когда Twilio запустил Programmable MMS, я начал задаваться вопросом, сможем ли мы научить Кайру отправлять селфи. Рад сообщить, что благодаря Arduino Yun и большой красной кнопке ответ — громкое «Да!»:
То, что вы видите на видео, — это коробка из-под сигар, в которой установлена огромная аркадная кнопка и Arduino Yun. Вторая коробка служит подставкой для веб-камеры, подключённой к Yun. (В моём местном магазине сигар пустые коробки продаются за 2 доллара, что делает их прочными и стильными корпусами для оборудования).
Arduino Yun с поддержкой Wi-Fi имеет два микропроцессора: один выполняет все операции с контактами, которые вы обычно ассоциируете с Arduino. Второй работает под управлением урезанной версии Linux под названием OpenWRT, на которой можно запускать программы на вашем любимом языке сценариев (Python предустановлен, но вы можете установить Ruby или Node, если пожелаете). В этом проекте на каждом процессоре выполняется одна программа. Вместе они содержат менее 60 строк кода.
Скетч Arduino просто:
— ждёт нажатия кнопки
— выполняет команду оболочки для съёмки фотографии
— запускает скрипт на Python для загрузки фотографии в Dropbox и отправки MMS
Если вы хотите узнать больше о том, как мы к этому пришли, мы задокументировали весь процесс от распаковки Arduino Yun до отправки MMS в этих трёх руководствах:
— Начало работы с Arduino Yun
— Съёмка фотографии с помощью веб-камеры и её загрузка в Dropbox с Yun
— Отправка SMS и MMS с вашего Arduino Yun
Что меня больше всего радует в этом проекте, помимо новизны того, что моя собака отправляет селфи, — это простота каждого компонента. Нажатие кнопки — это буквально второй пример из книги Массимо Банци «Getting Started with Arduino». Скрипт на Python — это практически копипаст из руководства по началу работы с Dropbox и краткого руководства по SMS и MMS от Twilio.
Взлом оборудования может показаться пугающим, если вы никогда раньше этого не делали, но помните, что самые впечатляющие хаки часто состоят из простых строительных блоков, сложенных вместе. Устройства с поддержкой Wi-Fi, такие как Arduino Yun, значительно снизили порог входа для веб-разработчиков, желающих погрузиться в Интернет вещей.
Так что, допустим, у вас есть коробка, которая может взаимодействовать как с физическим миром, так и с любым веб-API, используя язык программирования, который вы уже знаете. Что бы вы могли с этим сделать?
Что бы это ни было, я хотел бы услышать об этом. Свяжитесь со мной в @greggyb или на gb@twilio.com.
*Большое спасибо Владу Петренко за перевод этого поста на русский язык.*