Daftar Isi:

Sistem Anti-pencurian GPS+GPRS Kendaraan Berbasis Arduino Lengkap: 5 Langkah (dengan Gambar)
Sistem Anti-pencurian GPS+GPRS Kendaraan Berbasis Arduino Lengkap: 5 Langkah (dengan Gambar)

Video: Sistem Anti-pencurian GPS+GPRS Kendaraan Berbasis Arduino Lengkap: 5 Langkah (dengan Gambar)

Video: Sistem Anti-pencurian GPS+GPRS Kendaraan Berbasis Arduino Lengkap: 5 Langkah (dengan Gambar)
Video: Realtime GPS Tracker Using Arduino and Android | GPS Tracker berbasis arduino google maps 2024, Juli
Anonim
Image
Image
Perangkat Keras
Perangkat Keras

Halo semuanya!

Saya ingin membangun solusi lengkap untuk perangkat anti-pencurian kendaraan GPS, yaitu:

semurah mungkin

selengkap mungkin

karena-hanya-bekerja-tidak ada-yang-lain-untuk-dilakukan mungkin

Jadi saya akhirnya membangun solusi berbasis Arduino yang menghabiskan total $25, kurang lebih.

Seperti yang Anda lihat dari video, itu hanya berfungsi! Anda menyalakan mobil, Anda mendapatkan pemberitahuan di ponsel Anda bahwa mobil sedang bergerak, lalu Anda membuka aplikasi seluler dan Anda dapat melihat mobil bergerak secara real time (dengan jeda pembaruan 10 detik).

Tutorial ini akan memandu Anda melalui semua langkah, mengingat ada beberapa komponen dalam solusi:

1) perangkat keras (berbasis Arduino)

2) perangkat lunak (program Arduino)

3) lebih banyak perangkat lunak (penerimaan sisi server dari lokasi gps)

4) bahkan lebih banyak perangkat lunak (aplikasi seluler)

Ayo mulai..

Langkah 1: Perangkat Keras

Perangkat Keras
Perangkat Keras

Daftar belanja:

1) Arduino Uno R3 atau kloning. Saya menggunakan klon "DCcEle DCcduino uno", yang sepertinya tidak tersedia lagi. Ini yang setara: di Aliexpress - $ 3,75

2) Unit GPS untuk Arduino (GY-NEO6MV2 modul GPS baru dengan Kontrol Penerbangan Kontrol Penerbangan EEPROM MWC APM2.5 antena besar NEO6MV2). Saya menggunakan ini: di Aliexpress - $6,66

3) GPRS / GSM unit untuk Arduino (SIM800L V2.0 5V Wireless GSM GPRS MODUL Quad-Band W/Antenna Cable Cap). Saya menggunakan ini: di Aliexpress - $6,71

4) Kabel dupont cadangan seperti ini: di Aliexpress - $0,89

5) Kartu sim data IoT (atau kartu sim lainnya dengan koneksi data). Saya menggunakan ini: dari Hologram.io. Saya punya pengembang gratis, hanya pengiriman berbayar - $ 7,50

Total: 25,51$, tapi saya sudah punya kabel jadi kurang dari 25$!

Dua gambar menunjukkan komponen sebelum perakitan, dan produk akhir. Koneksi yang harus Anda buat adalah:

Arduino -- SIM800L

10 -- SETEL ULANG

GND -- GND (2 di antaranya)

5v -- 5v

7 -- SIM_TXD

8 -- SIM_RXD

Arduino -- GY-NEO6MV2

GND -- GND

5v -- VCC

3 -- RX

4 -- TX

Hubungkan semua kabel dan antena dan pastikan Anda menyalakan Arduino dari sumber yang mampu memberi Anda puncak 2A. USB komputer hampir tidak berfungsi (saya menggunakan MacBook Pro), pengisi daya telepon "acak" tidak akan cukup. Sebagian besar outlet usb mobil juga kurang dari 1A. Jika itu kasus Anda, Anda juga memerlukan catu daya mobil 12v 5v dengan setidaknya 2A.

Masukkan kartu sim. Jika Anda menggunakan kartu sim Hologram.io, pastikan Anda mendaftar di dasbor mereka dan mengaktifkan kartu sim (perlu beberapa menit / jam).

Langkah 2: Perangkat Lunak (Program Arduino)

Perangkat Lunak (Program Arduino)
Perangkat Lunak (Program Arduino)

Saya akan menganggap Anda sudah familiar dengan pemrograman Arduino. Jika tidak, silakan mulai dengan panduan ini: di Instructables.

