Вызовите мой Arduino
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Об этом проекте
(Из http://www.instructables.com/id/Call-my-Arduino/)
Как включить телефонные звонки на ваш Arduino , используя Twilio и Yaler.net
Twilio - это веб-сервис, превращающий все в телефон. Это REST API для телефонии, размещенный в облаке. В этом случае Twilio запрашивает у Arduino новый файл voice.xml всякий раз, когда кто-то звонит на предварительно определенный номер телефона Arduino. Содержание ответа зачитывается вызывающему абоненту Алисой, голосом механизма преобразования текста в речь Twilio.
Yaler.net обеспечивает веб-доступ к встроенным устройствам за межсетевым экраном, NAT или маршрутизатором мобильной сети. Здесь он позволяет Twilio получить доступ к файлу voice.xml на Arduino, который находится в локальной сети и, следовательно, не имеет собственного публичного IP-адреса (раскрытие:я основатель Yaler).
В этой демонстрации используется датчик температуры, но подойдет и любой другой датчик. Примером реального продукта может служить детектор дыма Canary (теперь Birdi), который позволяет обеспокоенным домовладельцам позвонить ему и спросить, в порядке ли батарея.
На более абстрактном уровне эта инструкция пытается показать, как в открытом Интернете вещей модульные облачные сервисы можно свободно комбинировать для создания новых, простых и надежных решений. HTTP и Webhooks FTW! Но приступим ...
(Вот видео, объясняющее этот проект из IoTLive, часть IoTDay 2014)
Материал
- Arduino Uno (например, https://www.adafruit.com/products/50)
- USB-кабель стандарта A-B (например, http://www.adafruit.com/products/62)
- Arduino Ethernet Shield (например, http://www.adafruit.com/products/201)
- Кабель Ethernet (например, http://www.adafruit.com/products/995)
- Аналоговый датчик температуры (например, https://www.adafruit.com/products/165)
- Комплект проводов для макетирования (например, http://www.adafruit.com/products/153)
- Макетная плата (например, http://www.adafruit.com/products/64)
http://www.youtube.com/watch?v=4IPwkW38oIwШаг 1. Подключение датчика
Добавьте экран Ethernet к Arduino и подключите датчик температуры, как показано. Подробнее о измерении температуры с помощью датчика TMP36 см., Например, http://learn.adafruit.com/tmp36-tempera-sensor/using-a-temp-sensor
Если вы хотите добавить другие (цифровые) датчики, имейте в виду, что некоторые контакты используются экраном Ethernet.
Шаг 2. Установка библиотеки Yaler
Выполните три шага для установки библиотеки на https://yaler.net/arduino. Если вы еще этого не сделали, зарегистрируйтесь на https://yaler.net/ для получения бесплатной пробной учетной записи и запишите домен ретрансляции (секретный ключ не нужен).
Шаг 3. Программирование Arduino
Загрузите исходный код TwilioYalerWebService Arduino
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=default
Откройте код Arduino
Программа реализует очень простой веб-сервер, который прослушивает входящие HTTP-запросы. Когда поступает запрос, программа отвечает XML-документом. Сервер не заботится о том, является ли URL-путь / или /voice.xml.
Измените MAC-адрес
Убедитесь, что MAC-адрес в коде Arduino уникален. Это особенно важно, если в одной локальной сети находится несколько Arduinos. Простой способ получить (надеюсь) уникальный адрес - это найти MAC-адрес вашего компьютера и затем добавить 1 к последней цифре.
Введите свой домен ретрансляции
Вместо создания локального сервера с сервером EthernetServer (80); мы создаем тот, который доступен через реле Yaler try.yaler.net , в следующей строке:
Сервер YalerEthernetServer ("try.yaler.net", 80, "RELAY_DOMAIN");
Заменить RELAY_DOMAIN с вашим доменом ретрансляции, например для gsiot-ffmq-ttd5 тип:
Сервер YalerEthernetServer ("try.yaler.net", 80, "gsiot-ffmq-ttd5");
Обратите внимание, что вы также можете использовать локальный сервер, если знаете, как настроить переадресацию портов, чтобы открыть дыру для входящих HTTP-запросов в локальном брандмауэре. Важно то, что Twilio может получить доступ к Arduino из облака.
Сохранить изменения и загрузить
Сохраните все изменения и загрузите программу на свой Arduino. Пока оставьте USB-кабель подключенным к компьютеру разработчика и откройте последовательную консоль, чтобы увидеть выходные данные отладки.
Шаг 4. Доступ к Arduino
Доступ к вашему Arduino из любого браузера
Библиотека Yaler делает ваш Arduino (а вместе с ним и XML-документ) доступным из общедоступного Интернета по адресу http://RELAY_DOMAIN.try.yaler.net/, например для домена ретрансляции gsiot-ffmq-ttd5 URL-адрес: http://gsiot-ffmq-ttd5.try.yaler.net/ Или, чтобы он выглядел лучше для Twilio: http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml
Проверьте XML-документ
Содержимое XML-документа сообщает Twilio, что нужно ответить на входящий телефонный звонок. Вы даже можете выбрать голос для преобразования текста в речь. Вот это Алиса. Формат XML Twilio называется TwiML. Подробнее см. Https://www.twilio.com/docs/api/twiml. Обратите внимание, что текст ответа содержит фактическую температуру. Нагрейте датчик и обновите документ в веб-браузере, нажав клавишу F5, чтобы увидеть, как он изменится.
Устранение неполадок
Если вы получили пустую страницу или сообщение об ошибке, убедитесь, что кабель Ethernet подключен и проверьте https://yaler.net/browser на предмет отладки для конкретного браузера.
Шаг 5. Настройка номера Twilio
Зарегистрируйтесь
Во-первых, чтобы получить учетную запись Twilio, вам необходимо зарегистрироваться на https://www.twilio.com/
Купить номер телефона
Чтобы принимать звонки, вам понадобится номер, который стоит (невысоко). Войдите, перейдите к Цифры и выберите Числа Twilio подменю, чтобы увидеть Управление числами таб.
Нажмите Купить номер . кнопку, выберите Голос установите флажок и нажмите Поиск , затем выберите номер и нажмите Купить купить это.
Настройте URL-адрес веб-перехватчика voice.xml
В разделе Управление номерами нажмите на только что купленный номер. Установите URL-адрес ответа на http://RELAY_DOMAIN.try.yaler.net/voice.xml и убедитесь, что POST выбрано, например для домена ретрансляции Yaler gsiot-ffmq-ttd5 установите URL-адрес ответа на http://gsiot-ffmq-ttd5.try.yaler.net/voice.xml
Шаг 6. Сделайте тестовый звонок
После того, как Arduino настроен, вы можете позвонить на него с любого телефона - даже вашего дедушки.
Вот и все, спасибо за чтение. @tamberg
Код
Bitbucket
https://bitbucket.org/tamberg/iotworkshop/raw/default/Arduino/TwilioYalerWebService/TwilioYalerWebService.ino?at=defaultСхема
Производственный процесс
- Стик-антиперспирант / дезодорант
- Raspberry Pi Garage Door Opener с потоковым видео статуса двери.
- Электронная томография нанопроволок GaN / (In, Ga) N ядро-оболочка в форме карандаша
- Arduino Spybot
- FlickMote
- Самодельный телевизор B-Gone
- Вызовите мой Arduino
- Основные часы
- Найди меня
- Программное обеспечение для технического обслуживания/CMMS – подготовка бизнес-обоснования