Library to read data from http://www.aika168.com and other cloud services to track cars with GPS trackers installed
Project description
GPS OBD2 tracker
This project is for Chinese GPS tracker for cars.
Which GPS ODB2 trackers are supported?
This is good question and very hard to find proper answer. It was developed and tested on devices bought on
AliExpress which looks like this one:
After reading attached instruction - I have found error - they say to connect to 3.tkstargps.net side but app is AIKA. What I found - that device is connecting (after sending SMS to it) to XX.aika168.com - and communication between mobile app and server is open (no ssl). This was an invitation to create this library. Other GPS OBD2 Trackers that work with AIKA mobile app should work with this library too. How to check that? Look at pictures of
mobile app that usuary is shown on pages where somebody is selling device. If you see something like:
Map with blue top bar with reload button on right and back arrow on left. This is AIKA app. And here is a link to Google app store: AIKA app.
How to use this code?
It's an asynchronous library. To integrate with your code:
import asyncio
from obdtracker import API, Location, DeviceStatus
async def main():
# Use the context manager to ensure connections are closed
async with API("http://www.aika168.com/") as tracker:
tracker.register_updater(Location(tracker))
tracker.register_updater(DeviceStatus(tracker))
# Login and update data
await tracker.login('<Your device id>', '<Your server password>')
await tracker.update()
# Access typed data
if tracker.location:
print(f"Position: {tracker.location.lat}, {tracker.location.lng}")
if tracker.status:
print(f"Battery: {tracker.status.battery}%")
print(f"Ignition is {'ON' if tracker.status.is_ignition_on else 'OFF'}")
print(f"Warning: {tracker.status.warning_type.name}")
# You can also send commands to the device across the network
# await tracker.send_command("DY") # Cut oil/electricity
if __name__ == "__main__":
asyncio.run(main())
SMS Fallback Generator
If the GPS tracker doesn't connect to the internet, you can create standard SMS commands using SMSCommandBuilder:
from obdtracker.sms import SMSCommandBuilder
sms = SMSCommandBuilder(password="123456")
message = sms.set_speed_alarm(80)
print(message) # "speed123456 080"
NEW: list of UNSUPPORTED mobile applications
If you are going to buy GPS OBD2 Tracker checkout this list to see which mobile apps are unsupported. Acually it means that those mobile apps use cloud service that is not supported with this tool: (Unsupported cloud / OBD2 GPS Trackers)[/doc/unsupported.md]
Supported apps / cloud services:
- aika168.com / www.aika168.com - developed using this cloud service - works
- gpscj.net / gps18.com - not sure - possibly it is working
What is next step?
Right now I'm working on:
- App for getting information about protocol between device and gateway at XX.aika168.com
- Further expanding commands and mapping hardware protocols.
Home Assistant Integration: The Home Assistant custom component for this library is available at maika.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file obdtracker-0.2.7.tar.gz.
File metadata
- Download URL: obdtracker-0.2.7.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8584764cfe8ab3a50de5a94174c0dc34e31095d3a0285df2ec1cf7013b963481
|
|
| MD5 |
bd257c03db11daebf6b91862618b0ece
|
|
| BLAKE2b-256 |
baecf355ac66489a695e3ac5ead3ec9930eecefdb0f85ae0482f1241efb0b05b
|
File details
Details for the file obdtracker-0.2.7-py3-none-any.whl.
File metadata
- Download URL: obdtracker-0.2.7-py3-none-any.whl
- Upload date:
- Size: 23.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8be84c9a71faa1c4029e9b861291531fdeab6c9194428734fce589a33ce705e2
|
|
| MD5 |
388b6c97ee6a7833f9be878ba256efa5
|
|
| BLAKE2b-256 |
2a447bd261c723441fcf683b3f384b536af738c53edb2a506aa6e62d2fa15b4b
|