[Update] Kirim Data ke WEB melalui GPRS menggunakan atmega 128

Posted on
Selamat pagi sobat nunutjoe… lama tak jumpa dalam artikel tentang elektronika. Disini ini saya akan membahas cara pengiriman data dari mikrokontroler ATMEGA 128 dengan komunikasi GPRS menggunakan modul Minimum System SIM900… Sebelumnya saya juga pernah membuat artikel terkait pengiriman data dengan menggunakan jalur GPRS di artikel brikut, namun pada artikel tersebut masih menggunakan tool untuk melakukan pengirimannya. Nah … yang sekarang ini akan dibahas pengirimannya langsung menggunakan mikrokontroler.

Sebagai kasus, disini mikrokontroler atmega 128 berfungsi untuk menerima data GPS yang akan diparsing untuk diambil bagian Longitude dan Latitude saja. Untuk pembahasan parsing data GPS dapat dilihat di [Update] Parsing data GPS berdasarkan karakter dan mengirim via sms dengan Atmega 128.  Setelah data diparsing, mikrokontroler akan mengirimkan perintah ke Minimum system SIM900 untuk melakukan pengiriman melalui jalur gprs agar bisa diterima di webserver yang telah dibuat.

Mimimum system SIM900

Minimum system SIM900 yang saya gunakan disini adalah produk dari itead.  Untuk datasheetnya dapat dilihat disini Pada minimum system SIM900 ini untuk melakukan seting agar bisa terkoneksi ke internet perlu dilakukan beberapa konfigurasi dengan menggunakan perintah AT COMMAND melalui jalur komunikasi serial yang telah disediakan. Dan tak lupa menggunakan jasa provider yaitu disini digunakan telkomsel.  Tak perlu tunggu lama lagi , yang harus dipersiapkan adalah 
  • Minimum system Mikrokontroler
  • Minimum System SIM900 GPRS Modul
  • Kartu perdana [Sim Card]
  • Koneksi internet
Langkah selanjutnya pastikan Minimum system mikrokontroler teman-teman berfungsi dengan baik. Percobaan yang saya lakukan untuk melakukan pengiriman disini dengan menekan push button. Untuk pemrograman menggunakan pushbutton bisa di lihat disini

Untuk mengakses Minimum system SIM900 GPRS dilakukan koneksi dengan menghubungkan pin komunikasi serial dari modul sim900 dan minimum system mikrokontroler. Konfigurasinya bisa dilihat seperti berikut

Konfigurasi minimum system dengan modul sim900

Mengakses sim900 menggunakan perintah yang sering disebut AT Command. Urutan untuk inisialisasi modem disini adalah seberti berikut 

  • AT
  • AT+CGATT=1
  • AT+CSTT=”telkomsel”,”wap”,”wap123″   
  • AT+CIICR
  • AT+SAPBR=3,1,”CONTYPE”,”GPRS”
  • AT+SAPBR=3,1,”APN”,”telkomsel”
  • AT+SAPBR=1,1
  • AT+HTTPINIT
  • AT+HTTPPARA=”CID”,1
  • AT+HTTPACTION=0

sedangkan untuk melakukan pengirimannya seperti berikut

  • AT+HTTPPARA=”URL”,”https://student.eepis-its.edu/~tyrsrd/file/TA/simpan.php?jam=00:00:07&lon=-7.2545685&lat=112.123456&jarak=90.2&sudut=60

  • AT+HTTPACTION=0


keterangan :

  • yang berwarna hijau adalah situs yang digunakan untuk menyimpan data
  • yang berwarna merah adlah variable dari data yang dikirimkan
  • yang berwarna ungu adalah isi dari data yang di kirimkan


untuk lebih jelasnya bisa dilihat di AT Command Manualnya disini 

Dari perintah tersebut diterjemahkan dalam program Code Vision seperti berikut
Program untuk inisialisasi

lcd_clear();
delay_ms(500);
printf(“AT”);
putchar1(13); // enter 
lcd_gotoxy(0,0);
delay_ms(1000);   
            
lcd_clear();
delay_ms(500);
printf(“AT+CGATT=1”);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+CGATT=1”);
delay_ms(1000);   
            
/*AT+CSTT=”telkomsel”,”wap”,”wap123″  */
lcd_clear();
delay_ms(1000);
printf(“AT+CSTT=”);
putchar1(34);printf(“telkomsel”); putchar1(34);putchar1(44);putchar1(34);printf(“wap”);putchar1(34);putchar1(44);putchar1(34);printf(“wap123”);putchar1(34);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+CSTT”);
delay_ms(1000);      
            
/*AT+CIICR*/
lcd_clear();
delay_ms(1000);
printf(“AT+CIICR”);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+CIICR”);
delay_ms(1500);    
            
