Оглавление:
- Шаг 1: Детали
- Шаг 2. Поставщик SMS
- Шаг 3: Подключение
- Шаг 4: Код
- Шаг 5: прошейте код
- Шаг 6: Нажмите кнопку
Видео: Как отправлять текстовые SMS-сообщения из вашего проекта Arduino ESP: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
В этом руководстве показано, как отправлять текстовые SMS-сообщения из вашего проекта Arduino с помощью устройства ESP8266 и Wi-Fi. Зачем использовать SMS? * SMS-сообщения намного быстрее и надежнее, чем сообщения с уведомлениями приложений. * SMS-сообщения также могут быть получены там, где мобильные передачи данных недоступны * На смартфон не требуется устанавливать сторонние приложения. * SMS-сообщения необходимы для приложений, критически важных для сообщений. Этот проект просто отправляет текстовое SMS-сообщение при нажатии подключенной кнопки к устройству ESP. Для вашего проекта это может быть вызвано каким-либо другим триггером или статусом события.
Шаг 1: Детали
Для этой демонстрации вам потребуются: * Устройство ESP8266. Я выбрал пакет ESP-01, но любой другой пакет / устройство ESP тоже должно работать. * Источник питания 3,3 В * Подключение Wi-Fi * Учетная запись Kapow SMS * Arduino IDE * Модуль программирования ESP8266.
Шаг 2. Поставщик SMS
В этом проекте текстовые SMS-сообщения отправляются через SMS-шлюз в Интернете. Для этого вам нужно будет подписаться на поставщика SMS. С абонентов обычно взимается плата за каждое текстовое сообщение. Я выбрал поставщика услуг SMS KAPOW. Я обнаружил, что большинство провайдеров SMS в Великобритании имеют дело только с компаниями с ограниченной ответственностью, а не с физическими лицами. Однако KAPOW предоставляет надежную и экономичную услугу. Чтобы открыть учетную запись Kapow SMS, перейдите по ссылке ниже.
www.kapow.co.uk
Шаг 3: Подключение
Схема подключения для этого проекта приведена выше.
Шаг 4: Код
// Демонстрационный проект ESP8266 для отправки SMS через KAPOW (www.kapow.co.uk)
// https://www.instructables.com/id/How-to-Send-SMS-… #include #include char _sKapow_Host = "kapow.co.uk"; int _iKapow_Port = 80; / * <<<< ИЗМЕНИТЬ ДЕТАЛИ НИЖЕ * / // Информация о вашем Wi-Fi: char _sWiFi_SSID = "YourWifiPoint"; // <--- ИЗМЕНИТЬ !!! char _sWiFi_Password = "ВашWifFiPassword"; // <--- ИЗМЕНИТЬ !!! // Данные вашей учетной записи пользователя Kapow: char _sKapow_User = "YourKapowAccount"; // <--- ИЗМЕНИТЬ !!! char _sKapow_Password = "YourKapowPassword"; // <--- ИЗМЕНИТЬ !!! char _sKapow_Mobile = "Ваш мобильный"; // >>> ИЗМЕНИТЬ ДЕТАЛИ ВЫШЕ * / // кнопка подключена к выводу GP0 const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; void setup () {Serial.begin (9600); Serial.println ("\ nДемонстрация: отправить SMS через KAPOW"); // инициализируем контакт кнопки как вход // и подтягиваем его к высокому (внутреннему) уровню pinMode (gp0_Pin, INPUT_PULLUP); // устанавливаем Wi-Fi соединение WifiConnect (); } void loop () {// считываем состояние кнопки gp0_State = digitalRead (gp0_Pin); // кнопка нажата слабо? if (gp0_State == 0) {Serial.println («Нажата кнопка для отправки SMS…»); SendSmsKapow (_sKapow_Mobile, «Это + тест + SMS + сообщение + отправлено + с + вашего + ESP + устройства»); } Serial.println («Спящий 1 секунду»); задержка (1000); } void WifiConnect () {Serial.print ("\ nПодключение к Wi-Fi:"); Serial.println (_sWiFi_SSID); WiFi.begin (_sWiFi_SSID, _sWiFi_Password); while (WiFi.status ()! = WL_CONNECTED) {// повторить попытку после второго Serial.print ("."); задержка (1000); } if (WiFi.status () == WL_CONNECTED) Serial.println («Подключено к WiFi»); } bool SendSmsKapow (char * sMobile, char * sMessage) {WiFiClient clientSms; int iAttempts = 0; Serial.print («Подключение к хосту KAPOW»); в то время как (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); iAttempts ++; if (iAttempts> iMaxAttempts) {Serial.println ("\ nНе удалось подключиться к KAPOW"); вернуть истину; } задержка (1000); } Serial.println ("\ nПодключен к KAPOW"); задержка (1000); Serial.println ("Отправка HTTP-запроса в KAPOW:"); // Пример запроса GET: //https://www.kapow.co.uk/scripts/sendsms.php?username=test&password=test&mobile=07777123456&sms=Test+message char sHttp [500] = ""; strcat (sHttp, "ПОЛУЧИТЬ /scripts/sendsms.php?username="); strcat (sHttp, _sKapow_User); strcat (sHttp, "& пароль ="); strcat (sHttp, _sKapow_Password); strcat (sHttp, "& мобильный ="); strcat (sHttp, sMobile); strcat (sHttp, "& sms ="); strcat (sHttp, sMessage); strcat (sHttp, "& returnid = ИСТИНА / п / п"); Serial.println (sHttp); clientSms.print (sHttp); Serial.println («Ожидание ответа (10 секунд)…»); задержка (10 * 1000); char sReply [100] = ""; int iPos = 0; в то время как (clientSms.available ()) {char c = clientSms.read (); Serial.print (c); sReply [iPos] = c; iPos ++; если (iPos == 99) перерыв; } sReply [iPos] = '\ 0'; // проверяем, содержит ли ответ OK bool bResult = (strstr (sReply, "OK")! = NULL); if (bResult) Serial.println ("\ nSMS: успешно отправлено"); else Serial.println ("\ nSMS: не удалось отправить"); if (! clientSms.connected ()) {Serial.println ("Отключение от KAPOW"); clientSms.stop (); } return bResult; }
Шаг 5: прошейте код
Есть много других подробных инструкций, показывающих, как программировать прошивку устройства ESP8266. Итак, я просто дам обзор своей настройки. Вкратце, я использую интерфейс USB-Serial FTDI и опускаю GP0 на низкий уровень при сбросе, чтобы начать процесс прошивки загрузчика. Для удобства я построил свое собственное устройство программирования стрипборда. Он имеет * разъем для устройства ESP-01 * разъем для красного интерфейса FTDI для подключения к хосту ПК через USB. * Кнопки для RESET, GP0, GP2 TO GROUND Вы можете прошить устройство ESP, используя 3,3 В, поставляемые FTDI. интерфейс. Убедитесь, что перемычка FTDI также установлена на 3,3 В.
Шаг 6: Нажмите кнопку
Вы можете протестировать проект либо подключенным к FTDI для последовательного вывода журналов, либо автономно (на макетной плате с внешним источником питания). В этом случае вы можете использовать внешний источник питания 3,3 В, так как ток питания FTDI равен Erak. Тем не менее, источник питания FTDI 3.3v также работал у меня, так как мой Wi-Fi-маршрутизатор был в пределах досягаемости. Оставьте ESP подключенным к последовательному / USB-порту, чтобы вы могли отслеживать текущий журнал последовательной отладки с помощью Serial Monitor Arduino IDE. При включении … Нажмите кнопка подключенная к GP0. Это отправит SMS-сообщение, как показано ниже. Проверьте свой телефон на наличие полученного SMS-сообщения. Работа выполнена.
Рекомендуемые:
Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266: 6 шагов
Как отправлять электронные письма с вложениями с помощью Arduino, Esp32 и Esp8266: Здесь я хотел бы объяснить версию 2 моей библиотеки EMailSender, большую эволюцию по сравнению с версией 1, с поддержкой Arduino с w5100, w5200 и w5500 ethernet shield и enc28J60 клонировать устройства и поддерживать esp32 и esp8266. Теперь вы можете рекламировать
Создание профессионального пульта дистанционного управления для вашего проекта Arduino дома: 9 шагов (с изображениями)
Создание профессионального пульта дистанционного управления для вашего проекта Arduino дома: я сделал проект, в котором для управления парой вещей использовались arduino и ИК-библиотека, поэтому в этой инструкции я покажу вам, как вы можете перепрофилировать любой пульт дистанционного управления, чтобы он был использовали ваш следующий проект. И вам не нужно ничего особенного, чтобы сделать хороший туалет
Лучшие платы Arduino для вашего проекта: 14 шагов
Лучшие платы Arduino для вашего проекта: * Пожалуйста, имейте в виду, что я публикую этот учебник очень близко к финишу конкурса Arduino Contest (пожалуйста, проголосуйте за меня!), Так как у меня не было времени, необходимого для его создания раньше . Сейчас я учусь в школе с 8 утра. до 17:00, до десяти
Текстовые SMS-оповещения о температуре от ATTINY85 и A1 GSM: 5 шагов
SMS-текстовые оповещения о температуре от ATTINY85 и A1 GSM: в этом руководстве показано, как измерить температуру с помощью простого датчика температуры и отправить ее с помощью sms-сообщения на ваш мобильный телефон. Для упрощения я отправляю температуру с заданным интервалом, но также показываю, как это можно сделать только с помощью exce
Советы, как воплотить идею вашего проекта в реальность: 6 шагов (с изображениями)
Советы по воплощению идеи вашего проекта в реальность: Самая важная часть успешного проекта - это действительно отличная идея, но иногда идея оказывается самой легкой! После этого следует тяжелая работа по превращению случайной вспышки гения в то, что люди "ох" и "ах" ов