Передача SMS с помощью модуля ESP8266


В данной статье мы рассмотрим передачу коротких текстовых сообщений (SMS) с помощью модуля ESP8266. Модуль ESP8266 является достаточно мощным WiFi модулем и, можно сказать, что в настоящее время он доминирует в сфере интернета вещей (Internet of Things, IoT). К тому же данный модуль является микроконтроллером и может самостоятельно выполнять записанные в его память программы. Загружать в него программы можно из Arduino IDE.

В нашем проекте мы будем передавать SMS на заданный телефонный номер с помощью модуля ESP8266. Для выполнения этой задачи мы будем использовать IFTTT апплеты (специальные небольшие приложения).

Внешний вид проекта передачи SMS с помощью модуля ESP8266

Если вы только начали свое знакомство с модулем ESP8266, то перед изучением материала данной статьи рекомендуем вам ознакомиться со следующими двумя обучающими статьями по данному модулю:

В качестве схемы проекта вы можете использовать схему из приведенных статей либо же программировать модуль ESP8266 с помощью платы Arduino Uno как показано, к примеру, в этой статье.

Основные принципы работы проекта

Мы знаем, что модуль ESP8266 может быть сконфигурирован для работы в качестве станции (STA) или точки доступа (AP). В данном проекте мы будем конфигурировать его в качестве станции и подключать его к нашему WiFi роутеру. Далее, используя WiFi соединение, мы будем передавать короткие текстовые сообщения (SMS) с помощью сервиса IFTTT (If This Then That). С помощью данного сервиса можно передавать не только SMS, но и E-mail, сообщения Whatsapp, обновления Facebook, твиты Twitter и многое другое. В общем, возможности данного сервиса практически безграничны, но в данной статье мы ограничимся только его функционалом в плане передачи SMS.

После нескольких несложных действий в сервисе IFTTT мы получим адрес HTTPS URL, при заходе на который будет передаваться заранее введенное текстовое сообщение на заданный телефонный номер. Затем, когда нам будет нужно, мы будем посещать этот URL с помощью модуля ESP8266 и, таким образом, будет осуществляться передача нашего SMS.

Создание IFTTT апплета

Для получения необходимого нам URL, при заходе на который будет передаваться SMS на заданный телефонный номер, нам необходимо создать соответствующий IFTTT апплет (Applet). Для его создания выполните следующую последовательность шагов:

Шаг 1. Зайдите на сайт https://www.ifttt.com/ и создайте там себе аккаунт если у вас его еще нет. После регистрации на ваш E-mail будет выслано проверочное письмо чтобы вы подтвердили создание своего аккаунта.

Шаг 2. В сервисе IFTTT найдите пункт SMS Applet или перейдите по этой ссылке. Зарегистрируйте в создаваемом апплете номер своего мобильного телефона. Автор проекта (ссылка на оригинал приведена в конце статьи) использовал номер “00919612365489” в качестве примера. Во вводимо номере телефона всегда вводите сначала цифры “00”, после них код своей страны, а после этого номер вашего мобильного телефона. Автор проекта живет в Индии, поэтому код его страны “91”, а номер его телефона – “96123456789”. После того как номер телефона будет введен нажмите на кнопку “Send Pin” чтобы подтвердить введенный номер телефона.

Ввод номера телефона для создаваемого SMS апплета

Шаг 3. Теперь, после того как мы настроили один апплет, мы создадим другой апплет под названием Maker Webhooks (создание веб-хуков), выполните поиск этого пункта в сервисе IFTTT или перейдите по этой ссылке. Затем нажмите на “Connect”, после чего вы должны увидеть следующий экран:

Создание веб-хука для нашего проекта

Шаг 4. Теперь настало время создать наш собственный апплет (Applet), который будет синхронизироваться с этими двумя апплетами. Для этого выберите пункт меню My Applets -> New Applet или перейдите по следующей ссылке. Вы увидите следующую страницу.

Создание нового апплета в сервисе IF THIS THEN THAT

Шаг 5. Фраза IF THIS THEN THAT означает что если что если что то случилось в “This”, то мы должны что то сделать в “that”. В нашем случае при срабатывании апплета Maker Webhooks мы должны передать SMS. Поэтому нажмите на ссылку “this” (иконка с плюсом синего цвета), выполните поиск Maker Webhooks и нажмите на него. После этого вы должны выбрать триггер (Trigger), по которому будет срабатывать это событие, в качестве него выберите “Receive a web request” (получение веб-запроса).

Шаг 6. Теперь необходимо настроить ваш триггер, введя в нем имя события (Event Name). Мы назвали его “ESP” как показано на рисунке ниже. Вы можете использовать любое имя события, но вы должны запомнить его потому что далее мы будем его использовать. Затем нажмите на “Create Trigger” (создать триггер).

