İçindekiler:

Arduino ESP Projenizden SMS Metin Mesajları Nasıl Gönderilir: 6 Adım
Arduino ESP Projenizden SMS Metin Mesajları Nasıl Gönderilir: 6 Adım

Video: Arduino ESP Projenizden SMS Metin Mesajları Nasıl Gönderilir: 6 Adım

Video: Arduino ESP Projenizden SMS Metin Mesajları Nasıl Gönderilir: 6 Adım
Video: Ziraat Vakti - IoT (Nesnelerin İnterneti)'nin Tarımda Kullanımı 11.Gün 2024, Kasım
Anonim
Arduino ESP Projenizden SMS Metin Mesajları Nasıl Gönderilir
Arduino ESP Projenizden SMS Metin Mesajları Nasıl Gönderilir

Bu talimat, bir ESP8266 cihazı ve bir WiFi bağlantısı kullanarak arduino projenizden SMS metin mesajlarının nasıl gönderileceğini gösterir. Neden SMS kullanmalısınız?* SMS mesajları, uygulama bildirim mesajlarından çok daha hızlı ve güvenilirdir. * SMS mesajları, mobil veri bağlantılarının olmadığı durumlarda da alınabilir * Akıllı telefona 3. taraf uygulamasının yüklenmesi gerekmez.* Mesaj kritik uygulamalar için SMS gereklidir. Bu proje, kablolu bir düğmeye basıldığında yalnızca bir SMS metin mesajı gönderir. ESP cihazına. Projeniz için bu, başka bir tetikleyici veya olay durumunda tetiklenebilir

Adım 1: Parçalar

Parçalar
Parçalar
Parçalar
Parçalar

Bu demo için ihtiyacınız olacak:* ESP8266 cihazı. Ben ESP-01 paketini seçtim ama diğer herhangi bir ESP paketi/cihazı da çalışmalı.* 3.3v besleme* WiFi bağlantısı* Kapow SMS hesabı* Arduino IDE* ESP8266 Programlama modülü.

2. Adım: SMS Sağlayıcı

Bu projede SMS metin mesajları, internet üzerindeki bir SMS ağ geçidi üzerinden gönderilmektedir. Bunun için bir SMS sağlayıcısına abone olmanız gerekir. Aboneler normalde kısa mesaj bazında ücretlendirilir. Seçtiğim SMS servis sağlayıcı KAPOW'dur. Birleşik Krallık'taki çoğu SMS sağlayıcısının bireylerle değil, yalnızca Sınırlı Şirketlerle ilgileneceğini öğrendim. Ancak KAPOW güvenilir ve uygun maliyetli bir hizmet sunar ve sağlar. Kapow SMS hesabı açmak için aşağıdaki bağlantıyı ziyaret edin.

www.kapow.co.uk

Adım 3: Kablolama

Kablolama
Kablolama

Bu proje için bağlantı şeması yukarıdadır

Adım 4: Kod