Anda hanya perlu satu perpustakaan eksternal, saya harus menginstalnya secara manual. Buka di sini: TinyGPS, ekspor perpustakaan, dan instal di folder Arduino lokal Anda.

Dari sana, kita akan "mencuri" beberapa kode dari contoh dasar mereka, dan memodifikasinya untuk tujuan kita.

Kami kemudian akan "mencuri" dari panduan ini dan memodifikasi kode lagi untuk tujuan kami.

Hasilnya adalah program.ino terlampir.

Ada beberapa hal yang dapat dan HARUS Anda ubah:

definisi "DETIK", dan definisi "SERVER".

Saya telah menyetel DETIK ke 10 dan inilah alasannya: program pengembang Hologram.io memberi Anda 1mb data gratis per bulan. Artinya, kami ingin meminimalkan byte yang dikirim, tetapi kami juga perlu memperbarui posisi kami sesering mungkin. Kami akan menggunakan perintah modem AT standar untuk mengirim paket UDP ke server kami yang menerima pesan, dengan lat/lon, masing-masing menggunakan 4 byte, dan kecepatan menggunakan 1 byte. Jadi total update gps adalah 20 byte (IP header) ditambah 8 byte (UDP header) ditambah 9 byte (payload). Itu 37 byte. Dengan asumsi mobil saya aktif tidak lebih dari 2 jam per hari, saya dapat melakukan pembaruan setiap 10 detik dan hanya mengkonsumsi 806kb sebulan (31 hari). Itu memberi saya 218kb untuk waktu mengemudi saya sendiri, yaitu pencuri mobil. Yang memberi saya 16,76 jam pemantauan gps di luar waktu mengemudi saya, dengan satu pembaruan setiap 10 detik.

Sekarang, paket UDP ini harus pergi ke suatu tempat. Saya menggunakan server Ubuntu yang dihosting di cloud CloudAtCost, yang saya beli seharga $ 8 dengan diskon 80%, dan yang melayani saya tujuan lain, sehingga tidak masuk ke dalam perhitungan biaya. Jika Anda tidak ingin membayar untuk server, Anda bisa mendapatkan instans Amazon AWS gratis selama 12 bulan, dan menginstal Ubuntu di dalamnya. Setelah Anda mengatur server Anda (lihat langkah berikutnya), dapatkan alamat IP statisnya, dan letakkan di sebelah definisi SERVER.

Langkah 3: Lebih Banyak Perangkat Lunak (Penerimaan Lokasi Gps di sisi server)

CloudAtCost dan Amazon hadir dengan image Ubuntu yang telah dikonfigurasi sebelumnya (CloudAtCost ada di Ubuntu 14.04). Jadi saya tidak akan melalui langkah-langkah untuk menginstal Ubuntu, karena Anda tidak perlu melakukannya. Jika Anda menggunakan CloudAtCost, Anda mungkin ingin memutakhirkan ke Ubuntu 16.04, itu dilakukan dengan

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Kemudian Anda perlu menginstal LAMP (lihat panduan ini: di sini), meskipun kami tidak akan menggunakan PHP.

Instal Python dengan

sudo apt-get install python-minimal pip

Kemudian tambahkan beberapa modul:

pip install --permintaan urllib3 pengguna

Kami perlu mengatur /var/www yang dapat ditulis oleh Anda, jadi mari kita lakukan:

sudo adduser YOUR_USER www-datasudo chown -R www-data:www-data /var/www

sudo chmod -R g+rwX /var/www

Sekarang, kita memerlukan "server" untuk i) menerima paket UDP, ii) membangun trek, iii) mengirim pemberitahuan ke ponsel kita, dan "server" untuk melayani trek gps yang dibuat (ini akan menjadi apache).

Untuk server pertama, salin kode python terlampir. Anda perlu mengkonfigurasi hal-hal berikut:

iftttuser="PENGGUNA IFTTT ANDA"

iftttpass="PASSWORD IFTTT ANDA"

iftttappletid="APPLET PEMBERITAHUAN IFTTT ANDA"

iftttkey="KUNCI IFTTT ANDA"

iftttevent="ACARA IFTTT ANDA"

Seperti yang mungkin sudah Anda duga, kami menggunakan IFTTT untuk mengirimkan notifikasi waktu nyata ke ponsel kami. Ikuti panduan ini: di sini tetapi alih-alih memilih "kirim saya sms", pilih "kirim pemberitahuan aplikasi". Dapatkan id applet Anda (gulir di bagian bawah konfigurasi applet untuk melihatnya) dan gunakan di atas. Gunakan juga kunci yang dibuat dalam pengaturan di atas. Acara IFTTT adalah nama yang Anda berikan ke applet Anda, saya memberinya "carmoving".

Sekarang, tidak ada platform notifikasi real-time gratis, AFAIK. Jika Anda mengetahui salah satunya, beri tahu saya. IFTTT mengalami penundaan. Penundaan ini dapat diminimalkan hingga beberapa detik jika Anda menggunakan pemicu email. Sayangnya, ini tidak dapat diandalkan. Webhook yang baru saja dibuat memiliki penundaan 15 menit. Tapi kita tidak mau menunggu 15 menit untuk mengetahui bahwa mobil kita dicuri, bukan? Itu adalah kata sandi yang meminta Anda untuk mengatur semua pengaturan di atas. Jika Anda menggulir kode python, Anda melihat ada beberapa baris, yaitu 45-53, untuk mengotomatiskan fungsi "periksa sekarang" dari IFTTT, yang memaksa pemeriksaan pemicu secara tiba-tiba, dan memicu pemberitahuan dalam waktu kurang dari 1 detik! Terima kasih kembali:)

Setelah Anda mengatur kode python Anda di suatu tempat, jalankan saja. Jika Anda pengguna pro, mulai saat server boot. Lihat banyak panduan online gratis tentang cara melakukannya, misalnya yang ini.

Langkah 4: Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)

Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)
Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)
Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)
Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)
Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)
Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)
Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)
Bahkan Lebih Banyak Perangkat Lunak (Aplikasi Seluler)

Kami membutuhkan cara cepat dan sederhana untuk hanya memvisualisasikan trek gps yang server pada langkah sebelumnya tetap up to date. Mungkin, itu harus bekerja pada semua jenis smartphone.

Mari kita gunakan rangkaian aplikasi seluler lintas platform, seperti Ionic/Cordova. Saya menggunakan Ionic v1, jangan bingung dengan Ionic Native, atau Ionic v2, itu hal yang berbeda.

Ikuti langkah-langkah yang sangat sederhana ini untuk memulai proyek pertama Anda di Ionic: di sini.

Kemudian, Anda perlu memulai proyek baru berdasarkan google maps SDK, seperti ini:

ionic start myapp maps

Masuk ke folder "resources" dan salin gambar mobil besar di sini sebagai "icon.png". Unggah ikon kecil sebagai "car2.png" dan "start.png" di suatu tempat di server Anda, seperti https://yourserver/car2.png. Anda akan membutuhkan ini sebagai penanda di aplikasi Anda.

Gunakan file index.html terlampir (ganti nama index.html.txt menjadi index.html), directives.js, dan file controllers.js, dan masukkan ke www (index.html), www/js (semua js).

tambahkan platform Anda seperti ini:

ionik tambahkan platform android

membangun seperti ini:

membangun android ionik

kemudian ionic akan memberi tahu Anda di mana ia membangun.apk Anda yang dapat Anda instal di ponsel Anda.

Untuk membangun untuk iOS, Anda memerlukan Mac, dan Xcode. ionic kemudian dapat menyimpan proyek Xcode, yang dapat Anda buka di Xcode dan dibuat untuk ponsel Anda. Jika Anda tidak memiliki akun pengembang iOS, Anda harus melampirkan ponsel Anda ke Xcode dan menyiapkan ponsel Anda untuk pengembangan agar dapat menginstal aplikasi di sana. Ini di luar cakupan instruksi ini.

Di berbagai file js, Anda harus menemukan baris yang sesuai dengan "car2.png" dan "start.png" dan memodifikasinya dengan jalur gambar Anda. Sama untuk "plan.json".

Itu dia!!

Langkah 5: Pekerjaan Masa Depan

1) Saya telah memasukkan semuanya ke dalam kotak kardus yang dapat saya sembunyikan di dekat outlet usb. Hal terbaik yang harus dilakukan adalah memasang casing yang lebih baik di bawah kap mobil, dengan konverter 12v->5v.

2) Dengan sensor bluetooth, Anda sebenarnya bisa "merasakan" jika Anda berada di dalam mobil, sehingga sistem gps tidak menyala.

3) Cukup bayar paket data sim dan atur DETIK ke 1 untuk menikmati pelacakan waktu nyata:)

Semoga Anda menikmati instruksi pertama saya ini!

Direkomendasikan: