Isi kandungan:

Lengkap Sistem Anti-kecurian GPS + GPRS Kenderaan Berasaskan Arduino: 5 Langkah (dengan Gambar)
Lengkap Sistem Anti-kecurian GPS + GPRS Kenderaan Berasaskan Arduino: 5 Langkah (dengan Gambar)

Video: Lengkap Sistem Anti-kecurian GPS + GPRS Kenderaan Berasaskan Arduino: 5 Langkah (dengan Gambar)

Video: Lengkap Sistem Anti-kecurian GPS + GPRS Kenderaan Berasaskan Arduino: 5 Langkah (dengan Gambar)
Video: Canggih banget! GPS yang bisa mematikan motor jarak jauh 2024, November
Anonim
Image
Image
Perkakasan
Perkakasan

Hai semua!

Saya ingin membina penyelesaian lengkap untuk peranti anti-kecurian kenderaan GPS, seperti:

semurah mungkin

selengkap mungkin

kerana ia-hanya-berfungsi-tidak-tidak-ada-lain-yang boleh dilakukan mungkin

Oleh itu, saya akhirnya membina penyelesaian berasaskan Arduino yang menelan belanja sebanyak 25 $, lebih kurang.

Seperti yang anda lihat dari video, ia berfungsi! Anda memulakan kereta, anda mendapat pemberitahuan di telefon bimbit anda bahawa kereta bergerak, kemudian anda membuka aplikasi mudah alih dan anda dapat melihat kereta bergerak dalam masa nyata (dengan kelewatan kemas kini 10 saat).

Tutorial ini akan memandu anda melalui semua langkah, dengan mengingat terdapat beberapa komponen dalam penyelesaiannya:

1) perkakasan (berasaskan Arduino)

2) perisian (program Arduino)

3) lebih banyak perisian (penerimaan pelayan dari lokasi gps)

4) lebih banyak perisian (aplikasi mudah alih)

Mari mulakan..

Langkah 1: Perkakasan

Perkakasan
Perkakasan

Senarai membeli-belah:

1) Arduino Uno R3 atau klon. Saya menggunakan klon "DCcEle DCcduino uno", yang nampaknya sudah tidak tersedia lagi. Inilah yang setara: pada Aliexpress - $ 3,75

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

3) Unit GPRS / GSM untuk Arduino (SIM800L V2.0 5V MODUL GSM GPRS Tanpa Wayar Modul Quad-Band W / Antena Kabel). Saya menggunakan ini: pada Aliexpress - $ 6,71

4) Kabel dupont ganti seperti ini: pada Aliexpress - $ 0,89

5) kad sim data IoT (atau kad sim lain dengan sambungan data). Saya menggunakan ini: dari Hologram.io. Saya mendapat pembangun percuma, hanya penghantaran berbayar - $ 7,50

Jumlah: 25.51 $, tetapi saya sudah mempunyai kabel sehingga kurang dari 25 $!

Kedua-dua gambar menunjukkan komponen sebelum pemasangan, dan produk akhir. Sambungan yang harus anda buat adalah:

Arduino - SIM800L

10 - RESET

GND - GND (2 daripadanya)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

Arduino - GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Sambungkan semua kabel dan antena dan pastikan anda menghidupkan Arduino dari sumber yang mampu memberi anda puncak 2A. Usb komputer hampir tidak baik (saya menggunakan MacBook Pro), pengecas telefon "rawak" tidak akan mencukupi. Sebilangan besar kedai usb kereta juga kurang dari 1A. Sekiranya demikian, anda juga memerlukan bekalan kuasa 5v kereta 12v dengan sekurang-kurangnya 2A.

Masukkan kad sim. Sekiranya anda menggunakan kad sim Hologram.io, pastikan anda mendaftar di papan pemuka mereka dan aktifkan kad sim (memerlukan beberapa minit / jam).

Langkah 2: Perisian (Program Arduino)

Perisian (Program Arduino)
Perisian (Program Arduino)

Saya akan menganggap anda sudah biasa dengan pengaturcaraan Arduino. Jika tidak, mulakan dengan panduan ini: mengenai Instructables.

Anda hanya memerlukan satu perpustakaan luaran, saya terpaksa memasangnya secara manual. Pergi ke sini: TinyGPS, eksport perpustakaan, dan pasangkannya di folder Arduino tempatan anda.

Dari sana, kita akan "mencuri" beberapa kod dari contoh asas mereka, dan mengubahnya mengikut tujuan kita.

