Я создал комбинацию Twilio и Node.js, которая позволяет мне управлять бытовыми приборами и термостатом в моем доме, используя голосовое распознавание Siri на iPhone 4S.
Вот демонстрация включения моего вентилятора в спальне.
Как это работает? От Siri до конечного результата цепочка выглядит так:
Давайте подробно рассмотрим настройку в обратном порядке.
В прошлом году я приобрел следующие товары на Amazon для добавления базовой домашней автоматизации в мой дом.
— Indigo 4 Pro INSTEON-совместимое программное обеспечение для домашней автоматизации для Mac $179.98
— ApplianceLinc – INSTEON Plug-in Appliance On/Off Module, 3-Pin $34.99
— Venstar Thermostat – INSTEON Remote Control Thermostat 7-Day Programmable $199.99
— PowerLinc Modem – INSTEON USB Interface (Dual-Band) $79.99
У меня есть Mac Mini, который я использую как сервер, подключенный к модему PowerLinc через USB. Программное обеспечение Indigo обменивается данными с устройствами Insteon в моем доме через PowerLinc. Помимо нативного приложения для iPhone, программное обеспечение Indigo имеет как веб-интерфейс, так и RESTful API, которые вы можете использовать для управления своими устройствами.
Приложение Node.js выступает посредником между Twilio и веб-сервером Indigo. Когда Twilio отправляет входящее SMS-сообщение в приложение Node, оно анализирует сообщение и определяет соответствующий вызов API, который нужно сделать на веб-сервере Indigo. Я написал некоторую полу-нечеткую логику, так что фразы, которые вы используете, не обязательно должны быть точными.
Для хостинга приложения Node я выбрал Heroku, потому что им удобно пользоваться и это бесплатно.
Настройка Twilio была очень простой. Я создал аккаунт Twilio, приобрел номер телефона за $1/месяц и ввел URL моего приложения Node, которое принимает входящие SMS-сообщения.
Чтобы упростить общение с моим телефонным номером Twilio, я добавил контакт под названием «Gladys» (может быть любым, но я фанат Portal) и связал с ней номер Twilio.
Теперь я могу управлять своими приборами, используя следующие команды:
*Скажи Глэдис установить термостат на 73**Скажи Глэдис выключить вентилятор в спальне*
Изначально я хотел превратить это в общедоступный веб-сервис *Siri в URL*, но я сомневаюсь в спросе на такую вещь, учитывая, что попытка сделать его «универсальным» займет много времени. Поэтому, если вы заинтересованы в добавлении управления Siri к своему собственному случаю использования и у вас нет навыков программирования, я доступен для найма и могу создать для вас что-то, соответствующее вашим точным потребностям. 😉
*Перекрестная публикация с разрешения блога Кристофера.*