Arduino
OKUDUĞUNUZ KONU
Arduino GSM/GPRS İnternet Bağlantısı
4

Arduino GSM/GPRS İnternet Bağlantısı

Yazar : Murat Duran5 Ağustos 2015

Bu projemizde arduino gsm shield kullanarak iki yönlü veri aktarımı uygulaması yapacağız.Arduino üzerine entegre ettiğimiz gsm shield ile kablosuz mobil internet hattından veri transferi sağlayacağız.

Malzemelerimiz

1- Arduino UNO
2- Seeed Studio GPRS Shield V2.0
3- Sim kart (Turkcell,Avea vs fark etmez)
4- Akıllı Telefon

Öncelikle sim kart kurma işlemini gerçekleştirmemiz gerekmekte.Temin ettiğiniz sim kartın aramaya açık veri iletişimi hazır olması gerekmektedir.İlk önce akıllı telefonunuza sim kartınızı takın ve bir web sitesine bağlanmayı deneyin eğer ki web sitesine bağlana biliyorsanız hattınızın iletişim kanalları açık demektir.

Arduino GSM/GPRS Ayarları

Sim kartınızı arduino gsm/gprs shield üzerinde bulunan yuvasına yerleştirin ve kapağını kapatın.Aşağıdaki resimlerde gördüğünüz şekilde sim kartın metalik yüzeyin alt kısıma gelecek.

Arduino GSM/GPRS Shield Kütüphanesi

Shield için gerekli kütüphaneleri GitHub üzerinden indirebilirsiniz.Tüm yazılımı çalıştıra bilmeniz için diğer kütüphaneleri de indirmeniz gerekir.

GPRS Modülü Kütüphanesi – GPRS_Shield_Suli

GPRS modülü ile iletişim kurmak için seri iletişim yazılımı – SoftwareSerial

Seeed Birleştirilmiş Kütüphane arayüzü – Suli_Arduino

Yukarıdaki tüm kütüphaneleri Arduino içerisindeki libraries klasörüne atmanız gerekmektedir.

Arduino İle İlk Örnek

Bu aşamada arduino üzerine attığınız kütüphanelerde örnek uygulamalar mevcuttur.Bu uygulamalardan SIM_900_Serial_Debug  uygulamasını kullanabilirsiniz.

SIM900 için seri iletişim verileri gayet açık ve basittir.Aşağıdaki bağlantı kodlarından bakabilirsiniz.Hata ayıklama aracı aktif.

void loop(){
if(gprs.available()){
Serial.write(gprs.read());
}
if(Serial.available()){
gprs.write(Serial.read());
}
}

Şimdi sıra kodlarımızda , kütüphanenizi arduino nun bulunduğu yerdeki librarys klasörüne ekledikten sonra aşağıdaki kodları çalıştırabilirsiniz.

#include <GPRS_Shield_Arduino.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <Suli.h>

#define PIN_TX 7
#define PIN_RX 8
//make sure that the baud rate of SIM900 is 9600!
//you can use the AT Command(AT+IPR=9600) to set it through SerialDebug
#define BAUDRATE 9600
GPRS gprs(PIN_TX, PIN_RX, BAUDRATE, "wap.cingular", "WAP@CINGULARGPRS.COM", "CINGULAR1");

void publishData(String data) {

Serial.println("attempting to publish");

while (false == gprs.join()) {
Serial.println("gprs join network error");
delay(2000);
}

String str = "GET /publish/demo/demo/0/pubnub_gprs/0/\"" + data + "\" HTTP/1.0\r\n\r\n";

// Length (with one extra character for the null terminator)
int str_len = str.length() + 1;

// Prepare the character array (the buffer)
char http_cmd[str_len];

// Copy it over
str.toCharArray(http_cmd, str_len);

char buffer[512];

if (false == gprs.connect(TCP, "pubsub.pubnub.com", 80)) {
Serial.println("connect error");
} else {
Serial.println("publish success");
Serial.println(data);
}

gprs.send(http_cmd, sizeof(http_cmd) - 1);

gprs.close();

}

int counter = 0;

void setup() {

Serial.println("starting");

Serial.begin(9600);
// use DHCP
gprs.init();
// attempt DHCP

while(true){
publishData(String(counter));
counter++;
delay(1000);
}

gprs.disconnect();

}

void loop() {

}
SİZCE NASIL OLMUŞ?
Beğendim
33%
İlginç
13%
Eh İşte
18%
Anlamadım
15%
Kötü
5%
Berbat
15%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
4 YORUMLAR
  • mehmet Güler
    15 Ocak 2018 at 19:39

    merhaba ben sim900 le altsoftserial kullanıyorum internetten veri çekiyorum ilk seferde bilgiler doğru geliyor fakat internetten verileri değiştirince yeni verileri almıyor ilk gelen verileri gösteriyor bana yardımcı olurmusunuz ? teşekkürler.

  • Berkay ılıkoba
    26 Ocak 2018 at 18:45

    Bununla esp8266 kullanmak mümkün müdür

  • Mehmet
    11 Mart 2018 at 22:48

    Gsm ile iki arduino yu 10 km haberleştirmek mümkünmü ?

  • Ahmet Bircan Özütürker
    10 Şubat 2019 at 12:24

    kardeşim sen ne yapmak istiyorsun mümkün internet üzerinden kurdun bir veri tabanına iki arduinoyu gprs modülü ile bağlaya bilirsen bir döngü içerisinde çalışabilir

YORUM YAP