Kami kemudian akan "mencuri" dari panduan ini dan mengubah kodnya lagi untuk tujuan kami.

Hasilnya adalah program.ino yang dilampirkan.

Terdapat beberapa perkara yang anda boleh dan PERLU tweak:

"SECONDS" menentukan, dan "SERVER" menentukan.

Saya telah menetapkan SECONDS ke 10 dan inilah sebabnya: program pembangun Hologram.io memberikan anda 1mb data percuma setiap bulan. Maksudnya, kami ingin meminimumkan bait yang dihantar, tetapi kami juga perlu kerap mengemas kini kedudukan kami. Kami akan menggunakan perintah modem AT standard untuk mengirim paket UDP ke pelayan kami yang menerima mesej, dengan lat / lon, masing-masing menggunakan 4 bait, dan kecepatan menggunakan 1 bait. Jadi jumlah kemas kini gps adalah 20 bait (header IP) ditambah 8 bait (tajuk UDP) ditambah 9 bait (muatan). Itu 37 bait. Dengan andaian kereta saya aktif tidak lebih dari 2 jam sehari, saya dapat mengemas kini setiap 10 saat dan hanya menggunakan 806kb sebulan (31 hari). Itu memberi saya 218kb untuk masa memandu berbanding saya sendiri, iaitu pencuri kereta. Yang memberi saya 16.76 jam pemantauan gps di luar waktu memandu saya, dengan satu kemas kini setiap 10 saat.

Sekarang, paket UDP ini mesti pergi ke suatu tempat. Saya menggunakan pelayan Ubuntu yang dihoskan di awan CloudAtCost, yang saya beli dengan harga $ 8 dengan diskaun 80%, dan yang melayani saya tujuan lain, sehingga tidak masuk ke dalam pengiraan kos. Sekiranya anda tidak mahu membayar pelayan, anda boleh mendapatkan contoh Amazon AWS percuma selama 12 bulan, dan memasang Ubuntu di atasnya. Setelah anda menyediakan pelayan anda (lihat langkah seterusnya), dapatkan alamat IP statiknya, dan letakkan di sebelah definisi SERVER.

Langkah 3: Lebih Banyak Perisian (Penerimaan Lokasi Gps di sisi pelayan)

CloudAtCost dan Amazon hadir dengan gambar Ubuntu yang telah dikonfigurasi sebelumnya (CloudAtCost ada di Ubuntu 14.04). Jadi saya tidak akan melalui langkah-langkah untuk memasang Ubuntu, kerana anda tidak perlu melakukannya. Sekiranya anda menggunakan CloudAtCost, anda mungkin mahu menaik taraf ke Ubuntu 16.04, itu dilakukan dengan a

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

Maka anda perlu memasang LAMP (rujuk panduan ini: di sini), walaupun kami tidak akan menggunakan PHP.

Pasang Python dengan

sudo apt-get install python-minimal pip

Kemudian tambahkan beberapa modul:

memasang pip - permintaan urllib3 pengguna

Kami perlu menetapkan / var / www boleh ditulis oleh anda, jadi mari 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 "pelayan" untuk i) menerima paket UDP, ii) membina trek, iii) mengirim pemberitahuan ke telefon bimbit kita, dan "pelayan" untuk melayani trek gps yang dibuat (ini akan menjadi tepat).

Untuk pelayan pertama, salin kod python yang dilampirkan. Anda perlu mengkonfigurasi perkara berikut:

iftttuser = "PENGGUNA IFTTT ANDA"

iftttpass = "KATA LALUAN IFTTT ANDA"

iftttappletid = "APLET PEMBERITAHUAN IFTTT ANDA"

iftttkey = "KUNCI IFTTT ANDA"

iftttevent = "ACARA IFTTT ANDA"

Seperti yang anda duga, kami menggunakan IFTTT untuk melayan pemberitahuan masa nyata ke telefon bimbit kami. Ikuti panduan ini: di sini tetapi bukannya memilih "hantarkan sms kepada saya", pilih "kirim pemberitahuan aplikasi". Dapatkan id applet anda (tatal di bahagian bawah konfigurasi applet untuk melihatnya) dan gunakan di atas. Gunakan juga kekunci yang dibuat dalam tetapan di atas. Acara IFTTT adalah nama yang anda berikan pada applet anda, saya memberikannya "carmoving".

