GSM Modülü Yardım

gsm modulle 18f 4550 aynı kaynaktanmı beslıyorsun?
 
Zaman rölesi bir diğer ifade ile zaman saati adı verilen sistem süresi belli olan bir aralıkta araya girmesi veya çıkması amaçlanan elektrik sisteminin kontrol edilmesinde kullanılmak için tasarlanmıştır.
Topraklama ölçümü ister endüstriyel bir tesis ister bir ofis binası olsun her işletme için kritik bir öneme sahiptir.
Hocam Gsm modül eveluation board üzerinde ve kendi adaptörü var. 18f2550 de elimdeki bir deney seti üzerinde ve usb den alıyor gerilimi. Gsm modül ile 18f2550 nin gnd sini birleştirdim.
 
merhaba ben rx tx bağlantısı için 74hc14 kullandım uyum sağlamak için 1-0-0-1 olarak uyguladım gsm modul 3.8 volt pik minumum 4.2 volt boyle olunca haberleşme olmaz 74hc14 bu işi çozdu bendekı cihazlarda kolay gelsın
 
Pic modülünün haberleşmesi için max232 var. birde Gsm modül boardu zaten pc ile haberleşebiliyor. Tahminimce boardun üzerinde gerekli voltaj dönüştürücüler var. Gsm modülden pic'e veri gelip gelmediğini kontrol etmek için telefon araması yapıyorum ve led yanıyor ancak sönmüyor. Ben haberleşme kodları ile ilgili bir sorun olduğunu düşünüyorum. Sizce kodlarımda bir hata görünüyormu? yada elinizde örnek bir kod varmı?
 
asm de bu forumda guvtek nickli uyeye yaz sorunu çozersınız
 
Tekin hocam teşekkürler. Sonuç alırsam buradada paylaşırım.
 
Arkadaşlar merhaba ben aranıza yeni katıldım. Bende gprs modem ile web sayfasına bağlanıp veritabanına bilgi kaydetmek istiyorum.
Şuanda siteye bağlanıp okuyabiliyorum hem index.html'de hemde php sayfasına.
Veritabanı işlemleri php sayfasında bulunuyor. Şimdi benim yapmak istediğim bu php sayfasına data yollama. bunu nasıl gerçekleştiricem tam bilmiyorum. Ana sayfaya bağlanıp ordan "POST /xxx.php HTTP/1.0" vs. yazarak mı.
Yoksa php sayfasına bağlanıp doğrudan value=3333&submit=1 şeklinde data yollayarak mı. -Ki ikisinide denedim çalışmadı.
Daha önce buna benzer bişey yapmış olan varsa, yardımcı olursa sevinirim. İyi akşamlar.
 
Tekin hocam teşekkürler. Sonuç alırsam buradada paylaşırım.

Arkadaşlar merhaba,

Öncelikle forum üyelerine, Tekin264 hocam ve guvtek kardeşime destekleri için teşekkür ederim. Konuyu çözdüm. Benim gibi internette arayıp istediği cevabı bulamayan arkadaşlara yardımcı olabilmek için kodları paylaşıyorum.

* sim908 evb board ile yapıyorum bu çalışmayı
* max232 entegresini pic-gsm modül arasına bağlıyoruz
*sonrası size kalıyor

Önemli bilgiler
-int_rda kesmesi içerisinde sadece veri alıyoruz (başka bir işlem yapmadım)
-sim908 normalde 57600 baud rate'i kullanıyor ancak ben bu hızda ilk başta haberleşemedim dolayısıyla pc ye bağlayarak bu hızı 9600 e düşürdüm
- gsm modüle gönderdiğiniz komuttan sonra, cevaptan önce gönderdiğiniz kod geliyor. Bu kodu iptal etmek için echo modunu disable yapmanız gerekiyor. Bunun için modülü açtıktan sonra ATE 0 komutu kullanmanız gerekiyor.
-Eğer gönderdiğiniz kodun cevabı"OK" olarak gelecekse, bu cevaptan önce ve sonra iki karakterlik iletişim karakterleri geliyor. Bu yüzden hex olarak çalıştım ilk önce. "OK" cevabı "0d 0a 4f 4b 0d 0a" şeklinde geliyor. 4f ="O" 4b="K"