// KAPOW Üzerinden SMS Göndermek İçin ESP8266 Demo Projesi (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; /* <<<< AŞAĞIDAKİ AYRINTILARI DEĞİŞTİRİN */ // WiFi bilgileriniz: char _sWiFi_SSID ="YourWifiPoint"; // <--- DEĞİŞTİR !!! char _sWiFi_Password ="YourWifFiPassword"; // <--- DEĞİŞTİR !!! // Kapow Kullanıcı Hesabı Ayrıntılarınız: char _sKapow_User ="KapowHesabınız"; // <--- DEĞİŞTİR !!! char _sKapow_Password ="KapowParolanız"; // <--- DEĞİŞTİR !!! char _sKapow_Mobile ="YourMobile"; // >>> YUKARIDAKİ DETAYLARI DEĞİŞTİR */ // buton GP0 Pin'e bağlı const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; geçersiz kurulum() { Serial.begin(9600); Serial.println("\nDemo: KAPOW üzerinden SMS gönder"); // buton pinini bir giriş olarak başlat // ve onu yüksek (dahili olarak) yukarı çekin pinMode(gp0_Pin, INPUT_PULLUP); // Wifi bağlantısı kur WifiConnect(); } void loop() { // buton durumunu oku gp0_State = digitalRead(gp0_Pin); // butona düşük basılmış mı? if (gp0_State==0) { Serial.println("SMS Göndermek İçin Düğmeye Basıldı…"); SendSmsKapow(_sKapow_Mobile, "Bu+bir+Test+SMS+Mesaj+gönderildi+sizin+ESP+cihazınız"); } Serial.println("1 saniye uyuyor"); gecikme(1000); } void WifiConnect() { Serial.print("\nWiFi'ya Bağlanma: "); Serial.println(_sWiFi_SSID); WiFi.begin(_sWiFi_SSID, _sWiFi_Password); while (WiFi.status() != WL_CONNECTED) { // ikinci bir Serial.print("."); gecikme(1000); } if (WiFi.status() == WL_CONNECTED) Serial.println("WiFi'ye Bağlı"); } bool SendSmsKapow(char* sMobile, char* sMessage) { WiFiClient clientSms; int iAttempts=0; Serial.print("KAPOW ana bilgisayarına bağlanma"); while (!clientSms.connect(_sKapow_Host, _iKapow_Port)) { Serial.print("."); iAttempts++; if (iAttempts > iMaxAttempts) { Serial.println("\nKAPOW'a Bağlanılamadı"); true döndür; } gecikme(1000); } Serial.println("\nKAPOW'a Bağlı"); gecikme(1000); Serial.println("KAPOW'a HTTP isteği gönderiliyor:"); //Örnek bir GET isteği şöyle olabilir: //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?kullanıcıadı="); strcat(sHttp, _sKapow_User); strcat(sHttp, "&parola="); strcat(sHttp, _sKapow_Password); strcat(sHttp, "&mobil="); strcat(sHttp, sMobile); strcat(sHttp, "&sms="); strcat(sHttp, sMessage); strcat(sHttp, "&returnid=DOĞRU\n\n"); Seri.println(sHttp); clientSms.print(sHttp); Serial.println("Yanıt bekleniyor (10 saniye)…"); gecikme (10 * 1000); char sReply[100] = ""; int iPos = 0; while (clientSms.available()) { char c = clientSms.read(); Seri.baskı(c); sReply[iPos] = c; iPos++; eğer (iPos == 99) kırılırsa; } sReply[iPos] = '\0'; // yanıtın OK içerip içermediğini kontrol et bool bResult = (strstr(sReply, "OK") != NULL); if (bResult) Serial.println("\nSMS: Başarıyla gönderildi"); else Serial.println("\nSMS: Gönderilemedi"); if (!clientSms.connected()) { Serial.println("KAPOW bağlantısı kesiliyor"); clientSms.stop(); } bSonuç döndür; }

Adım 5: Kodu Flashlayın

Kodu Flash
Kodu Flash
Kodu Flash
Kodu Flash

Bir ESP8266 cihazının nasıl flaş programlanacağını gösteren başka birçok ayrıntılı talimat vardır. Bu yüzden kurulumuma genel bir bakış vereceğim. Özetle, aUSB'den Seri FTDI arabirimine kullanıyorum ve bootloader yanıp sönme sürecini başlatmak için sıfırlamada GP0'ı düşük çekiyorum. Kolaylık sağlamak için kendi stripboard programlama cihazımı kurdum. * Bir ESP-01 cihazı için bir sokete* USB aracılığıyla PC ana bilgisayarına takmak için kırmızı FTDI arayüzü için bir sokete sahiptir.* RESET, GP0, GP2 TO GROUND için düğmeler FTDI tarafından sağlanan 3.3v'yi kullanarak ESP cihazını flaş edebilirsiniz. arayüz. FTDI jumper ayarlarının da 3.3v olarak ayarlandığından emin olun.

Adım 6: Düğmeye basın

Düğmesine basın !
Düğmesine basın !
Düğmesine basın !
Düğmesine basın !
Düğmesine basın !
Düğmesine basın !
Düğmesine basın !
Düğmesine basın !

Projeyi ister seri log çıkışı için FTDI'ye bağlı, ister bağımsız (harici güç kaynağı ile devre tahtası üzerinde) test edebilirsiniz. FTDI besleme akımı erak olduğu için harici bir 3.3v kaynağı kullanmanız önerilir. Ancak, FTDI 3.3v kaynağı benim için de işe yaradı, çünkü wifi yönlendiricim elinizin altındaydı. ESP'yi seri/usb bağlantı noktasına bağlı bırakın, böylece Arduino IDE'nin Seri Monitörünü kullanarak çalışan seri hata ayıklama günlüğünü izleyebilirsiniz. Açılışta…Basın GP0'a bağlı düğme. Bu, SMS mesajını aşağıdaki gibi gönderecektir. Alınan SMS metin mesajı için telefonunuzu kontrol edin. İşiniz tamamlandı.

Önerilen: