Tutorial Arduino: GPS Tracker Dengan SMS Modul Ublox 6M dan Sim800L V2

Pada artikel sebelumnya kita sudah membahas bagaimana mengakses modul Sim800L V2 untuk dapat mengontrol nyala dan mati sebuah LED dengan perintah AT Commands untuk dapat mengirim sms, maka pada artikel kali ini akan membahas pengembangan penggunaan Modul Sim800l V2 untuk proyek GPS Tracker dengan bantuan modul Ublox Neo-6M.

Ublox Neo-6M merupakan modul yang dapat mengakses GPS dengan sensitifitas yang cukup baik meski di dalam ruangan. Modul ini berkerja dengan kisaran tegangan 3,3V-5V. Selain itu, ada satu baterai isi ulang yang kompatibel dengan MS621FE untuk cadangan dan EEPROM untuk menyimpan pengaturan konfigurasi.

Peralatan

  • Arduino Uno
  • Sim800l V2
  • Ublox Neo-6M

Wiring

Sim800l V2 Arduino Uno
VCC 5V
Gnd Gnd
RX 7
TX 8
Ublox Neo-6M Arduino Uno
VCC 5V
Gnd Gnd
RX 1
TX 0

Kode


#include 
TinyGPSPlus gps;
double latitude, longitude;
 
#include 
SoftwareSerial SIM800L(8,7); //RX dan TX
 
String response;
int lastStringLength = response.length();
 
String link;
 
void setup() {
  Serial.begin(9600);
  Serial.println("GPS Mulai");
 
    SIM800L.begin(9600);  
    SIM800L.println("AT+CMGF=1");
    Serial.println("SIM800L started at 9600");
    delay(1000);
    Serial.println("Setup Complete! SIM800L is Ready!");
    SIM800L.println("AT+CNMI=2,2,0,0,0");
 
}
 
void loop() {
 
  if (SIM800L.available()>0){
      response = SIM800L.readStringUntil('\n');
    }
     
 
  if(lastStringLength != response.length()){
      GPS();
      //Perintah ON
      if(response.indexOf("CEK")!=-1){ //ganti CEK dengan keyword yang diinginkan jangan gunakan spasi
         
          SIM800L.println("AT+CMGF=1");    //Sets the GSM Module in Text Mode
          delay(1000);  // Delay of 1000 milli seconds or 1 second
          SIM800L.println("AT+CMGS=\"+6281xxxxxxxx\"\r"); //ganti no hp yang akan di kirimi balasan sms
          delay(1000);
          SIM800L.println(link);// The SMS text you want to send
          delay(100);
          SIM800L.println((char)26);// ASCII code of CTRL+Z
          delay(1000);
      }
  }  
}
 
void GPS(){
  if(Serial.available()) {
    gps.encode(Serial.read());
  }
  if(gps.location.isUpdated()) {
    latitude = gps.location.lat();
    longitude = gps.location.lng();
    link = "www.google.com/maps/place/" + String(latitude, 6) + "," + String(longitude, 6) ;
    Serial.println(link);
 
  }
}

Cara Upload

Baik Sim800L dan Ublox sama-sama menggunakan protokol UART sehingga memerlukan library Software Serial. Namun Arduino tidak dapat mengakomodir komunikasi data jika terdapat lebih dari 2 Software Serial sehingga RX dan TX pada Ublox dikoneksikan pada TX dan RX bawaan Arduino Uno. Dengan begitu maka saat upload kode program kabel RX dan TX Ublox tidak dikoneksikan terlebih dahulu dengan arduino. Jika tidak maka akan terjadi Error. Setelah Upload berhasil barulah koneksikan kabel RX dan TX Ublox ke Arduino Uno pada Pin 1 dan 0 (bawaan Arduino Uno) pastikan koneksi antara pin tersebut sesuai seperti tabel wiring di atas. Jika menggunakan Arduino Nano koneksikan pada RX dan TX bawaan Arduino Nano.

Cara Perintah

Pastikan modul ublox dan Sim800l sudah mendapatkan koneksi yang baik dengan melihat lampu indikasi. Selanjutnya sms ke no Sim800l dengan pesan CEK, maka akan terdapat balasan dari Sim800l dengan pesan www.google.com/maps/place/angka latitude,angka longitude, tinggal klik dan lihat di aplikasi google maps pada smartphone.

1 komentar untuk "Tutorial Arduino: GPS Tracker Dengan SMS Modul Ublox 6M dan Sim800L V2"

Jangan melakukan spam, memberi link, dan menggunakan kata kotor