*Programda bir kesme oluştuğunda kelime[] dizisine gelen cevap aktarılıyor. yalnız burada i değişkeninin global olduğuna dikkat edin. kesme bittikten sonrada "0a" karakterinden sonrasını "0d" karakterine kadar ekrana yazdırıyor .
*AT ve AT&K0 komutlarını deneme amaçlı kullandım. siz değiştirebilirsiniz tabiki.

İnşallah bir faydamız olmuştur.


Kod:
// --------------------------------------------------------------------------------------------------------------------------------
#include <18F2550.h>
#fuses  HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN      // dont change
#use    delay(clock=48000000)                                    // dont change
#build (reset=0x1000, interrupt=0x1008)                              // new addresses
#org 0x0,0xfff {}                                             // reserved space           
#include <lcd_flex.c>
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1, bits=8)
#define CTRLZ 0x1A
// --------------------------------------------------------------------------------------------------------------------------------
boolean kontrol=false;
char   klavye[80]=" ";  // klavye isminde 80 üyeli bir dizi tanımlanıyor
int i=0,t=0,degisim=0,kesme=0;

#int_rda   // RX ucuna veri gelince meydane gelen kesme
void serihaberlesme_kesmesi (void)
{
   disable_interrupts(int_rda); // int_rda kesmesini pasif yap
       degisim=1;
                klavye[i]=getc();
                i++;
     output_low(pin_c2); //c2 pinine led bağlı
 enable_interrupts(int_rda);
return;
}
/********* ANA PROGRAM FONKSİYONU********/
void main ( )
{
   setup_timer_1(T1_DISABLED);     // T1 zamanlayıcısı devre dışı
   setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı
   setup_adc_ports(NO_ANALOGS);    // ANALOG giriş yok
   setup_adc(ADC_OFF);             // ADC birimi devre dışı
   setup_CCP1(CCP_OFF);            // CCP1 birimi devre dışı
   setup_CCP2(CCP_OFF);            // CCP2 birimi devre dışı
     lcd_init();   // LCD'yi hazırla
   enable_interrupts(GLOBAL);  // Aktif edilen tüm kesmelere izin ver
//!printf("ATE 0\r\n"); //!bu kodu sadece gsm modül ilk açıldığında bir defa aktif ediyorum. sonra pasifleştiriyorum.
//!   delay_ms(20);
  
   while(1) // Sonsuz döngü
   { 
  
   enable_interrupts(int_rda);
   if (input(pin_A0)==0)
   {
           delay_ms(10);
       while(input(pin_A0)==0);
        i=0;
        output_high(pin_c2);
        delay_ms(200);
                printf(lcd_putc,"\f");
                printf("AT&K0\r\n");
     }
 
 if (input(pin_A1)==0)
{
   delay_ms(20);
         while(input(pin_A1)==0);
i=0;
output_high(pin_c2);
delay_ms(200);
           printf(lcd_putc,"\f");
           printf(lcd_putc,"\f");
         printf("AT\r\n");
    }
 
if(degisim==1)
{
degisim=0;
 printf(lcd_putc,"\f");
kontrol=false;
if(klavye[1]==0x0a)
t=2;
   while(kontrol==false)
   {
         printf(lcd_putc,"%c",klavye[t]);
         t++;
   if(klavye[t]==0x0d)
   kontrol=true;
  }
}
}
}                                          // End of main
 
Formdan veriyi GET mthodu ile yollagin.serverdaki veriyi alacak sayfada get methodu ile alacak sekilde degistirin calisir.benim calisiyor
 
GPRS konusunda bende sorun yaşıyorum yaşamaya devam ediyorum illallah geldi yani artık özellikle port konusunda bağlanacağım portu neye göre seçip yazacağmı bilmiyorum ayrıca bir başka anlamadığım nokta da veri aktarımı data alma konusunda bişeyler yaptım ama aldığım verilerin ne olduğuğnu bile anlayamadım :D
 

Yeni mesajlar

Forum istatistikleri

Konular
128,229
Mesajlar
915,972
Kullanıcılar
450,019
Son üye
ivanko_100

Yeni konular

Geri
Üst