Mikrodetleyiciye Bağlı GSM Modülünü Kullanarak Hava Durumunu Okumak
Bir önceki makalemizle ilgili olarak bir uygulama örneği yapmak istedik. Öncelikle bir önceki makaleyi okumak isterseniz aşağıdaki bağlantıyı tıklayabilirsiniz:
Using the GSM Module for Internet Connection
Uygulama Adı:
Arduino'ya bağlı bir GSM modülü kullanarak internete bağlanıp Londra gibi bir yerin sıcaklık verilerini almak.
Bunun için bir API veya hava durumu servisi kullanabilirsiniz. İnternet üzerinde birçok ücretsiz hava durumu API'si bulunmaktadır.
Örneğimizi Arduino UNO ile yapmayı planlıyoruz.
#include <SoftwareSerial.h>
SoftwareSerial gsmModule(10, 11); // GSM modülünün RX ve TX pinleri
void setup() {
Serial.begin(9600); // Seri haberleşme başlatılır
gsmModule.begin(9600); // GSM modülünün haberleşme hızı ayarlanır
delay(2000); // Modülün başlatılması için bekleme süresi
getTemperature(); // Sıcaklık verisi alınır
}
void loop() {
// İhtiyaç halinde diğer işlemler yapılabilir
}
void getTemperature() {
gsmModule.println("AT+SAPBR=3,1,\"Contype\",\"GPRS\""); // İnternet bağlantısı türü ayarlanır
delay(1000);
gsmModule.println("AT+SAPBR=1,1"); // İnternet bağlantısı açılır
delay(3000);
gsmModule.println("AT+HTTPINIT"); // HTTP bağlantısı başlatılır
delay(2000);
gsmModule.println("AT+HTTPPARA=\"CID\",1"); // HTTP bağlantısı için bağlantı kimliği ayarlanır
delay(2000);
gsmModule.println("AT+HTTPPARA=\"URL\",\"http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=YOUR_API_KEY\""); // Hava durumu servisi API adresi ve API anahtarınızı buraya ekleyin
delay(2000);
gsmModule.println("AT+HTTPACTION=0"); // HTTP GET işlemi gerçekleştirilir
delay(5000);
gsmModule.println("AT+HTTPREAD"); // HTTP yanıtı okunur
delay(5000);
while (gsmModule.available()) {
char c = gsmModule.read();
Serial.write(c); // Seri monitöre yanıtı yazdırır
}
gsmModule.println("AT+HTTPTERM"); // HTTP bağlantısı sonlandırılır
delay(2000);
}
Yukarıdaki örnek kod, GSM modülünü kullanarak Londra'nın hava durumu verisini alır. İlgili kod parçacığında, hava durumu servisi API adresi ve API anahtarını AT+HTTPPARA=\"URL\",\"http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=YOUR_API_KEY\"
satırında ilgili yerlere eklemeniz gerekmektedir.
Kodun doğru çalışabilmesi için GSM modülünüzün AT komutlarını desteklemesi ve HTTP isteklerini gönderebilecek özelliklere sahip olması gerekmektedir.
Ethernet ile IoT Uygulamaları için GSM Cihazlarını aşağıdaki linki tıklayarak inceleyebilirsiniz.