/*AT+SAPBR=3,1,”CONTYPE”,”GPRS”*/
lcd_clear();
delay_ms(1000);
printf(“AT+SAPBR=3,1,”);putchar1(34);printf(“CONTYPE”);putchar1(34);putchar1(44);putchar1(34);printf(“GPRS”);putchar1(34);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+SAPBR=3”);
delay_ms(1000); 
/*AT+SAPBR=3,1,”APN”,”telkomsel”*/
lcd_clear();
delay_ms(1000);
printf(“AT+SAPBR=3,1,”);putchar1(34);printf(“APN”);putchar1(34);putchar1(44);putchar1(34);printf(“telkomsel”);putchar1(34);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+SAPBR=3,1 apn”);
delay_ms(1000);   
           
      
/*AT+SAPBR=1,1*/              
lcd_clear();
delay_ms(1000);
printf(“AT+SAPBR=1,1”);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+SAPBR=1,1”);
delay_ms(1000); 
            
/*AT+HTTPINIT*/
lcd_clear();
delay_ms(1000);
printf(“AT+HTTPINIT”);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+HTTPINIT”);
delay_ms(1000);
            
/*AT+HTTPPARA=”CID”,1*/
lcd_clear();
delay_ms(1000);
printf(“AT+HTTPPARA=”);putchar1(34);printf(“CID”);putchar1(34);putchar1(44);printf(“1”);
putchar1(13); // enter 
lcd_gotoxy(0,0);
lcd_putsf(“AT+HTTPPARA=”);
delay_ms(1000); 
statuspb=5; 


Program untuk mengirimkan data

lcd_clear();
delay_ms(300);
printf(“AT+HTTPPARA=”);putchar1(34);printf(“URL”);putchar1(34);putchar1(44);putchar1(34);
printf(“https://student.eepis-its.edu/~tyrsrd/file/TA/simpan.php?jam=%i%s&lon=%f&lat=%f&jarak=%d&sudut=%d”,fjam,jam,lintGMAPS,bujurGMAPS,ind,satelite);putchar1(34);
// printf(“#%s#-%f#%f#%s#%sr”,jam,lintGMAPS,bujurGMAPS,ind,satelite);
putchar1(13); // enter
lcd_gotoxy(7,0);
lcd_putsf(“Kirim”);
delay_ms(200);
           
/*AT+HTTPACTION=0*/
delay_ms(200);
printf(“AT+HTTPACTION=0”);// Http method action
putchar1(13); // enter
lcd_gotoxy(3,1);
lcd_putsf(“Selesai Kirim”);  


berikut ini video demo dari pengiriman data melalui gprs mengunakan mikrokontroler dengan code vision compiler dan penampakan dari harwdarenya


Minimum system Mikrokontroler + Minimum System SIM900

Semoga sedikit informasi ini dapat membantu teman-teman. Jika ada saran atau sejenisnya silahkan komentar ya kawan…. semakin banyak berbagi ilmu semakin bertambah pula pengetahuan kita.
Salam…

Referensi :

At Command Reference – ftp://imall.iteadstudio.com/IM120417009_IComSat/DOC_SIM900_AT Command Manual_V1.03.pdf

https://www.cooking-hacks.com/documentation/tutorials/raspberry-pi-gprs-gsm-quadband-sim900#step8

https://www.edaboard.com/thread288094.htmlhttps://imall.iteadstudio.com/im140318007.html
https://roysoala.wordpress.com/2012/11/20/gprs-shield-sim900-arduino-get-data-application/

18 thoughts on “[Update] Kirim Data ke WEB melalui GPRS menggunakan atmega 128

  1. mas mau tanya, untuk
    printf("AT+HTTPPARA=");putchar1(34);printf("CID");putchar1(34);putchar1(44);printf("1");
    kenapa tanda petik dan koma harus dipisah pake putchar?? Kenapa ga langsung
    printf("AT+HTTPPARA="CID",1");
    Apakah kalo kangsung seperti di atas ada masalah?? Terima kasih…

  2. Mas Paulus Alexander, printf disini digunakan untuk mengirimkan beberapa karakter. di contohnya printf("AT+HTTPPARA=") maka jika dilihat ke terminal monitor akan langsung tampil AT+HTTPPARA=

    Sedangkan untuk putchar disini mengirimkan 1 karakter. dalam contohnya kenapa tidak ada tanda " karena angka 34 adalah kode ASCII dari "

    apakah cukup membantu mas?

  3. mas bakhtiyar, mau tanya nih . . kalo mikro mau nerima data dari web server via GPRS SIM900 terus data itu diolah di mikro, gmana caranya yah saya bingung . .

    contohnya: kirim angka 1 dari web terus nanti angka itu jadi parameter untuk eksekusi di mikronya . . mohon pencerahannya .. .

  4. mau tanya master..
    klo kirim data melalui GPRS terus langsung ditampilkan ke VB,apa harus pake webserver?
    thanks sebelumnya,.

Leave a Reply

Your email address will not be published. Required fields are marked *