Cara Mudah Menyimpan Data GPS Ke Database Dengan Arduino Dan SIM800L
Halo teman-teman semua semoga lagi sehat2 ya.. nah pada kesempatan ini DT Production akan memberikan tutorial tentang cara untuk kita mengirimkan atau menyimpan nilai pembacaan modul GPS (Latitude & Longitude) ke database server kita. nah pada tutorial ini kita akan menggunakan library yang sangat bagus untuk kita mengirimkan suatu data melalui protokol http dengan menggunakan modul GSM SIM800L.
Selain bisa mengirimkan SMS, menerima panggilan telepon ataupun menelpon, SIM800L juga bisa terkoneksi dengan jaringan internet dimana dengan mengaktifkan mode GPRS pada modul tersebut.
Sebelumnya DT Production sudah pernah membuat tutorial GPS Tracker yang menggunakan ketiga modul ini akan tetapi hanya berbasis SMS saja, link berikut untuk menuju ke tutorial tersebut. Membuat GPS Tracker Banyak Fitur
Persiapan
Untuk daftar alat / modul yang akan kita gunakan pada proyek kali ini teman – teman dapat membeli di toko DT Production dengan pembelian via Tokopedia. berikut ini daftar alat / modul nya.
Arduino UNO
Modul GPS Neo6m
SIM800L
LM2596
Resistor 1k
LED DIP
Adaptor 9V 2A
Breadboard
Kabel Jumper
Untuk teman – teman yang ingin menggunakan board GPS Tracker sama seperti yang admin pakai, teman – teman bisa lihat pada berikut ini
Perancangan
Untuk teman – teman yang menggunakan PCB GPS Tracker untuk panduan perakitanya bisa teman – teman lihat pada file .pdf berikut ini.
Instruksi Perakitan PCB GPS Tracker
Dan untuk teman – teman yang akan menggunakan Arduino UNO dll, berikut ini adalah konfigurasi pin yang akan teman – teman hubungkan antara arduino dan modul gsm dan gps.
Arduino | GPS Neo6m |
RX 0 | TX |
TX 0 | RX |
VCC | 3.3v / 5v |
GND | GND |
Arduino | SIM800L |
D7 | RX |
D6 | TX |
D5 | RST |
VCC | 3.7v – 4.1v |
GND | GND |
Arduino | LED |
D2 | + LED1 |
D3 | + LED2 |
GND | – LED1 |
GND | – LED2 |
Konfigurasi File Website
Pada video tesebut admin sudah melakukan hosting padafile – file .php
untuk langkah awal, teman – teman dapat membuat database terlebih dahulu pada layanan hosting teman – teman sendiri, silahkan buat database dengan nama yang bebas. setelah membuat file database, teman – teman akan membuat folder (direktori) pada file manager dari layan hosting teman – teman sendiri. Untuk struktur direkorinya yang harus teman – teman buat pada file manager shared hosting adalah :

Selanjutnya untuk program connection.php silahkan teman – teman masukan koding berikut ini.
<?php
$dbhost = 'XXXXX';
$dbuser = 'XXXXX';
$password = 'XXXXX';
$dbname = 'XXXXX';
$dbconnect = new mysqli($dbhost, $dbuser, $password, $dbname);
if ($dbconnect->connect_error) {
die('Server Error');
}
Parameter yang perlu teman – teman ganti adalah :
$dbhost (Masukan sesuai dengan database host)
$dbuser (Masukan sesuai dengan user database)
$password (Masukan sesuai dengan password dari database)
$dbname (Masukan sesuai dengan nama database yang dibuat)
Kemudian untuk sync.php teman – teman masukan koding berikut ini.
<?php
//from : https://dt-production.com
include 'connection.php';
date_default_timezone_set('Asia/Makassar');
$request = file_get_contents('php://input');
$data = json_decode($request, true);
$id = mysqli_real_escape_string($dbconnect, $data['id']);
$lat = mysqli_real_escape_string($dbconnect, $data['lat']);
$lng = mysqli_real_escape_string($dbconnect, $data['lng']);
$interval = date("Y-m-d h:i:s");
$sql = mysqli_query($dbconnect, "INSERT INTO tb_marker VALUES ('$id', '$lat', '$lng', '$interval')");
if ($sql) {
$response = "sukses";
} else {
$response = "gagal";
}
echo $response;
?>
Selanjutnya bisa masuk pada phpMyadmin yang ada di hosting teman – teman sendiri untuk kita melakukan import tabel untuk database yang sudah teman – teman buat.
Caranya cukup mudah, setelah masuk di dalam phpMyAdmin, teman – teman klik database yang sudah teman – teman buat tadi. kemudian klik import, tapi pastikan teman – teman berada didalam database yang sudah teman – teman buat.

Kemudian teman – teman import file .sql berikut
tb_marker.sql | Download
Setelah berhasil melakukan import kurang lebih begini hasil akhirnya.

Konfigurasi Sketch Arduino
Silahkan teman – teman download library yang akan digunakan pada proyek ini.
Http.h | Download
TinyGPS++ | Download
//from : https://dt-production.com #include#include #define RST_PIN 5 #define RX_PIN 6 #define TX_PIN 7 TinyGPSPlus GPS; double lat; double lng; int indikatorGPS = 2; int indikatorData = 3; const char BEARER[] PROGMEM = "3gprs"; //APN Provider int id = 1; void setup() { pinMode(indikatorData, OUTPUT); pinMode(indikatorGPS, OUTPUT); Serial.begin(9600); while (!Serial); Serial.println("Starting!"); } void loop() { while (Serial.available()) { GPS.encode(Serial.read()); } if (GPS.location.isUpdated()) { digitalWrite(indikatorData, LOW); digitalWrite(indikatorGPS, HIGH); lat = GPS.location.lat(); lng = GPS.location.lng(); sendData(); digitalWrite(indikatorGPS, LOW); delay(3000); //delay 10 detik }else{ digitalWrite(indikatorData, HIGH); } } void sendData(){ char response[32]; char body[90]; HTTP http(9600, RX_PIN, TX_PIN, RST_PIN); http.connect(BEARER); String request = "{\"id\":" + String(id) + ",\"lat\":" + String(lat, 6) + ",\"lng\":" + String(lng, 6) + "}"; request.toCharArray(body, 90); delay(1000); Result result = http.post("https://urlwebsite.com/gps/sync.php", body, response); Serial.println(response); Serial.print(http.disconnect()); }
Sebelum melakukan upload jangan lupa untuk mengganti url request yang berada pada funsi void sendData()
Result result = http.post(“https://urlwebsite.com/gps/sync.php”, body, response);
teman – teman dapat mengganti https://urlwebsite.com dengan domain dari website teman – teman sendiri, dan jika konfigurasi direktori sesuai dengan pada bagian Konfigurasi File Website, maka tidak perlu mengubah /gps/sync.php
Selanjutnya teman – teman sudah bisa untuk melakukan upload sketch ini kedalam kontroler Arduino UNO.
Semoga tutorial ini bisa bermanfaat untuk teman-teman semuanya, Terimakasih.
Izin bertanya, saya coba program ini tapi pas dicompile gagal kenapa ya? Terima kasih