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

PCB GPS Tracker

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.

ArduinoGPS Neo6m
RX 0TX
TX 0RX
VCC3.3v / 5v
GNDGND
ArduinoSIM800L
D7RX
D6TX
D5RST
VCC3.7v – 4.1v
GNDGND
ArduinoLED
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.

contoh

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

LIHAT KODE
Support kami dengan cara membagikan postingan atau melakukan subscribe pada channel youtube DT Production
Bagikan
Subscribe

//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.

You May Also Like

About the Author: admin

2 Comments

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *