- Bahan yang Diperlukan
- Perisai Arduino LoRa
- Membuat PCB untuk LoRa Shield
- Pemasangan PCB
- Menyambungkan modul GPS ke LoRa Transmitter
- Pengaturcaraan Arduino LoRa sebagai Pemancar GPS
- Pengaturcaraan Arduino LoRa sebagai penerima GPS
- Arduino LoRa GPS Tracker Berfungsi
Mengetahui keberadaan objek / orang tertentu selalu menenangkan. Hari ini, GPS digunakan secara meluas dalam aplikasi pengurusan aset seperti Penjejakan Kenderaan, Penjejakan Armada, pemantauan Aset, Penjejakan Orang, Penjejak Haiwan dan lain-lain. Untuk mana-mana peranti penjejak, pertimbangan reka bentuk utama adalah mengenai jangkaan bateri dan jangkauan pemantauannya. Mengingat kedua-duanya, LoRa nampaknya merupakan pilihan yang sempurna kerana ia mempunyai penggunaan kuasa yang sangat rendah dan dapat beroperasi pada jarak jauh. Jadi, dalam tutorial ini kita akan membina sistem penjejakan GPS menggunakan LoRa, sistem ini akan terdiri daripada Pemancar yang akan membaca maklumat lokasi dari modul GPS NEO-6Mdan menghantarnya tanpa wayar melalui Lora. Bahagian penerima akan menerima maklumat dan memaparkannya pada paparan LCD 16x2. Sekiranya anda baru mengenal LoRa, pelajari tentang LoRa dan LoRaWAN Technology dan bagaimana ia dapat dihubungkan dengan Arduino sebelum melanjutkan.
Untuk memastikan perkara menjadi sederhana dan menjimatkan kos untuk projek ini, kami tidak akan menggunakan gateway LoRa. Sebaliknya akan melakukan komunikasi peer to peer antara pemancar dan penerima. Walau bagaimanapun, jika anda mahukan rangkaian global, anda boleh mengganti penerima dengan LoRa Gateway. Oleh kerana saya berasal dari India, kami akan menggunakan modul LoRa 433MHz yang merupakan jalur ISM yang sah di sini, oleh itu anda mungkin harus memilih modul berdasarkan negara anda. Oleh itu, mari kita mulakan…
Bahan yang Diperlukan
- Arduino Lora Shield - 2Nos (reka bentuk PCB tersedia untuk dimuat turun)
- Arduino Uno - 2Nos
- Modul LoRa SX1278 433MHz - 2
- Antena Lora 433MHz
- Modul GPS NEO-6M
- Modul Paparan LCD
- Menyambung wayar
Perisai Arduino LoRa
Untuk mempermudahkan pembinaan dengan LoRa, kami telah merancang LoRa Arduino Shield untuk Projek ini. Perisai ini terdiri daripada SX1278 433MHz dengan pengatur 3.3V yang dirancang menggunakan pengatur Pemboleh ubah LM317. The Shield secara langsung akan duduk di atas Arduino memberikannya kemampuan LoRa. LoRa Shield ini akan berguna apabila anda perlu menggunakan node penginderaan LoRa atau untuk membuat rangkaian mesh LoRa. Gambarajah litar lengkap untuk LoRa Arduino Shield diberikan di bawah
Shield terdiri dari jack 12V yang apabila dikuasakan akan digunakan untuk mengatur 3.3V untuk modul LoRa menggunakan pengatur LM317. Ia juga akan digunakan untuk mengaktifkan Arduino UNO melalui pin Vin dan 5V yang diatur dari Arduino digunakan untuk memberi kuasa pada LCD pada pelindung. Voltan keluaran LM317 ditetapkan menjadi 3.3V masing-masing menggunakan perintang R1 dan R2, nilai perintang ini dapat dikira menggunakan Kalkulator LM317.
Oleh kerana modul LoRa menggunakan kuasa yang sangat rendah, ia juga dapat digerakkan secara langsung dari pin Arduino 3.3V, tetapi kami telah menggunakan reka bentuk pengatur luaran kerana LM317 lebih dipercayai daripada pengatur voltan on-board. Perisai juga memiliki potensiometer yang dapat digunakan untuk menyesuaikan kecerahan LCD. Sambungan modul LoRa dengan Arduino serupa dengan yang kami lakukan dalam tutorial Interfacing Arduino kami dengan Lora sebelumnya.
Membuat PCB untuk LoRa Shield
Sekarang litar kami sudah siap, kami dapat terus merancang PCB kami. Saya membuka perisian reka bentuk PCB dan mula membentuk trek saya. Setelah reka bentuk PCB selesai, papan saya kelihatan seperti ini di bawah
Anda juga boleh memuat turun fail reka bentuk dalam format GERBER dan membuatnya untuk mendapatkan papan anda. Pautan fail Gerber diberikan di bawah
Muat turun Fail Gerber untuk Arduino LoRa Shield
Sekarang, bahawa Reka Bentuk kami sudah siap, sudah tiba masanya mereka membuatnya. Untuk menyelesaikan PCB agak mudah, ikuti langkah-langkah di bawah
Langkah 1: Masuk ke www.pcbgogo.com, daftar jika ini pertama kali anda. Kemudian, pada tab Prototaip PCB masukkan dimensi PCB anda, jumlah lapisan dan jumlah PCB yang anda perlukan. Dengan andaian PCB adalah 80cm Ă— 80cm, anda boleh menetapkan dimensi seperti gambar di bawah.
Langkah 2: Teruskan dengan mengklik pada butang Quote Now . Anda akan dibawa ke halaman di mana untuk menetapkan beberapa parameter tambahan jika diperlukan seperti bahan jarak trek yang digunakan dll. Tetapi kebanyakan nilai lalai akan berfungsi dengan baik. Satu-satunya perkara yang harus kita pertimbangkan di sini adalah harga dan masa. Seperti yang anda lihat Masa Membangun hanya 2-3 hari dan harganya hanya $ 5 untuk PSB kami. Anda kemudian boleh memilih kaedah penghantaran pilihan berdasarkan keperluan anda.
Langkah 3: Langkah terakhir adalah memuat naik fail Gerber dan meneruskan pembayaran. Untuk memastikan prosesnya lancar PCBGOGO mengesahkan sama ada fail Gerber anda sah sebelum meneruskan pembayaran. Dengan cara ini anda dapat memastikan bahawa PCB anda mesra fabrikasi dan akan menghubungi anda sebagai komited.
Pemasangan PCB
Setelah papan pesanan dipesan, saya sampai beberapa hari walaupun kurier dalam kotak kemas yang berlabel kemas dan seperti biasa, kualiti PCB sangat mengagumkan.
Saya menghidupkan batang pemateri saya dan mula memasang Papan. Oleh kerana Jejak Kaki, pad, vias dan layar sutera sesuai dengan bentuk dan ukuran yang betul, saya tidak mempunyai masalah untuk memasang papan. Setelah pematerian selesai, papan kelihatan seperti di bawah ini, kerana anda dapat melihatnya sesuai dengan papan Arduino Uno saya.
Sejak projek kami mempunyai pemancar Arduino Lora dan Arduino Lora penerima kami memerlukan dua perisai satu untuk penerima dan satu lagi untuk transmitter. Oleh itu, saya meneruskan pematerian PCB lain, PCB dengan modul LoRa dan LCD ditunjukkan di bawah.
Seperti yang anda lihat hanya penerima LoRa yang dihindar (kiri) yang mempunyai LCD yang menghubungkannya, bahagian pemancar hanya terdiri daripada modul LoRa. Kami akan menghubungkan modul GPS ke bahagian pemancar dengan lebih lanjut seperti yang dibincangkan di bawah.
Menyambungkan modul GPS ke LoRa Transmitter
Modul GPS yang digunakan di sini adalah modul GPS NEO-6M, modul ini dapat beroperasi pada daya yang sangat rendah dengan faktor bentuk kecil menjadikannya sesuai untuk mengesan aplikasi. Walau bagaimanapun, terdapat banyak modul GPS lain yang telah kami gunakan sebelumnya dalam berbagai jenis aplikasi pengesanan kenderaan dan pengesanan lokasi.
Modul beroperasi dalam 5V dan berkomunikasi menggunakan komunikasi Serial pada kadar 9600 baud. Oleh itu, kami menghidupkan modul untuk + 5V pin Arduino dan menghubungkan pin Rx dan Tx ke pin digital D4 dan D3 masing-masing seperti yang ditunjukkan di bawah
Pin D4 dan D3 akan dikonfigurasikan sebagai pin siri perisian. Setelah diaktifkan modul GPS NEO-6M akan mencari sambungan satelit dan secara automatik akan mengeluarkan semua maklumat secara bersiri. Data keluaran ini akan dalam format ayat NMEA yang bermaksud National Marine Electronics Association dan merupakan format standard untuk semua peranti GPS. Untuk mengetahui lebih lanjut mengenai penggunaan GPS dengan Arduino, ikuti pautan. Data ini akan menjadi besar dan selalunya kita perlu membuat frasa secara manual untuk mendapatkan hasil yang diinginkan. Beruntung bagi kami terdapat sebuah perpustakaan bernama TinyGPS ++ yang melakukan semua tugas berat bagi kami. Anda juga harus menambahkan perpustakaan LoRa jika anda belum melakukannya. Oleh itu, mari muat turun kedua-dua perpustakaan dari pautan di bawah
Muat turun TinyGPS ++ Arduino Library
Muat turun Perpustakaan Arduino LoRa
Pautan akan memuat turun fail ZIP yang kemudian dapat ditambahkan ke Arduino IDE dengan mengikuti perintah Sketch -> Include Library -> Add.ZIP library. Setelah anda siap dengan perkakasan dan perpustakaan, kami dapat meneruskan Pengaturcaraan papan Arduino kami.
Pengaturcaraan Arduino LoRa sebagai Pemancar GPS
Seperti yang kita ketahui, LoRa adalah alat pemancar, yang bermaksud ia dapat menghantar dan menerima maklumat. Walau bagaimanapun, dalam projek pelacak GPS ini, kami akan menggunakan satu modul sebagai pemancar untuk membaca maklumat koordinat dari GPS dan menghantarnya, sementara modul lain sebagai penerima yang akan menerima nilai koordinat GPS dan mencetaknya pada LCD. The program bagi kedua-dua Transmitter dan modul Penerima boleh didapati di bahagian bawah halaman ini. Pastikan anda telah memasang perpustakaan untuk modul GPS dan modul LoRa sebelum meneruskan kod. Di bahagian ini kita akan melihat kod pemancar.
Seperti biasa kita memulakan program dengan menambahkan perpustakaan dan pin yang diperlukan. Di sini perpustakaan SPI dan LoRa digunakan untuk komunikasi LoRa dan perpustakaan TinyGPS ++ dan SoftwareSerial digunakan untuk komunikasi GPS. Modul GPS dalam perkakasan saya disambungkan ke pin 3 dan 4 dan oleh itu kami juga menentukannya seperti berikut
#sertakan
Di dalam fungsi penyediaan, kami memulai monitor bersiri dan juga menginisialisasi siri perisian sebagai "gpsSerial " untuk komunikasi dengan modul GPS NEO-6M kami. Perhatikan juga bahawa saya telah menggunakan 433E6 (433 MHz) sebagai frekuensi operasi LoRa saya, anda mungkin perlu mengubahnya berdasarkan jenis modul yang anda gunakan.
persediaan tidak sah () { Serial.begin (9600); gpsSerial.begin (9600); sementara (! bersiri); Serial.println ("LoRa Sender"); jika (! LoRa.begin (433E6)) { Serial.println ("Memulakan LoRa gagal!"); sementara (1); } LoRa.setTxPower (20); }
Di dalam fungsi gelung, kami memeriksa apakah modul GPS mengeluarkan beberapa data, jika ya maka kami membaca semua data dan frasa menggunakan fungsi gps.encode. Kemudian kami memeriksa sama ada kami telah menerima data lokasi yang sah menggunakan fungsi gps.location.isValid () .
manakala (gpsSerial.available ()> 0) if (gps.encode (gpsSerial.read ())) if (gps.location.isValid ()) {
Sekiranya kita telah menerima lokasi yang sah maka kita dapat mula mengirimkan nilai garis lintang dan garis bujur. Fungsi gps.location.lat () memberikan koordinat garis lintang dan fungsi gps.location.lng () memberikan koordinat bujur. Oleh kerana kita akan mencetaknya pada LCD 16 * 2 kita harus menyebutkan kapan harus beralih ke baris kedua, oleh itu kita menggunakan kata kunci "c" untuk menghubungkan penerima untuk mencetak maklumat berikut pada baris 2.
LoRa.beginPacket (); LoRa.print ("Lat:"); LoRa.print (gps.location.lat (), 6); LoRa.print ("c"); LoRa.print ("Panjang:"); LoRa.print (gps.location.lng (), 6); Serial.println ("Dihantar melalui LoRa"); LoRa.endPacket ();
Pengaturcaraan Arduino LoRa sebagai penerima GPS
Kod pemancar sudah menghantar nilai koordinat garis lintang dan garis bujur, kini penerima harus membaca nilai-nilai ini dan mencetak pada LCD. Begitu juga di sini kita menambah perpustakaan untuk modul LoRa dan paparan LCD dan menentukan pin mana yang disambungkan LCD dan juga menginisialisasi modul LoRa seperti sebelumnya.
#sertakan
Di dalam fungsi gelung kami mendengarkan paket data membentuk modul LoRa pemancar dan ukurannya menggunakan fungsi LoRa.parsePacket () dan menyimpannya dalam pemboleh ubah " packetSize ". Sekiranya paket diterima, kita terus membacanya sebagai watak dan mencetaknya di LCD. Program ini juga memeriksa apakah modul LoRa mengirimkan kata kunci "c", jika ya maka mencetak maklumat yang tersisa pada baris kedua.
if (packetSize) {// Sekiranya paket diterima Serial.print ("Paket diterima '"); lcd.clear (); sementara (LoRa.sedia ()) { char masuk = (char) LoRa.read (); jika (masuk == 'c') { lcd.setCursor (0, 1); } lain { lcd.print (masuk); } }
Arduino LoRa GPS Tracker Berfungsi
Setelah perkakasan dan program siap, kami boleh memuat naik kedua-dua kod dalam modul Arduino masing-masing dan mengaktifkannya menggunakan penyesuai 12V atau kabel USB. Apabila Pemancar dihidupkan, anda dapat melihat LED biru pada modul GPS berkedip, ini menunjukkan bahawa modul mencari sambungan satelit untuk mendapatkan koordinat. Sementara itu, modul Penerima akan menyala dan memaparkan mesej selamat datang di skrin LCD. Setelah pemancar menghantar maklumat, modul penerima akan memaparkannya pada LCD seperti yang ditunjukkan di bawah
Sekarang anda boleh bergerak dengan modul GPS pemancar dan anda akan melihat penerima mengemas kini lokasinya. Untuk mengetahui di mana sebenarnya modul pemancar anda boleh membaca nilai garis lintang dan garis bujur yang dipaparkan di LCD dan memasukkannya ke dalam peta Google untuk mendapatkan lokasi di peta seperti gambar di bawah.
Kerja yang lengkap juga terdapat dalam video yang diberikan di bahagian bawah halaman ini. Harap anda memahami tutorial dan menikmati membina sesuatu yang berguna dengannya. Sekiranya anda mempunyai keraguan, anda boleh meninggalkannya di bahagian komen di bawah atau menggunakan forum kami untuk pertanyaan teknikal lain.