Pelacak GPS dan Route Map
Jalur yang sudah dilalui sebuah pelacak digambar widget dashboard Route Map. (Widget Peta berbeda: ia hanya menunjukkan posisi tetap dari metadata location.)
1. Kirim lintang dan bujur dalam satu pesan
Section titled “1. Kirim lintang dan bujur dalam satu pesan”Dua metrik numerik yang berbeda, dalam satu pesan (atau satu blok bn + bt):
{"f": "flat", "v": 1, "id": "truk1", "t": 1790000000, "m": {"lat": -6.2088, "lon": 106.8456, "speed": 42.5}}[{"bn": "truk1:", "bt": 1790000000, "n": "lat", "v": -6.2088}, {"n": "lon", "v": 106.8456}, {"n": "speed", "v": 42.5}]- Pasangan lintang-bujur dibentuk dari pembacaan dengan waktu persis sama dari publisher dan sumber yang sama. Jangan kirim dua pesan terpisah dengan timestamp berbeda.
- Nama metrik tidak harus
latdanlon, tetapi harus dua nama berbeda yang konsisten. - Nilai di luar rentang bumi (lintang di luar −90 sampai 90, bujur di luar −180 sampai 180) tidak digambar.
- Pelacak yang belum mendapat fix GPS sebaiknya tidak menyertakan
latdanlonsama sekali, bukan mengirim 0.
2. Simpan lewat rule
Section titled “2. Simpan lewat rule”Jalur dibaca dari data tersimpan, dan pesan hanya disimpan oleh rule. Buat rule Channel Subscriber → Internal DB (SenML) untuk channel pelacak (tombol cepat di halaman channel). Output PostgreSQL eksternal, Internal DB (JSON), dan payload JSON bebas tidak terbaca Route Map. Pesan yang dikirim sebelum rule dibuat atau saat rule nonaktif tidak punya data jalur.
3. Tambahkan widget Route Map
Section titled “3. Tambahkan widget Route Map”Dashboard → Mode edit → Tambah widget → Route Map. Untuk setiap sumber (satu sumber = satu garis):
| Isian | Isi |
|---|---|
| Channel | Channel tempat pelacak mengirim. |
| Nama lintang dan Nama bujur | Nama metrik persis seperti tersimpan: bn + n untuk SenML, atau id: + nama untuk SenFlat (misalnya truk1:lat dan truk1:lon). Dua nama tidak boleh sama. |
| Device | Pilih device pengirim. Wajib bila beberapa pelacak memakai channel dan nama metrik yang sama, kalau tidak titik semua pelacak bercampur. |
| Sumber (bn) | Opsional: bn atau id mentah dengan titik dua (truk1:), untuk pelacak di balik gateway. |
| Label, warna | Tampilan garis dan legenda. |
| Jendela waktu | Realtime (N detik terakhir) atau rentang tanggal. Untuk jalur hari ini, pakai rentang dari 00:00. |
| Titik maksimum per jalur | Bawaan 500, maksimal 1000 di UI (2000 di API). |
Beberapa pelacak: tambahkan satu sumber per pelacak dengan warna dan pola garis berbeda.
Yang tampil
Section titled “Yang tampil”Garis jalur, penanda A (titik pertama) dan B (titik terakhir) dengan popup waktu, dan legenda berisi jumlah titik dan panjang jalur (jarak garis lurus antar titik, bukan jarak tempuh jalan). Bila ada titik lebih lama di jendela yang tidak ikut, widget memberi tahu “Hanya titik terbaru yang ditampilkan”; perkecil jendela waktu atau naikkan batas titik. Pada jendela realtime, widget memperbarui diri tiap interval.
Batasan
Section titled “Batasan”- Route Map tidak tersedia di tampilan publik karena lokasi device sensitif.
- Posisi terakhir pelacak sebagai penanda live (bukan jalur) belum ada. Pilihannya: garis Route Map realtime, atau mengisi metadata
locationdevice untuk widget Peta. - Anda harus punya izin baca channel itu.
Pemecahan masalah
Section titled “Pemecahan masalah”| Gejala | Penyebab umum |
|---|---|
| “Tidak ada titik lintang/bujur pada jendela waktu ini” | Belum ada rule penyimpanan; nama lat/lon tidak persis sama dengan yang tersimpan (cek di Messages); lat dan lon dikirim di pesan terpisah dengan waktu berbeda; jendela waktu terlalu sempit. |
| Garis melompat atau bercampur | Beberapa pelacak memakai channel dan nama metrik yang sama tanpa memilih Device. |
| Titik di tengah laut atau di (0, 0) | Pelacak mengirim 0 saat belum mendapat fix GPS. |
| Hanya sebagian jalur terlihat | Batas titik tercapai; lihat peringatan “Hanya titik terbaru…”. |
Uji tanpa perangkat: kirim beberapa pesan dengan mosquitto_pub dengan lat dan lon yang berubah sedikit tiap kali.