Ввод имени события для нашего триггера в IFTTT

Шаг 7. После этого вы на экране должны увидеть следующую картину. Теперь вам необходимо настроить апплет “That”. Для этого нажмите на иконку с изображением плюса рядом с надписью “that”.

Начало создания обработчика события в IFTTT

Шаг 8. Выполните поиск SMS Applet и нажмите на него. В качестве действия (Action) в нем выберите “Send me SMS” (передать мне SMS). Вас перебросит на экран, показанный на рисунке ниже, где вам необходимо будет ввести текст SMS, которое будет передаваться на ваш мобильный телефон. Наконец, нажмите на “Create action”.

Ввод текста SMS в сервисе IFTTT

Шаг 9. Вы можете посмотреть внешний вид и закончить создание вашего апплета, он должен выглядеть примерно так, как показано на следующем рисунке. Нажмите на “Finish”.

Завершение создания апплета в сервисе IFTTT

Шаг 10. В сервисе IFTTT найдите Maker Webhooks или перейдите по этой ссылке, на открывшейся странице нажмите на “Documentation”. Вы должны увидеть следующую картину:

Страница с вашим ключом в сервисе IFTTT

Это очень важная для нас страница. На ней показан наш ключ (key) и инструкции как производить запуск (trigger) события. Уникальный ключ для вашего аккаунта (ID) является конфиденциальной информацией, не показывайте его никому иначе кто то другой может получить доступ к вашим апплетам. На представленном рисунке автор проекта закрасил последние пять цифр своего ключа API в целях конфиденциальности.

Шаг 11. Теперь под надписью "Make a Post or get web request" вы можете увидеть поле чтобы добавить имя события (event name). Надеюсь, вы помните что в шаге 6 мы создали событие с именем “ESP”, здесь мы должны использовать то же самое имя события и сконфигурировать наш URL как показано на приведенном рисунке.

Формирование URL для нашего проекта

После того как вы ввели имя события (Event name) нажмите на кнопку “Test it” (протестировать его). После этого вы должны получить SMS на свой номер телефона. В нашем случае автор проекта использовал в качестве текста сообщения фразу "The even name ESP occurred on the Maker Service. SMS sent from ESP8266 – CircuitDigest". Вы вместо нее можете ввести любую свою фразу. Вы также можете передавать значения с датчиков (если они у вас есть), подключенных к модулю ESP, используя поля value 1 и value 2.

Итак, теперь у нас есть HTTPS URL, при посещении которого будет передаваться SMS на заданный нами номер. Вам необходимо скопировать этот URL и хранить его в безопасном месте. Данный URL мы будем использовать в нашей программе для модуля ESP8266. Также вы можете скопировать и вставить этот URL в адресную строку любого браузера и вы увидите что при этом наше событие также будет срабатывать. И при этом вы получите ответ как показано на следующем рисунке.

Сообщение об успешном функционировании нашего апплета

Более наглядно все описанные здесь процессы вы можете посмотреть на видео, приведенном в конце статьи.

Объяснение программы для модуля ESP8266

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Мы будем программировать наш модуль ESP8266 с помощью Arduino IDE. В этой программе мы будем подключаться к нашему роутеру и переходить по HTTPS URL, который мы получили в сервисе IFTTT. В результате этого наше событие будет срабатывать и нам на телефон будет передаваться SMS.

В следующих строчках кода мы введем SSID (идентификатор сети) и password (пароль) для подключения к нашему роутеры. Вам в этих строчках кода необходимо ввести SSID и пароль для своего роутера.

Также убедитесь в том, что вы правильно сконфигурировали следующую строку адреса, которая будет состоять из имени события и вашего ключа. У нас в качестве имени события выбрано ESP, а в качестве ключа мы ввели b8h22xlElZvP27lrAXS3ljtBa0092_aAanYN1IXXXXX. Поэтому измените эту строку в соответствии с вашим именем события и вашим ключом.

Примечание: этот пункт очень важен чтобы ваша программа заработала.

Тестирование работы проекта

После того как вы загрузили программу в модуль ESP8266, откройте окно монитора последовательной связи (serial monitor) в Arduino IDE. В нем вы должны увидеть следующую информацию, выводимую в целях отладки программы:

Информация для отладки нашего проекта, выводимая в монитор последовательного портаЕсли вы в окне монитора последовательной связи увидите надпись “Congratulation! You’ve fired the ESP event”, это будет означать что все работает так, как надо. После этого вы можете проверить поступившее на ваш телефон сообщение.

Поступившее на телефон SMS, переданное с помощью модуля ESP8266

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
1 445 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *