
Tidak peduli seberapa basi bunyinya, pada abad ke-21, truk tidak hanya mengangkut barang dari titik A ke titik B, tetapi merupakan sistem komponen yang agak rumit yang dihubungkan oleh jaringan. Pengumpulan informasi dari komponen-komponen ini, ditambah dengan kemampuan perangkat seluler modern yang dapat menentukan lokasi mereka melalui sistem GPS, dan memiliki komunikasi seluler, mengungkapkan peluang yang agak besar untuk mengoptimalkan transportasi, mengelola armada, dan, dalam beberapa hal, bahkan perilaku pengemudi. Semua ini disebut transportasi telematika, yang didedikasikan untuk artikel ini.
Saya harus memperingatkan Anda bahwa saya tidak terlalu sering menggunakan bahasa Rusia selama 25 tahun terakhir, jadi jangan heran jika struktur kalimat atau kata-kata yang digunakan tampak aneh.
Saya sudah bekerja selama 13 tahun di bidang transportasi telematika, 5 tahun membantu memantau pemulung, 8 tahun untuk truk bahan bakar. Kedua opsi ini memiliki banyak kesamaan, tetapi juga banyak hal yang berbeda.
Pertama, sedikit tentang jenderal
Fungsi pertama dan utama adalah pelacakan GPS. Anda dapat melihat di mana truk itu lewat, Anda dapat menentukan di mana truk itu kehilangan posisinya dan di mana truk itu ditemukan lagi, hampir secara waktu nyata.
Jika tidak ada koneksi ke server, trek direkam dalam memori komputer terpasang. Dengan tidak adanya penerimaan GPS, pemantauan tidak langsung melalui posisi menara GSM dimungkinkan. Pada suatu waktu, kami memiliki kemitraan dengan OpenCellId - bank data terbuka dari lokasi BTS GSM (lebih lanjut tentang ini ditulis di
sini ), di mana saya mengunggah sekitar satu juta koordinat setiap minggu, tetapi sayangnya kemitraan ditutup ketika OpenCellId dijual ke perusahaan India yang mengubah layanan dibayar bahkan untuk asisten - namun satu sistem kami memberi sekitar seperempat dari semua koordinat yang mereka terima.
Saat offline, data tidak hilang, itu hanya ditulis lebih jarang sehingga memori internal tidak terlalu penuh. Jumlah data lintasan juga tergantung pada seberapa cepat truk melaju. Biasanya, frekuensi pengumpulan data meningkat sebanding dengan kecepatan sehingga trek di peta terlihat lebih halus, tetapi beberapa pelanggan tidak tertarik pada data di mana mobil bepergian dengan kecepatan tinggi - dalam kasus seperti itu, mobil biasanya terletak di jalan raya, di mana tidak ada hal yang menarik terjadi .
Fungsi utama kedua, yang sering diterapkan secara terpisah dari yang pertama - sedemikian banyak sehingga tambahan zat besi digunakan untuk ini - adalah untuk bekerja secara langsung dengan pengemudi. Layar tablet menampilkan daftar tugas untuk pengemudi dengan alamat pelanggan kepada siapa ia harus pergi. Biasanya, pengemudi berkewajiban untuk memilih satu tugas dari daftar, “memulai” tugas ini, dan saat melakukan tugas “selesai”, dimungkinkan untuk memasukkan data tambahan.
Dengan demikian, di kantor secara real time dapat dilihat apa yang secara khusus disibukkan oleh pengemudi ketika ia mulai bekerja, ketika pekerjaan itu dilakukan. Berkat kesempatan ini, akan mungkin untuk menghitung di kantor berapa pengemudi benar-benar bekerja dan berapa biaya perjalanan khusus ini bagi perusahaan. Pada saat yang sama, semua informasi yang diperlukan, yang sebelumnya hanya di atas kertas, segera dan otomatis masuk ke sistem komputer. Untuk pekerjaan tambahan ini, pengemudi diberikan beberapa fasilitas, seperti: secara otomatis menyalakan navigasi ke target atau kemampuan untuk segera mencetak semua kertas yang diperlukan, alih-alih mengisi formulir.
Selanjutnya adalah pemantauan FMS dan berbagai sensor. Truk modern memiliki sistem kontrol motor digital yang agak canggih, dan untuk memfasilitasi pengumpulan informasi untuk komputer yang terpasang seperti itu, tujuh pabrikan truk Eropa bersama-sama menciptakan format FMS (Fleet Management System), antarmuka standar untuk menghubungkan (hanya baca) ke sistem kontrol motor via CAN-Bus, di mana secara real time parameter truk utama hadir, seperti kecepatan, jarak tempuh, konsumsi bahan bakar dalam format standar tertentu.
Pada dasarnya, informasi ini berfungsi untuk memverifikasi kualitas pekerjaan pengemudi - seberapa ekonomis mereka mengemudi, tetapi sangat mungkin untuk menangkap pencuri. Misalnya, jika tingkat bahan bakar di tangki turun lebih cepat dari biasanya, terutama jika truk berdiri saat ini, maka situasinya tidak ambigu.
Selain itu, beberapa informasi berasal dari tachograph digital, instrumen wajib di Uni Eropa yang mencatat periode kerja pengemudi dan kecepatan kendaraan. Dengan demikian, tanpa menghubungkan ke tachograph, Anda dapat langsung mengetahui kapan pengemudi tertentu berada di belakang kemudi atau selesai bekerja. Sensor yang berbeda biasanya input digital, sehingga Anda dapat memeriksa di mana termasuk (lampu depan, sabuk pengaman, dll.). Contoh mendasar untuk jenis sensor ini adalah komputer di papan monitor rem tangan, dan hanya jika rem menyala, ia berhenti memblokir telepon - banyak perusahaan yang membawa barang berbahaya melarang pengemudi untuk berbicara di telepon saat mengemudi.
Karena modem GSM digunakan dalam perangkat telematika, itu berarti bahwa pada prinsipnya modem dapat digunakan sebagai ponsel, maka pengemudi tidak perlu memberikan sarana komunikasi. Pada saat yang sama, Anda dapat mengontrol bagaimana alat komunikasi ini akan digunakan - kunci telepon dengan rem tangan, yang saya tulis di atas, kunci telepon di luar jaringan rumah, izin untuk memanggil hanya nomor-nomor tertentu.
SMS juga diterima dan dikirim, itulah sebabnya Anda terkadang harus mendengarkan keluhan pengemudi yang sering berada di dekat perbatasan - mereka terus-menerus menerima pesan tentang tarif, yang menyebabkan dilema - tanpa daftar hitam tambahan, Anda hanya dapat mematikan penerimaan SMS sepenuhnya (hanya dengan menghapus tabel SMS dari bank data), tetapi pesan tidak akan diterima sama sekali.
Ada fitur berguna lain yang terkait dengan penggunaan modem GSM - ketika sinyal diterima dari perekam data peristiwa (EDR), komputer terpasang dapat secara otomatis memanggil nomor telepon tertentu.
Sekarang sedikit tentang perbedaannya
Untuk truk sampah, yang utama adalah ke mana harus pergi dan berapa yang harus diambil. Oleh karena itu, tugas yang agak penting adalah untuk menghubungkan timbangan yang dibangun ke dalam lift wadah sampah dan secara otomatis menimbang mereka ketika mengangkat. Untuk bobot ini, pelanggan bisnis ditagih untuk bekerja.
Pengemudi, pada gilirannya, dapat diberikan bonus untuk pekerjaan cepat, jadi Anda perlu tahu berapa lama untuk mengocok wadah, dan seberapa cepat wadah diambil setelah truk sampah tiba di tujuannya.
Untuk melakukan ini, perlu untuk menghubungkan joystick kontrol elevator ke input digital, yang tidak selalu sesederhana seperti yang terlihat pada tahap perencanaan. Suatu kali seorang teknisi menggali listrik truk untuk waktu yang lama sehingga pengemudi bosan menunggu, dan dia pulang, dan saya serta teknisi itu tetap tinggal. Semuanya terhubung, tampaknya berfungsi, dan sinyalnya berjalan, tetapi tanpa driver kami tidak dapat melakukan pemindaian penuh.
Pagi berikutnya kami menunggu pemisahan besar dari klien - teknisi melakukan sesuatu yang salah, dan lift mengangkat wadah hanya setengah dari ketinggian yang diperlukan. Lain waktu ada masalah dengan listrik truk, dari mana salah satu sekering harus dicabut. Setelah itu, truk itu sama sekali mengabaikan kunci kontak dan tidak mematikan sama sekali, dan bekerja menganggur sampai diesel di tangki habis.
Karena ada banyak pabrikan add-on untuk truk sampah, ada sejumlah besar protokol yang berbeda untuk timbangan yang dipasang di lift, dan untuk masing-masing kami harus menulis fungsi terpisah. Dalam beberapa skala tidak ada antarmuka untuk telematika sama sekali, satu-satunya keluaran informasi adalah ke printer khusus mereka melalui RS232. Di sini kita harus menyolder kabel Y dan mengeluarkan informasi yang diperlukan dari aliran data untuk printer.
Memeriksa BobotAda juga tugas melatih pengemudi baru yang belum tahu rute. Ini dilakukan sebagai berikut: seorang pengemudi berpengalaman melakukan perjalanan di sepanjang rute yang paling optimal, trek GPS-nya direkam, dioptimalkan secara manual untuk jumlah titik, dan kemudian dikirim ke sistem navigasi pemula.
Pada saat itu, para navigator tidak memiliki kesempatan untuk mengunduh trek yang direkam, jadi kami harus mengatur setiap titik "secara manual", memantau sistem navigasi, dan ketika hanya beberapa meter yang tersisa pada titik ini, ganti dengan yang berikutnya sehingga navigator tidak punya waktu untuk mengumumkan pencapaian tujuan dengan senang hati. Tapi itu mungkin untuk nongkrong jendela dengan informasi pada navigator, ini digunakan untuk komentar di mana pengemudi dapat melihat fitur target - apa cara yang paling nyaman untuk memanggil, siapa yang meminta surat-surat, dll.
Ada persyaratan lain untuk truk bahan bakar, penekanannya lebih pada fakta bahwa pengemudi memiliki kecenderungan buruk untuk mencuri bahan bakar. Dan jika di Eropa Barat ini lebih mungkin kasus penyendiri, maka di Timur pencurian bensin dilakukan oleh seluruh geng yang mengirim pengemudi mereka ke perusahaan angkutan.
Tidak mungkin melintasi bisnis ini, sehingga sebagian besar fungsi anti-pencurian dirancang untuk menangkap pencuri di TKP. Alat utama untuk ini adalah geofences. Dengan cara sederhana - gambar lingkaran pada peta di sekitar tempat-tempat di mana tindakan tertentu diizinkan. Jika tindakan ini terjadi di luar lokasi yang ditentukan, pemberitahuan dikirim ke administrator.
Selanjutnya adalah pemantauan tindakan-tindakan itu, yang bisa sangat banyak. Tutup sistem saluran tangki, saluran cairan dari tangki, sabuk pengaman terbuka, dan bahkan pemberhentian selama lebih dari 5 menit diungkapkan. Memantau sistem drainase paling sering juga menangkap pengemudi yang ingin mengambil untung dengan biaya orang lain: selama beberapa hari pemberitahuan keluar bahwa bahan bakar terkuras dari geofence. Lintasan menunjukkan bahwa pengemudi di tempat ia menghabiskan plum seharusnya tidak sama sekali. Hari berikutnya polisi menunggunya di sana.
Pilihan lain adalah tangki bensin, yang memberikan sinyal terus menerus ketika ditutup. Jika sinyal menghilang - tangki bensin terbuka, atau kabel sinyal terputus - itu berarti seseorang perlahan-lahan ingin menguras bahan bakar saat pengemudi tidur. Sistem memicu bunyi bip, pengemudi bangun dan mendorong pencuri dengan bantuan ibu ini dan itu.
Tentang teknik yang digunakan
Aplicom f-seriesKetika saya memulai pekerjaan saya dengan telematika transportasi pada tahun 2003, praktis tidak ada alat yang relatif universal di pasar di mana saya dapat menulis program saya. Pilihan pada waktu itu, pada umumnya, terbatas pada seri Aplicom C / seri F dan Owasys Owa2x.
Perangkat pertama dibuat oleh penduduk asli Nokia, bekerja pada sistem operasi mereka sendiri (OS95A), yang merupakan varian OS untuk ponsel Nokia lama, bahkan mereka yang memiliki dua baris layar teks. Pengembangan dilakukan pada C99 oleh kompiler ARM CodeWarrior, dan agak merepotkan karena kompiler yang sudah ketinggalan zaman dan karena sistem operasi yang agak primitif, yang sebenarnya dikompilasi dengan program yang saya tulis untuk perangkat.
Perangkat kedua dibuat oleh imigran dari Ericsson cabang Spanyol, memiliki prosesor yang sedikit lebih cepat, tetapi satu port RS232 lebih sedikit dan bekerja di bawah Linux yang cukup kuno. Pengembangan dilakukan oleh GCC kuno yang sama (2.95.3) dengan semua konsekuensi berikut ini (bug, fungsi bahasa tidak beroperasi, terus terang dukungan omong kosong untuk C ++ dan optimasi kode yang buruk).
Aplicom kemudian mengirim Linux ke mesin mereka, tetapi pada saat itu sudah terlambat. Kelemahan terbesar dari perangkat Aplicom adalah kurangnya sistem file, perlu untuk menulis ke memori Flash kurang lebih secara langsung di dalam sel, dan memang, pabrikan sering tidak merekomendasikan penulisan ke memori ini sama sekali.
Di sisi lain, Owa2x memiliki satu keuntungan besar - Linux - dan sejumlah besar kekurangan - hanya dua port RS232, yang membuatnya lebih sulit untuk di-debug melalui konsol, pengontrol CAN-Bus kereta, yang tergantung secara teratur, menggunakan satu port RS232 internal untuk GPS dan untuk GSM yang menggunakan multiplexer, yang menyebabkan GPS membeku ketika GSM mulai atau berhenti, sistem file yang dibongkar ke dalam disk RAM pada setiap permulaan, yang membuatnya mustahil untuk secara permanen mengganti file sistem apa pun, dan, oleh hidangan penutup, dok entatsiya, yang penggunaannya lebih rendah dari kertas toilet.
Ketika saya mengunjungi kantor pabrikan dan menunjukkan kepada mereka semua masalah ini (yang tidak mereka selesaikan nanti, hanya mengatakan bahwa mereka sekarang membuat perangkat keras baru - Owa3x, di mana semuanya akan lebih baik), saya meninggalkan mereka dokumentasi Aplikom untuk mengambil contoh (contoh mulai memakan waktu sekitar 6 tahun, ketika mereka sudah membuat generasi berikutnya - Owa4x).
Flashing Owa2xKetika Owa3x keluar, pada awalnya saya sangat senang. Ada kompiler yang lebih baru (GCC 4.3), prosesor cepat, tiga port RS232, dan, akhirnya, slot kartu microSD. Sekarang adalah mungkin untuk meletakkan program pada kartu, sehingga nantinya, jika ada, itu hanya bisa diganti. Namun, saya bersukacita lebih awal.
Kesalahan arsitektur, seperti sistem file yang tidak dibongkar dan multiplexer yang sama untuk GPS dan GSM tetap ada, dan kesalahan pertama menjadi lebih serius - firmware menjadi jauh lebih besar, dan modem terus mendukung hanya GPRS, versi dengan dukungan UMTS jauh lebih mahal, dan ini adalah Tahun 2011.
Orang-orang membuat besi seperti dulu. Kemudian ternyata kartu MicroSD mengalir jika Anda menulisnya secara teratur. Mereka hidup sekitar satu tahun, setelah itu mereka mati, dan program berhenti dimulai. Pada awalnya mereka mencoba membuat beberapa bagian pada kartu, dan satu - di mana program ini hanya baca. Itu tidak membantu, dan itu agak kontraproduktif - pengendali kartu tidak dirancang untuk penyimpangan semacam itu.
Sekarang program berada dalam memori internal perangkat, dan hanya ada data pada kartu, jadi jika kartu berhenti bekerja, itu hanya diubah. Saya tidak melakukannya sebelumnya, karena sering ada masalah dengan sistem file memori internal, file-file rusak secara teratur, yang akhirnya dapat diperbaiki oleh pabrikan dengan firmware.
Owa3xDua tahun lalu, saya memutuskan untuk melakukan refactoring yang serius dan menulis ulang bagian dari program, karena sebelumnya hanya secara tidak sistematis memperoleh segala macam fungsi. Pada saat yang sama, saya memutuskan untuk menghilangkan ketergantungan pada boost, yang sangat menggembungkan sumber dan biner, dan membakukan pendekatan untuk memecahkan masalah, atau kita sering menggunakan fungsi boost, fungsi c ++, atau klasik dari C untuk mencapai efek yang sama.
Itu paling mudah untuk menghilangkan dorongan dengan menulis ulang sebuah program untuk C ++ 11, yang pada saat yang sama akan menyederhanakan banyak hal lainnya - yang hanya berbasis rentang daripada iterator kilometer.
Ternyata, dukungan untuk C ++ 11 di bawah GCC 4.3 benar-benar bengkok, bahkan program minimal menggunakan STL belum dikompilasi. Ada jawaban resmi dari pabrikan bahwa kompiler lain pada perangkat keras ini tidak didukung, tetapi 4.7.3 secara tidak resmi berfungsi jika Anda memuat libstdc ++ yang sesuai, yang lebih atau kurang berfungsi, tetapi tidak realistis.
Kemudian saya harus menyeberanginya dengan landak - saya mengambil GCC 4.8.3 (4.9 tidak akan bekerja, mereka mengubah sesuatu di ABI), memasukkan libstdc ++ dari GCC 4.3 saya ke dalamnya dan menyalin sistem termasuk file pada gilirannya, yang berisi kesalahan , dari sana, hingga mulai dikompilasi. Anehnya, seluruh desain ini bekerja, dan tidak buruk.
Untuk beberapa waktu, campuran yang dihasilkan dari perpustakaan dan termasuk bahkan dapat digunakan di dentang, tetapi biner tidak optimal dan ada lebih banyak kesalahan - dentang kadang-kadang mengkompilasi panggilan ke beberapa fungsi yang tidak dimiliki perpustakaan lama, tetapi setidaknya dengan cara ini ada kesalahan gaya yang diampuni GCC.
Campfire Tales
- Ketika saya mulai bekerja di bidang ini, saya adalah mahasiswa magang yang benar-benar hijau. Perusahaan tempat saya mendapatkan pekerjaan baru saja menjual presentasi PowerPoint, dan saya langsung dikirim ke bisnis ini.
Rupanya, majikan baru saya tidak menganggap semua ini serius, terlepas dari kenyataan bahwa klien harus mengikuti program dalam tiga bulan, dan trainee yang mulai menulis sebelum saya berhenti.
Saya kemudian tidak tahu bagaimana memprogram dalam C sama sekali, sebelum itu saya hanya menulis program dos untuk Turbo Pascal, terutama untuk perpustakaan umpan. Bahasa C sangat mengejutkan saya - betapa banyak peluang untuk menembak diri sendiri di kaki!
Setelah beberapa waktu, segala sesuatunya dimulai, dan program itu, meskipun ditulis dengan sangat miring, berhasil, tetapi saya terlambat tanpa malu-malu. Pada saat itu, saya beruntung bahwa pada saat itu sistem pembayaran jalan Jerman baru diperkenalkan, yang pada umumnya juga memiliki jenis pemantauan kendaraan yang sama, dan pengembangnya TollCollect juga sangat terlambat, menjadi bahan tertawaan seluruh negeri. Terhadap latar belakang ini, pelanggan mengambil penundaan kami selama beberapa bulan dengan pemahaman.
- Bayangkan komputer di komputer mati saat memperbarui program yang diunduh melalui ponsel. Sesuatu tidak berfungsi sama sekali, komputer berhenti memuat. Tidak ada yang bisa dilakukan, Anda harus pergi ke truk, menginstal pembaruan secara manual melalui port serial.
Seorang perwakilan klien membawa saya ke pangkalan di mana truk itu berdiri, dari mana dia memiliki kunci. , , , , . , . , , .
- - , , . , , — , , , . , , , , , FIFO .
- , , . , , — Renault Kerax, , .
, 20 , - , , , . .
- . , . , , - . , , .
Owa3xKesimpulan
Era komputer on-board khusus seperti itu untuk transportasi telematika secara bertahap akan berakhir - mereka sangat spesifik, diproduksi dalam batch kecil dan karena ini mereka secara teknis sangat di belakang perangkat mobile modern - ponsel dan tablet, di mana tidak hanya prosesor lebih cepat dan lebih banyak memori, tetapi juga sudah menelan biaya sejumlah besar blok program, yang jika tidak Anda harus menulis sendiri - bahkan hal-hal dasar seperti koneksi sederhana ke Internet seluler.Dan pengembangan aplikasi pada tablet modern tanpa diragukan jauh lebih nyaman. Namun, mereka tidak akan dapat sepenuhnya menggantikan peralatan klasik dari transportasi telematika, sehingga untuk mengumpulkan jumlah maksimum informasi Anda memerlukan sejumlah besar port input / output - dari serial RS232 biasa ke tipe CAN-Bus khusus. Untuk menghubungkan semua ini ke tablet biasa di Android, Anda memerlukan sejumlah besar periferal, atau tablet berskala kecil dan sangat terspesialisasi yang tidak mahal, tetapi bahkan perangkat semacam itu memiliki satu kelemahan serius - pengemudi dapat dengan mudah mematikannya dan seluruh kumpulan informasi akan berhenti.Komputer terpasang, yang di masa depan akan tetap menjadi peran pusat informasi semacam itu untuk tablet, akan berfungsi selama truk memiliki kekuatan (walaupun ada pelawak di bengkel yang menghubungkannya ke kunci kontak) dan mengumpulkan informasi meskipun tidak ada koneksi.Terima kasih banyak kepada pengguna hdablin untuk dukungan dan bantuannya dalam mengedit artikel.