Kini, tidak ada platform pemberitahuan masa nyata secara percuma, AFAIK. Sekiranya anda tahu satu, beritahu saya. IFTTT mempunyai kelewatan. Kelewatan ini dapat dikurangkan menjadi beberapa saat jika anda menggunakan pencetus e-mel. Malangnya, ini tidak boleh dipercayai. Webhook yang baru dibuat mempunyai kelewatan 15 minit. Tetapi kita tidak mahu menunggu selama 15 minit untuk mengetahui bahawa kereta kita dicuri, bukan? Itulah kata laluan yang meminta anda mengatur semua tetapan di atas. Sekiranya anda menatal kod python, anda melihat terdapat beberapa baris, iaitu 45-53, untuk mengautomasikan fungsi "periksa sekarang" IFTTT, yang memaksa pemeriksaan pemicu secara tiba-tiba, dan mencetuskan pemberitahuan dalam masa kurang dari 1 saat! Sama-sama:)

Setelah anda menetapkan kod python anda di suatu tempat, jalankan sahaja. Sekiranya anda pengguna profesional, mulakannya dengan boot pelayan. Rujuk banyak panduan dalam talian mengenai cara melakukannya, contohnya.

Langkah 4: Lebih Banyak Perisian (Aplikasi Mudah Alih)

Lebih Banyak Perisian (Aplikasi Mudah Alih)
Lebih Banyak Perisian (Aplikasi Mudah Alih)
Lebih Banyak Perisian (Aplikasi Mudah Alih)
Lebih Banyak Perisian (Aplikasi Mudah Alih)
Lebih Banyak Perisian (Aplikasi Mudah Alih)
Lebih Banyak Perisian (Aplikasi Mudah Alih)
Lebih Banyak Perisian (Aplikasi Mudah Alih)
Lebih Banyak Perisian (Aplikasi Mudah Alih)

Kami memerlukan kaedah yang cepat dan mudah untuk memvisualisasikan trek gps yang terkini oleh pelayan pada langkah sebelumnya. Mungkin, ia mesti berfungsi pada pelbagai jenis telefon pintar.

Mari kita gunakan suite aplikasi mudah alih merentas platform, seperti Ionic / Cordova. Saya menggunakan Ionic v1, jangan bingung dengan Ionic Native, atau Ionic v2, itu perkara yang berbeza.

Ikuti langkah-langkah yang sangat mudah ini untuk memulakan projek pertama anda di Ionic: di sini.

Kemudian, anda perlu memulakan projek baru berdasarkan sdk peta google, seperti ini:

peta myapp memulakan ionik

Masuk ke folder "sumber" dan salin gambar kereta besar di sini sebagai "icon.png". Muat naik ikon kecil sebagai "car2.png" dan "start.png" di suatu tempat di pelayan anda, seperti https://yourserver/car2.png. Anda akan memerlukannya sebagai penanda dalam aplikasi anda.

Gunakan index.html yang dilampirkan (ganti nama index.html.txt ke index.html), directives.js, dan files Controller.js, dan masukkan ke dalam www (index.html), www / js (semua js).

tambahkan platform anda seperti ini:

ionik tambah plaftorm android

bina seperti ini:

membina android

maka ionik akan memberitahu anda di mana ia membina.apk yang boleh anda pasangkan pada telefon bimbit anda.

Untuk membina iOS, anda memerlukan Mac dan Xcode. ionik kemudian dapat menyimpan projek Xcode, yang boleh anda buka di Xcode dan bina untuk telefon anda. Sekiranya anda tidak mempunyai akaun pembangun iOS, anda perlu melampirkan telefon anda ke Xcode dan menyiapkan telefon anda untuk pembangunan agar dapat memasang aplikasi di sana. Ini adalah di luar skop yang boleh dipesan ini.

Dalam pelbagai fail js, anda perlu mencari garis yang sesuai dengan "car2.png" dan "start.png" dan mengubahnya dengan jalan gambar anda. Sama dengan "plan.json".

Itu sahaja !!

Langkah 5: Kerja Masa Depan

1) Saya telah memasukkan semuanya ke dalam kotak kadbod yang boleh saya sembunyikan di mana sahaja berhampiran outlet usb. Perkara terbaik yang perlu dilakukan ialah memasang sarung yang lebih baik di bawah penutup kereta, dengan penukar 12v-> 5v.

2) Dengan sensor bluetooth, anda sebenarnya dapat "merasakan" jika anda berada di dalam kereta, sehingga sistem gps tidak akan menyala.

3) Bayar pelan data sim dan tetapkan KEDUA hingga 1 untuk menikmati penjejakan masa nyata:)

Semoga anda menikmati pengajaran pertama saya!

Disyorkan: