Teltonika GPS Codec8 Extended simulator. Send fake GPS data to any server via HTTP API.
849
Docker Image: ahmadsaubani/gps-client:latest
Docker Compose:
services:
gps-client:
image: ahmadsaubani/gps-client:latest
ports:
- "9091:9091"
environment:
- GPS_SERVER_HOST=192.168.1.100
- GPS_SERVER_PORT=8888
- API_PORT=9091
restart: unless-stopped
Run:
docker compose up -d
Variable Default Description
---------- --------- ---------------------------
GPS_SERVER_HOST localhost GPS server host
GPS_SERVER_PORT 8888 GPS server port
API_PORT 9091 API service port
Method Path Description
------ ---------- -------------------------
GET /health Health check
POST /send Send GPS data (modified)
POST /send-raw Send raw hex (no modification)
Required (3 fields):
Field Type Description
--------- ------ ----------------------------
imei string IMEI perangkat (14-16 char)
latitude float Lintang (-90 to 90)
longitude float Bujur (-180 to 180)
Optional — Record fields:
Field Type Default Description
---------- ------ --------- ----------------------------
speed uint16 0 km/h
altitude int16 0 meter
angle uint16 0 heading 0-360
satellites uint8 0 jumlah satellite
priority uint8 0 0=low, 1=high
timestamp string UTC now format: 2006-01-02 15:04:05
Optional — 1-byte IO (N1):
Field Type Description
------------------------------ ------ --------------------------------
ignition uint8 0/1 — status mesin
movement uint8 0/1 — bergerak/diam
gsm_signal uint8 0-5 — sinyal GSM
sd_status uint8 0/1 — status SD card
ext_power uint8 0/1 — power eksternal
usb_power uint8 0/1 — USB power
gnss_jamming uint8 0/1 — deteksi jamming
sleep_mode uint8 0-2 — mode sleep
data_mode uint8 data mode
gnss_status uint8 GNSS fix status
auto_geofence uint8 auto geofence status
unplug uint8 unplug detection
crash_detection uint8 crash detection
over_speeding uint8 over speeding
towing_detection uint8 towing detection
green_driving_type uint8 green driving type
green_driving_value uint8 green driving value
trip uint8 trip status
ble_battery1 uint8 BLE battery 1
number_of_dtc uint8 number of DTC
din1 uint8 digital input 1
din2 uint8 digital input 2
din3 uint8 digital input 3
din4 uint8 digital input 4
din5 uint8 digital input 5
din6 uint8 digital input 6
dout1 uint8 digital output 1
dout2 uint8 digital output 2
dout3 uint8 digital output 3
dout4 uint8 digital output 4
battery_level uint8 battery level %
fuel_type uint8 fuel type
obd_engine_load uint8 OBD engine load %
obd_coolant_temp uint8 OBD coolant temp
short_fuel_trim uint8 short fuel trim
intake_map uint8 intake MAP
vehicle_speed uint8 vehicle speed
timing_advance uint8 timing advance
obd_intake_air_temp uint8 OBD intake air temp
throttle_position uint8 throttle position
commanded_egr uint8 commanded EGR
egr_error uint8 EGR error
obd_fuel_level uint8 OBD fuel level
barometric_pressure uint8 barometric pressure
ambient_air_temp uint8 ambient air temp
hybrid_battery_life uint8 hybrid battery life
engine_oil_temp uint8 engine oil temp
geofence_zone1 uint8 geofence zone 1
accelerator_pedal uint8 accelerator pedal
adblue_level uint8 adblue level
alarm uint8 alarm
network_type uint8 network type
immobilizer uint8 immobilizer
jamming uint8 jamming
idling uint8 idling
bt_status uint8 BT status
driving_state uint8 driving state
instant_movement uint8 instant movement
crash_event_counter uint8 crash event counter
ground_sense uint8 ground sense
private_mode uint8 private mode
wake_reason uint8 wake reason
motorcycle_fall_detection uint8 motorcycle fall detection
eye_humidity1 uint8 EYE humidity 1
eye_magnet1 uint8 EYE magnet 1
eye_movement1 uint8 EYE movement 1
eye_pitch1 uint8 EYE pitch 1
eye_low_battery1 uint8 EYE low battery 1
SSF (Standard State Flags) — subset:
ssf_keyinignitionlock uint8 key in ignition lock
ssf_handbrake_is_active uint8 handbrake active
ssf_front_left_door_open uint8 front left door open
ssf_front_right_door_open uint8 front right door open
ssf_trunk_door_open uint8 trunk door open
ssf_ignition uint8 ignition
ssf_engine_working uint8 engine working
ssf_ready_to_drive uint8 ready to drive
ssf_footbrake_is_active uint8 footbrake active
ssf_battery_charging uint8 battery charging
Optional — 2-byte IO (N2):
Field Type Description
------------------------------- ------ --------------------------------
ext_bat_volt uint16 mV — tegangan baterai eksternal
bat_volt uint16 mV — tegangan baterai internal
bat_current uint16 mA — arus baterai
analog_input1 uint16 mV — analog input 1
analog_input2 uint16 mV — analog input 2
gnss_pdop uint16 x10 — Position Dilution of Precision
gnss_hdop uint16 x10 — Horizontal Dilution of Precision
air_pressure uint16 hPa — tekanan udara
engine_rpm uint16 Engine RPM
fuel_level uint16 % — level bahan bakar
fuel_rate_gps uint16 L/h — konsumsi bahan bakar GPS
fuel_consumption uint16 L/100km
engine_load uint16 % — beban mesin
oil_pressure uint16 kPa — tekanan oli
oil_temperature uint16 C — suhu oli
trip_odometer uint16 m — trip odometer
battery_level uint16 % — level baterai
gsm_signal_pwr uint16 dBm — kekuatan sinyal GSM
gsm_mcc uint16 GSM MCC
gsm_mnc uint16 GSM MNC
gsm_lac uint16 GSM Location Area Code
gsm_cell_id uint16 GSM Cell ID
gsm_area_code uint16 GSM Area Code
gsm_operator uint16 GSM Operator
internal_battery_voltage uint16 mV
speed_internal uint16 km/h — speed sensor internal
axis_x uint16 axis X
axis_y uint16 axis Y
axis_z uint16 axis Z
ble_temp uint16 BLE temperature
ble_humidity uint16 BLE humidity
fuel_pressure uint16 fuel pressure
maf uint16 MAF
eco_score uint16 eco score
battery_temperature uint16 battery temperature
pcb_temperature uint16 PCB temperature
door_status uint16 door status
engine_temperature uint16 engine temperature
ble_fuel_level1 uint16 BLE fuel level 1
eye_temperature1 uint16 EYE temperature 1
eye_battery_voltage1 uint16 EYE battery voltage 1
eye_roll1 uint16 EYE roll 1
Optional — 4-byte IO (N4):
Field Type Description
------------------------------- ------ --------------------------------
active_gps_operator uint32 active GPS operator
total_odometer uint32 m — total odometer
pulse_counter_din1 uint32 pulse counter DIN1
pulse_counter_din2 uint32 pulse counter DIN2
fuel_used_gps uint32 mL — fuel used GPS
fuel_consumed uint32 mL — fuel consumed
total_mileage uint32 m — total mileage
engine_worktime uint32 s — engine worktime
control_state_flags uint32 control state flags
trip_distance uint32 m — trip distance
cng_used uint32 CNG used
vehicle_range_on_battery uint32 vehicle range on battery
vehicle_range_additional_fuel uint32 vehicle range additional fuel
distance_to_next_service uint32 distance to next service
ignition_on_counter uint32 ignition on counter
umtslte_cell_id uint32 UMTS/LTE cell ID
gsm_cell_id_4 uint32 GSM Cell ID (4-byte)
total_distance uint32 m — total distance
total_fuel uint32 mL — total fuel
coolant_temp uint32 C — coolant temp
intake_air_temp uint32 C — intake air temp
engine_hours uint32 s — engine hours
runtime uint32 s — runtime
Optional — 8-byte IO (N8):
Field Type Description
------------------------------- ------ --------------------------------
iccid1 uint64 ICCID 1
iccid2 uint64 ICCID 2
module_id8b uint64 module ID (8-byte)
ibutton uint64 iButton
rfid uint64 RFID
user_id uint64 user ID
security_state_flags uint64 security state flags
driver1_id_high uint64 driver 1 ID high
driver1_id_low uint64 driver 1 ID low
driver2_id_high uint64 driver 2 ID high
driver2_id_low uint64 driver 2 ID low
ble_rfid1 uint64 BLE RFID 1
Send without change data hex
curl -X POST http://localhost:9091/send-raw \
-H "Content-Type: application/json" \
-d '{
"imei": "your-imei",
"hex": "your-hex"
}'
Minimal (only 3 required fields):
curl -X POST http://localhost:9091/send \
-H "Content-Type: application/json" \
-d '{
"imei": "your-imei",
"latitude": -4.343896,
"longitude": 104.353851
}'
GPS + Speed + Ignition:
curl -X POST http://localhost:9091/send \
-H "Content-Type: application/json" \
-d '{
"imei": "your-imei",
"latitude": -4.343896,
"longitude": 104.353851,
"speed": 80,
"ignition": 1
}'
Full fields:
curl -X POST http://localhost:9091/send \
-H "Content-Type: application/json" \
-d '{
"imei": "your-imei",
"latitude": -4.343896,
"longitude": 104.353851,
"speed": 100,
"altitude": 50,
"angle": 180,
"satellites": 12,
"priority": 1,
"ignition": 1,
"movement": 1,
"ext_bat_volt": 12800,
"bat_volt": 3800,
"fuel_level": 75,
"engine_rpm": 2500,
"engine_load": 60,
"gsm_signal": 4,
"timestamp": "2026-09-08 10:30:00"
}'
CAN Bus / OBD (FMC device):
curl -X POST http://localhost:9091/send \
-H "Content-Type: application/json" \
-d '{
"imei": "FMC650XXXXXXXXX",
"latitude": -6.2239983,
"longitude": 106.8335566,
"speed": 60,
"ignition": 1,
"engine_rpm": 3200,
"fuel_level": 82,
"fuel_rate_gps": 12,
"engine_load": 45,
"coolant_temp": 90,
"intake_air_temp": 35,
"oil_pressure": 250,
"total_distance": 15000000,
"engine_hours": 2592000
}'
Digital Input/Output:
curl -X POST http://localhost:9091/send \
-H "Content-Type: application/json" \
-d '{
"imei": "your-imei",
"latitude": -4.343896,
"longitude": 104.353851,
"din1": 1,
"din2": 0,
"dout1": 1,
"dout2": 0
}'
Custom timestamp:
curl -X POST http://localhost:9091/send \
-H "Content-Type: application/json" \
-d '{
"imei": "your-imei",
"latitude": -4.343896,
"longitude": 104.353851,
"timestamp": "2026-09-08 14:30:00"
}'
Health check:
curl http://localhost:9091/health
Success:
{
"status": "success",
"message": "GPS data sent successfully",
"data": {
"imei": "your-imei",
"latitude": -4.343896,
"longitude": 104.353851,
"speed": 0,
"server": "192.168.1.100:8888"
}
}
Error:
{
"status": "error",
"message": "Failed to send GPS data to server",
"error": "connection refused"
}
Content type
Image
Digest
sha256:d9c5e396c…
Size
4.8 MB
Last updated
6 days ago
docker pull ahmadsaubani/gps-client