Daftar Isi:

Pelacak GPS Realtime Buatan Sendiri (SIM800L, Ublox NEO-6M, Arduino): 8 Langkah
Pelacak GPS Realtime Buatan Sendiri (SIM800L, Ublox NEO-6M, Arduino): 8 Langkah

Video: Pelacak GPS Realtime Buatan Sendiri (SIM800L, Ublox NEO-6M, Arduino): 8 Langkah

Video: Pelacak GPS Realtime Buatan Sendiri (SIM800L, Ublox NEO-6M, Arduino): 8 Langkah
Video: Membuat GPS Tracker Dengan Arduino Uno 2024, Juli
Anonim
Pelacak GPS Realtime Buatan Sendiri (SIM800L, Ublox NEO-6M, Arduino)
Pelacak GPS Realtime Buatan Sendiri (SIM800L, Ublox NEO-6M, Arduino)

Jadi Anda punya modul GSM tergeletak di sekitar seperti saya? Juga pelacak GPS?

Kami berpikir sama!

Dalam instruksi ini, saya akan mencoba memandu Anda bagaimana mencapai tujuan Anda dari sudut pandang pemula.

Karena saya tidak memiliki pengetahuan teknik elektro sebelumnya (sejujurnya, proyek ini tidak membutuhkan banyak, tapi nah), dan tidak tahu bagaimana membuat perangkat yang memompa data secara real-time ke server web, saya mengalami banyak masalah. Namun, saya akhirnya berhasil menyelesaikan semuanya.

Jadi, dalam tutorial ini, saya ingin menekankan kesalahan yang bisa dilakukan oleh seorang pemula, dan membangun proyek yang sesuai.

Ingat: Selalu berhati-hati saat Anda bekerja dengan listrik!

CATATAN: Saya tidak profesional. Kode mungkin tidak cukup canggih untuk semua kebutuhan Anda. Proyek ini dimaksudkan untuk menjadi "proyek hobi", tapi! itu berhasil untuk saya. Dan jika itu berhasil untuk saya, itu juga akan berhasil untuk Anda!

Langkah 1: Prasyarat

Prasyarat
Prasyarat
Prasyarat
Prasyarat
Prasyarat
Prasyarat

MODUL GSM - SIM800L

  • Cukup kecil, mudah digunakan
  • Mampu menggunakan internet seluler (GPRS)
  • Murah

MODUL GPS - Ublox NEO6M

  • Juga kecil
  • Menangani tugasnya dengan sangat baik

Mikrokontroler - bisa apa saja - Anda bisa menggunakan Arduino Uno atau Nano yang terkenal untuk mengosongkan ruang

Baterai - Saya menggunakan sel 18650 sebagai sumber daya utama, dan satu-satunya (Nominal 3.7V)

Tempat baterai - mengapa? - karena menyolder baterai 18650 cukup berbahaya karena panas.

DC-DC Boost Converter Step Up Module 5V - Harus ada, karena Arduino yang saya gunakan membutuhkan 5V

Alat, hal-hal dasar yang dapat berguna:

Kabel, besi solder, papan tempat memotong roti untuk pengujian

Langkah 2: Konsep Utama

Konsep Utama
Konsep Utama

Konsep utama dari sistem ini adalah sebagai berikut:

Terdiri dari 3 bagian:

  1. Perangkat - yang memiliki Koordinat GPS yang tepat dan dapat terhubung ke server dari jarak jauh dan mengirim data ke sana
  2. Server web - yang dapat menerima data masuk - menyimpannya - dan melayani klien lain
  3. Platform - tempat kita dapat melihat koordinat - Idealnya sekarang menjadi aplikasi seluler, atau situs web

Langkah 3: Modul SIM800L

Modul SIM800L
Modul SIM800L
Modul SIM800L
Modul SIM800L

Saya mengalami masa-masa sulit dengan modul.

Saya ingin memulai dengan beberapa karakteristik dan referensi.

Menurut lembar data:

  • Ini beroperasi antara 3.4V - 4.4V
  • Itu dapat mengirim SMS, melakukan panggilan suara ke telepon lain, dan bahkan terhubung ke Internet!
  • Kami dapat berkomunikasi dengannya melalui AT-commands!
  • Itu dapat menggunakan hingga 2A pada waktu puncak! Catatan: Anda mungkin tidak akan dapat mengukurnya dengan multimeter - karena tingkat pengambilan sampelnya yang rendah

Pengalaman saya adalah bahwa SIM800L di bawah 3.8V tidak benar-benar berfungsi.

Untuk informasi lebih lanjut kunjungi: datasheet

Jadi tugas Anda adalah menyediakan setidaknya 3,8V ke modul (idealnya 4V), catu daya yang menghasilkan setidaknya 2A.

