Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: Mucit23 - 29 Ağustos 2016, 00:57:19

Başlık: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: Mucit23 - 29 Ağustos 2016, 00:57:19
Selamlar
Elimde Quectel M95 GSM modülü var. Arduino nun GSM kütüphanesi ile bu modülü çalıştırmaya uğraşıyorum. Modül ile seri port üzerinden AT komutlarıyla haberleşiyorum arama felan yapabiliyorum. Ama şu GSM kütüphanesini bir türlü çalıştıramadım. Sözde uyumlu olması gerekiyor hatta kartın üreticisi Arduinonun GSM örneklerini vermiş.

En basitinden Mesaj göndermek için aşağıdaki örnek uygulama var.
/*
SMS sender

This sketch, for the Arduino GSM shield,sends an SMS message
you enter in the serial monitor. Connect your Arduino with the
GSM shield and SIM card, open the serial monitor, and wait for
the "READY" message to appear in the monitor. Next, type a
message to send and press "return". Make sure the serial
monitor is set to send a newline when you press return.

Circuit:
* GSM shield
* SIM card that can send SMS

created 25 Feb 2012
by Tom Igoe

This example is in the public domain.

http://www.arduino.cc/en/Tutorial/GSMExamplesSendSMS

*/

// Include the GSM library
#include <GSM.h>

#define PINNUMBER ""

// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;

void setup()
{
  // initialize serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Serial.println("SMS Messages Sender");

  // connection state
  boolean notConnected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while (notConnected)
  {
    if (gsmAccess.begin(PINNUMBER) == GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }

  Serial.println("GSM initialized");
}

void loop()
{

  Serial.print("Enter a mobile number: ");
  char remoteNum[20];  // telephone number to send sms
  readSerial(remoteNum);
  Serial.println(remoteNum);

  // sms text
  Serial.print("Now, enter SMS content: ");
  char txtMsg[200];
  readSerial(txtMsg);
  Serial.println("SENDING");
  Serial.println();
  Serial.println("Message:");
  Serial.println(txtMsg);

  // send the message
  sms.beginSMS(remoteNum);
  sms.print(txtMsg);
  sms.endSMS();
  Serial.println("\nCOMPLETE!\n");
}

/*
  Read input serial
*/
int readSerial(char result[])
{
  int i = 0;
  while (1)
  {
    while (Serial.available() > 0)
    {
      char inChar = Serial.read();
      if (inChar == '\n')
      {
        result[i] = '\0';
        Serial.flush();
        return 0;
      }
      if (inChar != '\r')
      {
        result[i] = inChar;
        i++;
      }
    }
  }
}


Program setup kısmında if (gsmAccess.begin(PINNUMBER) == GSM_READY) satırında takılıp kalıyor. Haberleşme pinlerinde de sıkıntı yok. Debug moduna alıyorum modülü debug modunda  yukarıdaki programdan aşağıdaki gibi cevaplar geliyor.

AT%13%
0 9>AT%13%%13%%10%OK%13%%10%
AT+CGREG?%13%
9 40>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
40 71>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
71 102>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
102 5>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
5 36>AT+CGREG?%13%%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%


Şebeke ile ilgili olduğunu düşündüm ama arduino olmadan seri port aracılığıyla AT komutarından arama vs yapabiliyorum. Şebeke problemi olsa yine yapmaz.

Sizce neden böyle birşey olur fikri olan var mı?
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: striger - 29 Ağustos 2016, 01:15:39
pinnumber yazan yere sim kartın 4 haneli pin ni yazıyorsun degil mi
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: Mucit23 - 29 Ağustos 2016, 01:23:57
Simde pin numarası yok ki.
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: striger - 29 Ağustos 2016, 01:31:20
header dan fonksiyona bakmak lazim da, pin yoksa .begin() seklinde bos bırakalıyodur muhtemelen
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: kantirici - 29 Ağustos 2016, 08:07:26
kütüphanede o kısmı kapatıp denesen. Belli ki kütüphanenin istediği cevap gelmiyor.
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: Mucit23 - 29 Ağustos 2016, 20:27:25
Bilmiyorumki kapalı kütüphane sonuçta gidip kodları karıştırmak gerekiyor.

Ulan Arduino'yu sırf kod yazmamak için kullanıyorum, Orada bile işlerim rast gitmiyor. İlla AT komuıtlarıyla teker teker boğuşacam yani...
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: erdcan - 29 Ağustos 2016, 22:55:42
Merhabalar, gsm modülünü gsm kütüphanesi ile çalıştırırken, gsm.begin() fonksiyonu, pinnumber ile belirttiğiniz arduino pinini belirli  bir süre HIGH seviyesine çeker ardından Low seviyesine düşürür. Böylece GSM modülünüz açılır. Uygulama örnekleri için http://maker.robotistan.com/download/Quectel-GSM-Shield-Kullanim-Kilavuzu.pdf (http://maker.robotistan.com/download/Quectel-GSM-Shield-Kullanim-Kilavuzu.pdf) bakabilirsiniz. pinnumber ile bir arduino pini belirtmeniz gerekmekte. Sonucu paylaşırsanız diğer arkadaşlara da yardımcı olur. Kolay gelsin
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: Mucit23 - 30 Ağustos 2016, 02:02:45
Modem açılıyor. Ellede açıyorum farketmiyor. Fakat modem açıldığı zaman GSM Shield üzerindeki NET ledi yanıp sönmeye başlıyor. Fakat yinede gsm.begin kısmında takılıyor. Debug modunda açarsam eğer. AT%13% hatası alıyorum. Modemden aşağıdaki gibi cevaplar geliyor.

0 9>AT%13%%13%%10%OK%13%%10%

9 40>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

40 71>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

71 102>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

102 5>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

5 36>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

36 67>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

67 98>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

98 1>AT+CGREG?%13%%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%

Şebeke ile ilgili bir problemmi var diye düşünüp modemin hiç enerjisini kesmeden yani modem açıkken Seri port aracığılıyla AT+CREG sorgulaması yapıyorum ve CREG=0,1 şeklinde cevap alıyorum yani modem açıldıktan sonra şebekeye bağlanmış oluyor.


Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: striger - 30 Ağustos 2016, 03:06:46
senin yaptıgın AT+CREG sorgusuna karsılık gelen CREG=0,1 olumlu sebekeye baglandıgını gosteriyor ama kullandıgın kutuphane AT+CGREG? ile gprs sorgusu da yapıyor ve gelen yanıt +CGREG: 0,3 (Registration denied) ok alana kadarda surekli tekrarlıyor sanırım, terminalden AT+CGREG? ile sorgularsan da gelen yanıt aynı olucaktır, gprs ayarlarını yapana kadar da olumlu yanıt gelmeyecektir herhalde
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: Mucit23 - 30 Ağustos 2016, 11:35:33
Evet bu sorunu aşmak için hatta internet vs olması gerekiyormu?

Ben kendim AT komutlarıyla haberleşerek SMS gönderme gibi işlemleri de yapıyorum. Ama onlarda şebekeye bağlı olmak yetiyor sanırım.

Kendim AT komutlarıyla AT+CGREG? sorgulaması yaptığımda +CGREG: 0,0 cevabı geliyor.

Arduino Kütüphanesinde GPRS olmadan bağlantı kurmak mümkünmü? Ben GPRS istemiyorum Basit işler yapacağım zaten.

mesaj birleştirme:: 30 Ağustos 2016, 10:49:44

Bunun internetle bir ilgisi olmaması lazım. İnternet açık olan kendi hattımda deniyorum AT komutlarıyla AT+CGREG? Sorgulamasında +CGREG: 0,1 cevabı geliyor. Yani kendi hattımda GPRS'e de bağlanıyor.

mesaj birleştirme:: 30 Ağustos 2016, 12:32:03

Ekleme şuan bağlantı kurulmaya başlandı. HW reset atıldıktan sonra epeyce bir beklemek gerekiyor anladığım kadarıyla.
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: Mucit23 - 18 Eylül 2016, 22:36:13
Selamlar

Arduinodaki GSM kütüphanesinde şöyle bir sıkıntım var. Modül ilk açıldığı zaman GPRS bağlantısını bekliyor. Buda herzaman  gerçekleşmiyor. Arduino'da denediğimde başarılı bir bağlantı oranı ancak %20'lerde.

Sorun dediğim gibi GPRS bağlantısından kaynaklanıyor.
Ben modülü Seri porttan bilgisayara bağlayıp denediğimde Şebeke bağlantısının müsait olduğunu ancak gprs bağlantısının herzaman gerçekleşmediğini görüyorum. Normalde herzaman +CREG:0,1 cevabı geliyor ama gprs de sıkıntı var.

Normal şebeke bağlantısı bildiğim kadarıyla sms göndermeye yetiyor. Bu durumda init aşaması için gprs bağlantısını nasıl kapatabilirim? Gerek yok gprs'e
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: muratcura35 - 27 Mart 2017, 22:50:27
bendede aynı sorunlar var sayılır. pc üzerinden arama  cevaplama msj okuma yapıyorum. fakat bi türlü sms gönderemedim. dah arduno ile denemeye geçemedim bile.  bilgi sahibi olan varsa yardım lütfen ??
Başlık: Ynt: Arduino GSM kütüphanesini kullanan oldumu?
Gönderen: ahmbay - 14 Nisan 2017, 11:44:29
datadan sonra <CR>  chr(13)  sonra text datasi daha sonrada ESC karakteri ile bitirdiginize emin olun, sorun bu yuzden kaynaklaniyordur %99.9 ;). 

(+CMGF=1): +CMGS=<da>[, <toda>]<CR> text is entered <ctrl-Z/ESC>