Categories: ArduinoArduino GSM

Arduino, Tutorial Mengirim data GPS dengan SMS SIM808

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.

chaerul

View Comments

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

5 days ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago