By | 17/02/2019
Hello Sahabat Anak Kendali. 

pada kesempatan kali ini saya akan menulis Tutorial tentang Arduino, Tutorial Mengirim data GPS dengan SMS SIM808.

dimana rencana kedepanya kita akan membuat GPS tracker, dengan menggunakan SIM808.
sim808 memiliki fitur yang cukup lengkap meskipun jaringanya belum sampai 4G LTE.

pada tutorial kali ini, kita akan mengakses fiur GPS dari Sim808 kemudian data Latitude dan Longitude dikirim ke hp melalui SMS.

keyword :
Cara Mengakses SIM 808
Membuat GPS Tracker
GPS dan SMS
Mengirim data GPS dengan SMS

SIM808 Arduino UNO
Sim808 Arduino Mega
SIm808 SoftwareSerial
artikel yang akan datang, kita akan mencoba mengirim data GPS nya menggunakan Internet.

baiklah sesuai judulunya Arduino, Tutorial Mengirim data GPS dengan SMS SIM808
langsung saja kita kita praktekan. disini saya memberikan 2 program yang menggunakan Arduino UNO, dan Arduino Mega 2560.
karena biasanya ada beberapa orang yang masih kebingungan saat memindahkan program dari Arduino Uno ke Arduino Mega.

berikut adalah wiring untuk Arduino Uno.

TX GSM — 10 Arduino Uno
RX GSM — 11 Arduino UNO
GND        — GND Arduino Uno

dan berikut wiring untuk Arduino Mega 2560

Tx GSM — RX3 Arduino Mega
Rx GSM — TX3 Arduino Mega
GND       — GND Arduino Mega

adapun untuk suply teganganya, silahkan gunakan adaptor 5V 2A, jika mengguankan batre lippo silahkan tambahkan modul LM2596 untuk menurunkan teganganya,, Arus untuk Modul ini di sarankan lebih dari 2A.

untuk Program Arduino Uno + GSM_GPS_SMS silahkan DOWNLOAD


untuk Program Arduino Mega + GSM_GPS_SMS silahkan DOWNLOAD

Atau bisa langsung di copas di bawah ini :

Arduino Uno + GSM_GPS_SMS

#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
//Mobile phone number,need to change
#define PHONE_NUMBER "+6283862832235"
//The content of messages sent
#define PIN_TX    10
#define PIN_RX    11
SoftwareSerial mySerial(PIN_TX,PIN_RX);
DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,

char latitude[15];
char longitude[15];
char datamsg[50];
String data;
//DFRobot_SIM808 sim808(&Serial3);
void setup() {
  mySerial.begin(9600);
  Serial.begin(9600);
//  Serial3.begin(9600);
  pinMode(13, OUTPUT);
  //******** Initialize sim808 module *************
  while (!sim808.init()) {
    delay(1000);
    Serial.print("Sim808 init errorrn");
  }
  Serial.println("Sim808 init success");
  Serial.println("Start to send message ...");
  sim808.sendSMS(PHONE_NUMBER,"GPS SIAP KIRIM DATA");
}
void loop() {
  //nothing to do
  while (Serial.available() > 0) {
    delay(10);
    char c = Serial.read();
    data += c;
  }
  if (data.length() > 0) {
    Serial.println(data);
    if (data == "send") {
      sendDataGPS();
    }
    data = "";
  }

}
void getGPS () {
  while (!sim808.attachGPS()) {
    Serial.println("GPS PWR ERROR");
    delay(2000);
  }
  while (!sim808.getGPS()) {
  }
  float lat = sim808.GPSdata.lat;
  float lng = sim808.GPSdata.lon;
//  Serial.print("latitude :");
//  Serial.println(lat, DEC);
//  Serial.print("longitude :");
//  Serial.println(lng, DEC);
//  Serial.print("speed_kph :");
//  Serial.println(sim808.GPSdata.speed_kph);
//  Serial.print("heading :");
//  Serial.println(sim808.GPSdata.heading);
//  Serial.println();
  dtostrf(lat, 4, 6, latitude);
  dtostrf(lng, 4, 6, longitude);

}
void sendDataGPS() {
  getGPS();
   sprintf (datamsg, "Latitude :%s nLongitude :%s", latitude, longitude);
  Serial.println(datamsg);
 sim808.sendSMS(PHONE_NUMBER,datamsg);
}

Arduino Mega + GSM_GPS_SMS

#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
//Mobile phone number,need to change
#define PHONE_NUMBER "+6283862832235"
//The content of messages sent
//#define PIN_TX    10
//#define PIN_RX    11
//SoftwareSerial mySerial(PIN_TX,PIN_RX);
//DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,

char latitude[15];
char longitude[15];
char datamsg[50];
String data;
DFRobot_SIM808 sim808(&Serial3);
void setup() {
//  mySerial.begin(9600);
  Serial.begin(9600);
  Serial3.begin(9600);
  pinMode(13, OUTPUT);
  //******** Initialize sim808 module *************
  while (!sim808.init()) {
    delay(1000);
    Serial.print("Sim808 init errorrn");
  }
  Serial.println("Sim808 init success");
  Serial.println("Start to send message ...");
  sim808.sendSMS(PHONE_NUMBER,"GPS SIAP KIRIM DATA");
}
void loop() {
  //nothing to do
  while (Serial.available() > 0) {
    delay(10);
    char c = Serial.read();
    data += c;
  }
  if (data.length() > 0) {
    Serial.println(data);
    if (data == "send") {
      sendDataGPS();
    }
    data = "";
  }

}
void getGPS () {
  while (!sim808.attachGPS()) {
    Serial.println("GPS PWR ERROR");
    delay(2000);
  }
  while (!sim808.getGPS()) {
  }
  float lat = sim808.GPSdata.lat;
  float lng = sim808.GPSdata.lon;
//  Serial.print("latitude :");
//  Serial.println(lat, DEC);
//  Serial.print("longitude :");
//  Serial.println(lng, DEC);
//  Serial.print("speed_kph :");
//  Serial.println(sim808.GPSdata.speed_kph);
//  Serial.print("heading :");
//  Serial.println(sim808.GPSdata.heading);
//  Serial.println();
  dtostrf(lat, 4, 6, latitude);
  dtostrf(lng, 4, 6, longitude);

}
void sendDataGPS() {
  getGPS();
   sprintf (datamsg, "Latitude :%s nLongitude :%s", latitude, longitude);
  Serial.println(datamsg);
 sim808.sendSMS(PHONE_NUMBER,datamsg);
}

mungkin cukup sekian apa yang bisa saya bagikan kali ini, semoga bermafaat, jika ada yang ingin ditanyakan silahkan komentar di bawah, atau chat langsung melalui WA atau Mesenger, dengan cara klik icon di pojok kiri bawah.

5 Replies to “Arduino, Tutorial Mengirim data GPS dengan SMS SIM808”

  1. ari

    kalau d kasi relai utk pemutus mesin listrik gmn caranya,,,

    Reply
  2. Topan

    Gan kalo pake 2 mode kira2 bisa ga…antara kirim data gps via gprs sim800l…dan sms relay..mohon bimbingan nya

    Reply
  3. etha

    Gan, saya upload program berhasil, dan berhasil daapt notifikasi sms, tetapi setelah saya ketik send di serial monitor, lokasi gps nya tidak muncul, masalahnya apa itu gan??

    Reply
    1. herul Post author

      lama muncul itu gan, sampe led gps kedip2 baru muncul

      Reply

Leave a Reply

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