Sebelum menggunakan modul di perangkat terakhir, saya sarankan Anda menjalin komunikasi dengan SIM800L dan komputer Anda untuk memastikan perangkat Anda berfungsi dengan baik.

Pertama-tama, pasang SIM Card seperti pada gambar di atas.

Untuk menghubungkannya dengan PC Anda, Anda dapat menggunakan konverter USB ke TTL atau Arduino.

Sekarang, saya pergi dengan Arduino.

Hubungkan SIM800L VCC dan GND ke terminal sumber daya Anda.

Hubungkan TX ke pin digital ke-10 Arduino, RX ke pin digital ke-11 arduino.

Unduh kodenya, saya tautkan di langkah ini.

Dengan kode tersebut, Anda dapat mengirim perintah, dan mendapatkannya kembali, di Serial Monitor Anda.

Beberapa perintah sederhana:

AT Mengembalikan OK, jika koneksi OK.

ATD+123456789; Hubungi nomor telepon yang diberikan. Catatan: Jangan lupa untuk mengakhirinya dengan titik koma.

AT+CPIN? Mengembalikan status Kartu SIM (terkunci atau tidak)

Jika Anda ingin mengirim SMS, Anda harus mengakhiri input Anda dengan karakter khusus, itu dapat dilakukan dengan simbol '$'.

Untuk perintah menarik lebih lanjut saya sarankan Anda membaca ini.

Ada berbagai perintah, kenali mereka, mereka sangat berguna.

Ada LED status merah yang memberi tahu Anda pengoperasian SIM800L.

64 MS ON - 800MS OFF - SIM800L tidak terdaftar ke jaringan.

64 MS ON - 3000MS OFF - SIM800L terdaftar ke jaringan.

64 MS AKTIF - 300MS MATI - SIM800l dalam mode GPRS

Jika SIM800L terus menyala ulang setelah sekitar 8-10 kedipan, mungkin karena catu daya yang kurang efisien.

Jika Anda tidak mendapatkan OK setelah AT, periksa kabel! Jika Anda memiliki multimeter, periksa kontinuitas kabel.

Periksa sambungan kabel dan sambungan solder! Modul hanya akan bekerja saat berkedip.

Langkah 4: Ublox Neo 6m

Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m
Ublox Neo 6m

Beberapa karakteristik

  • Tegangan maksimum: 3.6V - Saya menyalakannya dengan pin 3.3V Arduino
  • Penarikan arus maksimum adalah 67mA - jadi Anda dapat menyalakannya dari arduino
  • Kisaran suhu:: -40-85 Celcius (saya kira itu akan cocok untuk Anda)

Unit yang saya pesan datang dengan antena yang terlihat pada gambar, saya hanya memasangnya di slot yang sesuai.

Perangkat ketika memiliki sinyal, berkedip dengan LED biru.

Pertama, periksa cara kerja GPS di sini, jika Anda tidak tahu.

Ketika perangkat menyala, dan menemukan 3 satelit, ia mengirimkan banyak nilai yang dipisahkan koma ke Arduino seperti di atas.

Untuk membantu pekerjaan kami, kami dapat menggunakan beberapa perpustakaan eksternal untuk mengurai data ini agar lebih mudah dibaca manusia.

Anda dapat menggunakan perpustakaan TinyGps atau perpustakaan NeoGPS. Saya menggunakan yang ke-2 karena lebih ringan.

Untuk pengujian, Anda harus menghubungkan pin daya ke arduino 3.3V dan GND.

Unduh kode ini, dan gunakan dengan GPS Anda. RX Digital pin 10, TX Digital pin 11

Catatan: Jangan lupa untuk menggunakan modul di luar ruangan, sebaiknya saat tidak ada awan.

Setelah setengah menit, perangkat akan berkedip dan menampilkan koordinat GPS Anda!:)

Setelah Anda mengetahui bahwa modul SIM800L dan GPS Anda berfungsi dengan baik, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 5: Sirkuit

sirkuit
sirkuit

Rangkaiannya seperti pada gambar.

Jadi, baterai 3.4V - 4.2V 18650 adalah sumber daya utama. Sim800L mendapatkan energi langsung darinya. Ada kapasitor di antara mereka secara paralel untuk meningkatkan stabilitas rangkaian.

Ketika Anda memilih kapasitor, Anda harus memilih kapasitor ESR rendah.

Satu konverter step-up 5V meningkatkan tegangan baterai menjadi 5V (ir diperlukan karena Arduino bekerja dengan 5V).

Rel daya 5V terhubung ke Nano di sini. Sim800L dan Neo6m terhubung dengan Nano seperti pada gambar. (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 terhubung ke RST, sehingga kami dapat mem-boot ulang sistem secara terprogram (kecuali SIM800L). CATATAN: Metode reboot ini mungkin bukan praktik terbaik)

