Оглавление:

Отправка SMS с помощью ESP8266: 5 шагов
Отправка SMS с помощью ESP8266: 5 шагов

Видео: Отправка SMS с помощью ESP8266: 5 шагов

Видео: Отправка SMS с помощью ESP8266: 5 шагов
Видео: ESP8266(32) send SMS 2024, Июль
Anonim
Отправить SMS с помощью ESP8266
Отправить SMS с помощью ESP8266

В этом руководстве описаны действия по отправке SMS-сообщений через Интернет с платы модуля ESP8266 NodeMCU на мобильный телефон. Чтобы иметь возможность отправить сообщение, вам нужно будет выполнить шаги, чтобы получить виртуальный номер телефона от Twilio, коммуникационной компании. Кредитная карта не требуется, потому что Twilio имеет бесплатную пробную учетную запись. Затем вы загрузите и используете образец программы Arduino IDE для отправки SMS-сообщений.

В примере программы в этом руководстве есть вызовы функций, которые можно напрямую копировать, вставлять, редактировать и использовать в ваших собственных проектах.

Запасы

Я использую NodeMCU ESP8266 CH340G ESP-12E Wireless WIFI Internet Development Board. Они продаются на eBay примерно за 3 доллара от китайских поставщиков.

Шаг 1. Проверьте свой ESP8266 NodeMCU

Вы можете протестировать с макетной платой или без нее. Без макета бортовой индикатор будет мигать, что является эффективным для теста.

В моем примере я подключаю NodeMCU к макетной плате. Я подключаю отрицательную сторону светодиода к контакту заземления (G или GND) на NodeMCU. Положительная сторона светодиода подключена через резистор (от 500 до 5 кОм) к выводу D4 NodeMCU. Когда программа-пример запускается, светодиод на плате включается, внешний светодиод выключается, затем светодиод на плате гаснет, а внешний светодиод включается. Светодиодные индикаторы будут попеременно гореть и выключаться.

Загрузите и запустите базовую тестовую программу Arduino: nodeMcuTest.ino. Во время выполнения программы встроенный светодиодный индикатор загорится на 1 секунду, погаснет на 1 секунду и будет непрерывно циклически повторяться. Кроме того, публикуются сообщения, которые можно просмотреть в Arduino IDE Tools / Serial Monitor.

+++ Настройка.

+ Инициализировал цифровой вывод встроенного светодиода для вывода. Светодиод не горит. ++ Перейти к циклу. + Счетчик циклов = 1 + Счетчик циклов = 2 + Счетчик циклов = 3…

Убедившись, что вашу среду IDE можно использовать для программирования NodeMCU, переходите к следующему шагу.

Примечание относительно библиотек, которые я установил для проектов ESP8266:

  • Библиотека Arduino WiFi версии 1.2.7.
  • PubSubClient версии 2.7.0 от Ника О'Лири для обмена сообщениями MQTT. Не требуется для этого проекта.
  • IRremoteESP8266 версии 2.6.3, для инфракрасного порта. Не требуется для этого проекта.

Если у вас есть дополнительная информация о необходимых библиотеках, оставьте комментарий. Причина, по которой у меня нет подробностей, заключается в том, что я не записал то, что установил, извините.

О ESP8266 NodeMCU

Функции,

  • Тактовая частота 80 МГц
  • Рабочее напряжение: 3,3 В
  • Флэш-память для хранения: 4 МБ, SRAM: 64 КБ
  • 9 обычных цифровых контактов GPIO с маркировкой: от D0 до D8.
  • Из 9 контактов 4 контакта можно использовать для SPI, а 2 контакта - для I2C.
  • Прерывание контактов GPIO D0-D8.
  • Не используйте 6 контактов: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), потому что они уже используются.
  • Протестировано: ввод кнопок с помощью D0-D02.
  • Проверено: мигание светодиода с использованием D0-D08. На резистор, на светодиод, на землю.
  • Необходимо протестировать, UART1 (TX = GPIO2), объект Serial1: D4 или D7 и D8.

Детали булавки

Метка NodeMCU GPIO pin # D0 16 GPIO только чтение / запись. Может не иметь функции прерывания. D1 5 Цифровой GPIO. -------------------- D2 4 Цифровой GPIO. D3 0 Цифровой GPIO. ---------- D2 4 I2C: SCL, часы DS3231, модули ввода PCF8574 D3 0 I2C: SDA ---------- D4 (TX) 2 Встроенный светодиод на плате. ---------- 3В 3В выход G Земля -------------------- D5 14 Цифровой GPIO. D6 12 Цифровой GPIO. D7 (RX) 13 Работает на вход, например, инфракрасный прием. D8 (TX) 15 Не работает для входа, например, для приема через инфракрасный порт. ---------- D5 14 SD-карта: SPI SCK D6 12 SD-карта: SPI MISO D7 (RX) 13 SD-карта: SPI MOSI D8 15 SD-карта: CS для SPI включения / выключения устройства. Можно использовать другие цифровые контакты. -------------------- RX 03 Загрузка системы из IDE, что вызывает перезагрузку после загрузки. TX 01 System uplod. G Земля 3 В выход 3 В

Шаг 2. Откройте бесплатную пробную учетную запись Twilio и получите свой собственный номер телефона

Image
Image

Twilio - это компания, занимающаяся платформой интернет-коммуникаций. Продукты, используемые в этом руководстве, - это программируемые сообщения Twilio и номера телефонов. Twilio имеет перечень виртуальных телефонных номеров, которые можно использовать для отправки и получения SMS-сообщений на любой мобильный телефон.

На этом этапе вы:

  • Откройте учетную запись Twilio, если у вас ее еще нет. Пробная учетная запись бесплатна и не требует кредитной карты. В вашем пробном аккаунте будет пробный баланс, который будет использоваться для оплаты телефонных номеров и обмена текстовыми сообщениями с мобильными телефонами.
  • Купите телефонный номер Twilio. Это бесплатно, потому что это оплачивается за использование пробного баланса.
  • Отправьте сообщение со своего мобильного телефона на новый номер телефона.
  • Как только Twilio получит ваше сообщение, на ваш мобильный телефон будет отправлено автоматическое ответное сообщение.
  • Используйте приложение веб-сайта Twilio Console для просмотра журналов сообщений.

В первом видео выше показано, как открыть учетную запись Twilio. Во втором видео показано, как купить телефонный номер Twilio.

Ссылка на веб-сайт Twilio Console, чтобы открыть учетную запись.

Ссылка на веб-сайт Twilio Console, чтобы купить номер телефона Twilio.

На ваш новый телефонный номер с поддержкой Twilio SMS уже настроен автоматический ответ. В качестве теста отправьте SMS-сообщение со своего мобильного телефона на номер телефона Twilio. Вы получите следующее сообщение:

Спасибо за твое сообщение. Настройте URL-адрес SMS вашего номера, чтобы изменить это сообщение. Ответьте Help для получения помощи. Ответить Стоп, чтобы отписаться.

Теперь используйте консоль Twilio для просмотра журналов сообщений из приведенного выше теста:

www.twilio.com/console/sms/logs

Подробнее об использовании Twilio

Вы можете создать свой собственный автоматический ответ. Ссылка на руководство Studio, как создать собственное ответное SMS-сообщение. Studio - это наш инструмент для перетаскивания Twilio Console.

Вы можете использовать Twilio Console для просмотра сообщений журнала и загрузки журналов как CVS и загрузки их в электронную таблицу. Вы можете выбрать диапазон дат и времени, по телефонным номерам и обратно, а также статус, например: Недоставлено или Отправлено. У вас также есть возможность загрузить журналы в виде файлов CVS. Поскольку он имеет ограничение в 300 журналов за раз, вы можете ограничить выбор по дате.

Ссылки для разработчиков

Ссылка на документацию и примеры программ для отправки сообщений.

Ссылка на примеры программ для просмотра журналов сообщений.

Ссылка на свойства сообщения программы. Список свойств, отправляемых в

Ссылка на список журналов SMS за определенный период времени.

Шаг 3. Отправьте SMS с вашего NodeMCU

Отправьте SMS с вашего NodeMCU
Отправьте SMS с вашего NodeMCU

Загрузите программу: HttpTwPost.ino и загрузите ее в свою Arduino IDE. В программу введите свой идентификатор сети WiFi и пароль. Введите SID своей учетной записи Twilio, токен аутентификации и номер телефона. Идентификатор безопасности учетной записи Twilio и токен аутентификации можно просмотреть на панели управления консоли Twilio. Нажмите «Показать» токена аутентификации, чтобы просмотреть токен аутентификации.

// SSID и пароль вашей сети char * ssid = "YourNetworkId"; const char * password = "YourNetworkPassword"; const char * account_sid = "YourTwilioAccountSID"; const char * auth_token = "YourAuthToken"; Строка from_number = "+16505551111"; // После добавления кодировки добавьте «+». Строка to_number = "+16505552222"; String message_body = "Привет от NodeMCU.";

Примечание Twilio: при использовании телефонных номеров с Twilio лучше всего форматировать номера как телефонные номера в формате E.164. Телефонные номера в формате E.164 начинаются с символа «+» и кода страны. В номере телефона нет пробелов, дефисов и скобок. Пример: +16505551111.

Запустите программу. При запуске программа отправит SMS-сообщение на ваш номер мобильного телефона. Кроме того, публикуются сообщения, которые можно просмотреть в Arduino IDE Tools / Serial Monitor. Сообщения монитора включают ответ от Twilio.

+++ Настройка. + Подключение к WiFi. …. + Подключено к Wi-Fi, IP-адрес: 192.168.1.76 + Использование отпечатка пальца 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Подключение к api.twilio.com + Подключено. + Разместите HTTP-запрос на отправку SMS. + Соединение закрыто. + Ответ: HTTP / 1.1 201 СОЗДАНО Дата: Чт, 16 июля 2020 г. 20:39:49 GMT Content-Type: application / xml Content-Length: 878 Подключение: закрыть Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Duration: 0.116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Accept, Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If- Неизмененные-с момента управления доступом-Allow-методы: GET, POST, DELETE, OPTIONS Заголовки Access-Control-Expose: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: нет X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age = 31536000… + Запуск цикла.

Вы можете просмотреть журналы сообщений Twilio, чтобы просмотреть отправленное сообщение.

Шаг 4: кнопка для отправки SMS

Image
Image

На видео выше показано использование ESP8266 NodeMCU для отправки сообщений на мобильный телефон. На видео NodeMCU уже запущен и подключен к сети Wi-Fi. При нажатии кнопки загорается встроенный светодиодный индикатор. Запрос SMS-сообщения отправляется в службу сообщений Twilio. Сервис отправляет SMS на мой мобильный телефон. Сообщение получено. Служба также отвечает NodeMCU, что сообщение поставлено в очередь для отправки. К этому времени сообщение уже было получено на телефон. После того, как NodeMCU получит ответ от Twilio, бортовой индикатор погаснет. Схема готова отправить другое сообщение.

Ниже показано, как реализовать схему в видео. Для этого шага требуется макет, кнопка и провода. Добавьте кнопку на макетную плату. Одна сторона кнопки подключается к выводу NodeMCU D1. Подключите другую сторону кнопки к контакту заземления NodeMCU (контакт G на моей плате).

Загрузите программу: HttpTwSendSms.ino и загрузите ее в свою Arduino IDE. Как и в предыдущем шаге, в программу введите идентификатор и пароль вашей сети WiFi. Введите SID вашей учетной записи Twilio, токен аутентификации и номер телефона.

Когда программа будет запущена, NodeMCU подключится к сети Wi-Fi. При нажатии кнопки отправляется сообщение с номером мобильного телефона.

Шаг 5. SMS от NodeMCU - отличный инструмент для Интернета вещей

Теперь вы можете использовать образец кода и свою учетную запись Twilio для отправки SMS-сообщений через Wi-Fi.

Ваше здоровье, Стейси Дэвид

Рекомендуемые: