📍
Location
27.61856, 85.56753
🏎️
Speed
45 km/h
🏔️
Altitude
—
🛰️
Satellites
—
📶
Signal
—
🔋
Battery
—
🗺️ Route Playback
Live View
⛽ Fuel Level
Volt: —
Resolving address...
Resolving address...
📊 Data History (Last 50 Records)
| # | Lat | Lng | Speed | Fuel | Sats | Signal | Batt | Device Time | Server Time |
|---|---|---|---|---|---|---|---|---|---|
| 15 | 27.61856 | 85.56753 | 45 | 85% | — | — | — | 2026-03-24 11:00:54 | 2026-03-24 11:00:54 |
| 14 | 27.61825 | 85.5669 | 45 | 85% | — | — | — | 2026-03-24 11:00:44 | 2026-03-24 11:00:44 |
| 13 | 27.61794 | 85.56628 | 45 | 85% | — | — | — | 2026-03-24 11:00:34 | 2026-03-24 11:00:34 |
| 12 | 27.61763 | 85.56565 | 45 | 85% | — | — | — | 2026-03-24 11:00:24 | 2026-03-24 11:00:24 |
| 11 | 27.61731 | 85.56503 | 45 | 85% | — | — | — | 2026-03-24 11:00:14 | 2026-03-24 11:00:14 |
| 10 | 27.617 | 85.5644 | 45 | 85% | — | — | — | 2026-03-24 11:00:04 | 2026-03-24 11:00:04 |
| 9 | 27.61669 | 85.56378 | 45 | 85% | — | — | — | 2026-03-24 10:59:54 | 2026-03-24 10:59:54 |
| 8 | 27.61638 | 85.56315 | 45 | 85% | — | — | — | 2026-03-24 10:59:44 | 2026-03-24 10:59:44 |
| 7 | 27.61606 | 85.56253 | 45 | 85% | — | — | — | 2026-03-24 10:59:01 | 2026-03-24 10:59:01 |
| 6 | 27.61575 | 85.5619 | 45 | 85% | — | — | — | 2026-03-24 10:58:51 | 2026-03-24 10:58:51 |
| 5 | 27.61544 | 85.56128 | 45 | 85% | — | — | — | 2026-03-24 10:58:41 | 2026-03-24 10:58:41 |
| 4 | 27.61513 | 85.56065 | 45 | 85% | — | — | — | 2026-03-24 10:58:31 | 2026-03-24 10:58:31 |
| 3 | 27.61481 | 85.56003 | 45 | 85% | — | — | — | 2026-03-24 10:58:21 | 2026-03-24 10:58:21 |
| 2 | 27.6145 | 85.5594 | 45 | 85% | — | — | — | 2026-03-24 10:58:11 | 2026-03-24 10:58:12 |
| 1 | 27.71399 | 85.32137 | 45 | 85% | — | — | — | 2026-03-24 10:07:30 | 2026-03-24 10:07:32 |
🧪 Test This Device
Send Data
curl -X POST https://gps.aitalim.com/api/post_data.php \
-H "Content-Type: application/json" \
-d '{"device_id": "Hdjd", "latitude": 27.72, "longitude": 85.33, "speed": 50.0, "fuel_level": 60.0}'
Fetch Data
curl "https://gps.aitalim.com/api/get_data.php?device_id=Hdjd&limit=10"
🔌 ESP32 Firmware (TTGO T-Call SIM800)
Copy this Arduino sketch. DEVICE_ID is pre-filled with
Hdjd.
firmware_Hdjd.ino
/**
* TTGO T-Call SIM800L v1.4 — GPS + Fuel Tracker
* Device: Hdjd
* Server: https://gps.aitalim.com
*
* Pinout (FIXED for TTGO T-Call):
* SIM800 TX→GPIO26, RX→GPIO27, PWR→GPIO4, RST→GPIO5
* Battery ADC→GPIO35, LED→GPIO13
* External GPS: TX→GPIO16, RX→GPIO17
* Fuel sensor: GPIO34
*/
#define TINY_GSM_MODEM_SIM800
#define MODEM_TX 27
#define MODEM_RX 26
#define MODEM_PWR 4
#define LED_PIN 13
#include <TinyGsmClient.h>
#include <ArduinoHttpClient.h>
#include <TinyGPSPlus.h>
#include <ArduinoJson.h>
const char* DEVICE_ID = "Hdjd";
const char* DEVICE_NAME = "Je";
const char* SERVER_HOST = "gps.aitalim.com";
const int SERVER_PORT = 80;
const char* SERVER_PATH = "/api/post_data.php";
const char* APN = "ntc"; // Change: Ncell="ncellgprs"
HardwareSerial gpsSerial(1);
TinyGPSPlus gps;
TinyGsm modem(Serial1);
TinyGsmClient client(modem);
HttpClient http(client, SERVER_HOST, SERVER_PORT);
void setup() {
Serial.begin(115200);
pinMode(LED_PIN, OUTPUT);
pinMode(MODEM_PWR, OUTPUT);
pinMode(23, OUTPUT); // POWER_ON
pinMode(5, OUTPUT); // RST
digitalWrite(23, HIGH);
digitalWrite(5, HIGH);
digitalWrite(MODEM_PWR, LOW);
delay(1000);
digitalWrite(MODEM_PWR, HIGH);
delay(2000);
Serial1.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
gpsSerial.begin(9600, SERIAL_8N1, 16, 17);
modem.restart();
modem.waitForNetwork(60000);
modem.gprsConnect(APN, "", "");
}
void loop() {
while (gpsSerial.available()) gps.encode(gpsSerial.read());
static unsigned long last = 0;
if (millis() - last > 300000 || last == 0) {
sendData(); last = millis();
}
delay(100);
}
void sendData() {
digitalWrite(LED_PIN, HIGH);
float fuelV = (analogRead(34)/4095.0)*3.3;
float fuel = constrain(((fuelV-0.5)/(3.0-0.5))*100, 0, 100);
float batt = (analogRead(35)/4095.0)*3.3*2;
DynamicJsonDocument doc(512);
doc["device_id"] = DEVICE_ID;
doc["device_name"] = DEVICE_NAME;
if (gps.location.isValid()) {
doc["latitude"] = gps.location.lat();
doc["longitude"] = gps.location.lng();
doc["speed"] = gps.speed.kmph();
doc["altitude"] = gps.altitude.meters();
doc["satellites"]= gps.satellites.value();
}
doc["fuel_level"] = fuel;
doc["fuel_voltage"] = fuelV;
doc["battery_voltage"] = batt;
doc["signal_strength"] = modem.getSignalQuality();
String p; serializeJson(doc, p);
http.beginRequest();
http.post(SERVER_PATH);
http.sendHeader("Content-Type","application/json");
http.sendHeader("Content-Length", p.length());
http.beginBody(); http.print(p);
http.endRequest();
Serial.printf("[%d] %s\n", http.responseStatusCode(), http.responseBody().c_str());
digitalWrite(LED_PIN, LOW);
}