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.
yg versi grps kok ga stabil ya mas
BalasHapus