Dan terakhir, dua LED terhubung ke NANO, sehingga kami dapat memberi tahu pengguna, jika terjadi kesalahan.

Langkah 6: Kode

Kode dilampirkan ke Instructables atau lihat di github.

Anda dapat memodifikasinya agar berfungsi dengan baik untuk kebutuhan Anda, atau Anda dapat menggunakan kode orang lain jika Anda mau.

tungguSampaiRespon(); fungsi pembantu diambil dari kodenya. Periksa karyanya, dan kode juga!

Secara singkat, dalam fungsi setup, kita perlu mengaktifkan koneksi GPRS modul SIM800L kita. Kita tahu jika berhasil jika LED berkedip cepat. (setupGPRSConnection())

Dalam fungsi loop - setiap 15 detik fungsi sendData() dipanggil - yang memiliki permintaan

Saya menggunakan string kueri untuk mendorong data ke server web dalam format ini:

alamat ip/file.php?key=value&key=value mis.

Jika terjadi kesalahan, LED yang sesuai akan menyala. (SIM, GPS)

Langkah 7: Server web

Server web
Server web

Untuk penggunaan kami, server web ringan sederhana sudah cukup.

Ada beberapa opsi yang dapat Anda pilih:

  1. Anda dapat menggunakan server jarak jauh perusahaan, yang mungkin perlu Anda bayar secara berkala.
  2. Anda bisa menggunakan komputer Anda sendiri. Saya hanya menyarankannya untuk pengujian, tidak terlalu efisien untuk menjalankannya 24/7, karena pemborosan energi, masalah keamanan.
  3. Anda bisa menggunakan komputer kecil, seperti Raspberry PI. Ringan, murah, tidak memakan banyak daya.

Saya mencoba opsi ke-2, dan ke-3, mereka bekerja dengan baik. Yah, tujuan utamanya bukanlah server dari instruksi ini, tetapi saya memberi Anda beberapa saran.

Jika Anda menggunakan PC, Anda mungkin menggunakan Windows. Jika saya jadi Anda, saya akan menginstal server Apache atau XAMPP ke dalamnya.

XAMPP sudah memiliki PHP di dalamnya, selain itu juga dilengkapi dengan HTML, Perl, dan Database Managing System. Dengan PHP, Anda dapat membuat server dinamis. Jika Anda ingin menggunakan server lokal yang baru saja Anda buat dari mana saja di dunia, Anda perlu menetapkan IP statis ke PC Anda dan melakukan beberapa portforwarding. Tutorial bermanfaat untuk IP statis:

Dan seluruh hal portforwarding:

Jika Anda memiliki Raspberry, ini adalah praktik yang baik untuk menggunakannya. Anda dapat membiasakan diri dengan perintah Linux, dan menjalankan server Anda sendiri 24/7.

OSnya adalah Raspbian Jessie dengan pengaturan tanpa kepala (tanpa keyboard, monitor) - Saya mengendalikannya dengan komputer saya dengan koneksi SSH.

Saya menggunakan Putty untuk masuk ke Raspberry saya. Jangan lupa untuk mengubah kata sandi akun Anda, sehingga orang lain tidak bisa masuk ke Anda Pi. Defaultnya adalah: pi, passw: raspberry.

Saya menginstal server web lighttpd dengan sqlite3. Tutorial bagus ditemukan di sini:

Saya menggunakan terutama PHP dalam kode server. Dengan PHP Anda dapat menerima data, membaca/menulis database - mengkodekan kueri ke dalam format json, dll. …Tutorial ini akan banyak membantu Anda, bagaimana mengelola database Anda dengan PHP.

Anda juga dapat melihat kode saya di github, di folder server_files.

Dan tentu saja, Anda harus mengaktifkan portforwarding ke Pi Anda di router Anda, jika Anda ingin mengaksesnya dari jarak jauh.

Langkah 8: Akhir/Pengalaman

Kandang belum dibuat.

Pengalaman saya adalah, sistem bekerja tidak terlalu buruk. Tetapi ada peningkatan stabilitas yang menunggu.

Jika pelacak tidak bekerja dengan kode yang saya lampirkan, jangan khawatir. Coba pastikan SIM800L dan NEO 6M berfungsi sebagaimana mestinya. Anda dapat memodifikasi kode saya dengan bebas, atau mencari yang lebih baik. Saya hanya berharap, bahwa saya dapat menunjukkan kepada Anda sebuah contoh, bagaimana Anda dapat menyelesaikan proyek ini.

Saya menerima saran, koreksi dari komentar. Jangan ragu untuk bertanya.

Direkomendasikan: