Как да изпращате SMS текстови съобщения от вашия Arduino ESP проект: 6 стъпки
Как да изпращате SMS текстови съобщения от вашия Arduino ESP проект: 6 стъпки
Anonim
Как да изпращате SMS текстови съобщения от вашия Arduino ESP проект
Как да изпращате SMS текстови съобщения от вашия Arduino ESP проект

Тази инструкция демонстрира как да изпращате SMS текстови съобщения от вашия arduino проект, използвайки устройство ESP8266 и WiFi връзка. Защо да използвате SMS?* SMS съобщенията са много по -бързи и надеждни от съобщенията за известия на приложения. * SMS съобщения могат да се получават и когато няма налични връзки за мобилни данни * Не е необходимо да се инсталира приложение на трета страна на смартфон. * SMS е от съществено значение за критични за съобщения приложения. Този проект просто изпраща SMS текстово съобщение при натискане на бутон, свързан с кабел към устройството ESP. За вашия проект това може да бъде задействано при някакво друго състояние на задействане или събитие

Стъпка 1: Части

Части
Части
Части
Части

За тази демонстрация ще ви трябва:* ESP8266 устройство. Избрах пакета ESP-01, но всеки друг ESP пакет/устройство също трябва да работи.* 3.3v захранване* WiFi връзка* Kapow SMS акаунт* Arduino IDE* ESP8266 модул за програмиране.

Стъпка 2: SMS доставчик

В този проект SMS текстови съобщения се изпращат чрез SMS шлюз в интернет. За това ще трябва да се абонирате за доставчик на SMS. Абонатите обикновено се таксуват на база текстово съобщение. Избраният от мен доставчик на SMS е KAPOW. Открих, че повечето доставчици на SMS в Обединеното кралство ще се занимават само с ограничени компании, а не с физически лица. KAPOW обаче го прави и предоставя надеждна и рентабилна услуга. За да отворите SMS акаунт в Kapow, посетете връзката по -долу.

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; / * <<<< ПРОМЕНЕТЕ ПОДРОБНОСТИТЕ ПО -долу */ // Вашите WiFi данни: char _sWiFi_SSID = "YourWifiPoint"; // <--- ПРОМЕНА !!! char _sWiFi_Password = "YourWifFiPassword"; // <--- ПРОМЕНА !!! // Подробности за потребителския ви акаунт в Kapow: char _sKapow_User = "YourKapowAccount"; // <--- ПРОМЕНА !!! char _sKapow_Password = "YourKapowPassword"; // <--- ПРОМЕНА !!! char _sKapow_Mobile = "Вашият мобилен"; // >>> ПРОМЕНЕТЕ ПОДРОБНОСТИТЕ НАГОРЕ */ // бутонът е свързан към GP0 Pin 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); // установяване на Wifi връзка 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Свързване към WiFi:"); 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"); while (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); iAttempts ++; if (iAttempts> iMaxAttempts) {Serial.println ("\ nНеуспешно свързване с KAPOW"); връщане true; } забавяне (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, "GET /scripts/sendsms.php?username="); strcat (sHttp, _sKapow_User); strcat (sHttp, "& password ="); strcat (sHttp, _sKapow_Password); strcat (sHttp, "& mobile ="); strcat (sHttp, sMobile); strcat (sHttp, "& sms ="); strcat (sHttp, sMessage); strcat (sHttp, "& returnnid = TRUE / n / n"); Serial.println (sHttp); clientSms.print (sHttp); Serial.println ("Изчакване на отговор (10 секунди) …"); забавяне (10 * 1000); char sReply [100] = ""; int iPos = 0; while (clientSms.available ()) {char c = clientSms.read (); Serial.print (c); sReply [iPos] = c; iPos ++; if (iPos == 99) break; } 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 (); } връщане на bResult; }

Стъпка 5: Преминете кода

Преминете кода
Преминете кода
Преминете кода
Преминете кода

Има много други подробни инструкции, показващи как да програмирате ESP8266 устройство. Така че просто ще дам преглед на моята настройка. Накратко, използвам aUSB към Serial FTDI интерфейс и издърпвам GP0 ниско при нулиране, за да стартирам процеса на мигане на буутлоудъра. Изградих свое собствено устройство за програмиране на лента за удобство. Той има* гнездо за устройство ESP-01* гнездо за червения интерфейс FTDI, за да се включи в хоста на компютъра чрез USB.* Бутони за RESET, GP0, GP2 КЪМ ЗАЗЕМЛЕНИЕ Можете да мигате ESP устройството, използвайки 3.3v, доставено от FTDI интерфейс. Уверете се, че настройките на джъмпера FTDI също са зададени на 3.3v.

Стъпка 6: Натиснете бутона

Натисни бутона !
Натисни бутона !
Натисни бутона !
Натисни бутона !
Натисни бутона !
Натисни бутона !
Натисни бутона !
Натисни бутона !

Можете да тествате проекта или свързан към FTDI за сериен изход за регистриране, или самостоятелен (на макета с външно захранване). Препоръчва се да използвате външно захранване от 3.3V, тъй като захранващият ток на FTDI е erak. Обаче захранването с FTDI 3.3v също работи за мен, тъй като моят wifi рутер беше на ръка разстояние. Оставете ESP свързан към серийния/usb порт, за да можете да наблюдавате текущия регистър за отстраняване на грешки с помощта на серийния монитор на Arduino IDE. бутонът, свързан към GP0. Това ще изпрати SMS съобщението по -долу. Проверете телефона си за полученото SMS текстово съобщение. Работата е готова.

Препоръчано: