Daftar Isi:

Proyek Arduino: Rentang Uji Modul LoRa RF1276 untuk Solusi Pelacakan GPS: 9 Langkah (dengan Gambar)
Proyek Arduino: Rentang Uji Modul LoRa RF1276 untuk Solusi Pelacakan GPS: 9 Langkah (dengan Gambar)

Video: Proyek Arduino: Rentang Uji Modul LoRa RF1276 untuk Solusi Pelacakan GPS: 9 Langkah (dengan Gambar)

Video: Proyek Arduino: Rentang Uji Modul LoRa RF1276 untuk Solusi Pelacakan GPS: 9 Langkah (dengan Gambar)
Video: LoRa SX1278/76 Учебное пособие по интерфейсу Arduino | Отправка данных датчиков по беспроводной сети с помощью LoRa 2024, Juli
Anonim
Proyek Arduino: Modul Rentang Uji LoRa RF1276 untuk Solusi Pelacakan GPS
Proyek Arduino: Modul Rentang Uji LoRa RF1276 untuk Solusi Pelacakan GPS

Koneksi: USB - Serial

Perlu: Peramban Chrome

Perlu: 1 X Arduino Mega

Perlu: 1 X GPS

Perlu: 1 X kartu SD

Butuh: 2 X LoRa Modem RF1276

Fungsi: Arduino Mengirim nilai GPS ke basis utama - Basis utama menyimpan data di Dataino Server Lora Modul: Jangkauan sangat jauh RF1276 dari APPCONWIRELESS LoRa adalah teknik modulasi spektrum baru, pribadi, dan spread-spektrum yang memungkinkan pengiriman data pada kecepatan data yang sangat rendah hingga sangat rentang panjang. Kecepatan data yang rendah (hingga beberapa byte per detik) dan modulasi LoRa menyebabkan sensitivitas penerima sangat rendah, artinya dalam pengujian ini berarti lebih dari 10km.

Langkah 1: Membangun Stasiun Pangkalan

Membangun Stasiun Pangkalan
Membangun Stasiun Pangkalan
Membangun Stasiun Pangkalan
Membangun Stasiun Pangkalan

Koneksi internet lebar komputer dan modem LoRa terhubung ke port USB.

Kit Mobil Arduino ·

Kotak metrik

Anduino Mega terhubung ke serial 2 ke penerima GPS, dan Serial 1 ke modem LoRa. Kartu SD digunakan untuk menyimpan data.

Langkah 2: Tes Pertama

Tes Pertama
Tes Pertama

· 10,6 Km di jalan setapak melalui pusat kota, galeri dan sepanjang pantai yang dibuat dengan loop

Rasio penerimaan / transmisi telah mencapai 321/500TX poin

titik RX

Langkah 3: Buat Antarmuka

Buat Antarmuka
Buat Antarmuka
Buat Antarmuka
Buat Antarmuka

1 - Siapkan proyek baru LoRa

Tekan ikon roda gigi untuk membuka konfigurasi proyek

Langkah 4: Tambahkan Pengukur

Tambahkan pengukur
Tambahkan pengukur

2) Buka bilah geser pengukur.

· 3) Gulir ke GPS.

· 4) Tambahkan satu ke meja.

Langkah 5: Tarik Gauge GPS dan Tambahkan OpenStreetMap

Tarik Gauge GPS dan Tambahkan OpenStreetMap
Tarik Gauge GPS dan Tambahkan OpenStreetMap
Seret Gauge GPS dan Tambahkan OpenStreetMap
Seret Gauge GPS dan Tambahkan OpenStreetMap

· 5) Tambahkan peta OpenStreetMap ke meja

Menyeret GPS komponen pada peta ikon, peta OpenStreet dihasilkan.

Buat Antarmuka

· 6) Ubah penyegaran peta

Ubah waktu refresh peta dari 5000 menjadi 10.000

Langkah 6: Seret Pengukur GPS dan Tambahkan Log Tabel

Seret Pengukur GPS dan Tambahkan Log Tabel
Seret Pengukur GPS dan Tambahkan Log Tabel

· 7) Tambahkan pengukur Tabel Log.

Dengan menyeret pengukur di atas tabel ikon GPS dibuat log tabel pengukur

· 8) Ubah penyegaran log tabel. Ubah waktu refresh peta dari 5000 menjadi 10.000

Sesuaikan posisi pengukur

· 9) Seret pengukur menyesuaikan posisi pengukur dengan menyeretnya melintasi layar.

· 10) Simpan proyek

Langkah 7: Dapatkan Kode

Ambil kode
Ambil kode

10) Aktifkan wadah kode

Tombol di tombol kanan atas, pilih semua dan salin kode dasar.

Langkah 8: Arduino IDE

Arduino IDE
Arduino IDE

· 11) Tempel kode pada Arduino IDE

· 12) Edit kode Tambahkan baris ini dalam definisi

Langkah 9: Detail Pengkodean

Tambahkan baris ini dalam definisi

//*************************************************************************

//** PERPUSTAKAAN ** //***************************************** ********************************

#include // ++ perpustakaan GPS

#include // ++ library SPI #include

// ++ perpustakaan SD//

*************************************************************************

//** SD ** //*************************************** ***********************************

// * Kartu SD terpasang ke bus SPI sebagai berikut:

// ** UNO: MOSI - pin 11, MISO - pin 12, CLK - pin 13, CS - pin 4

// (pin CS dapat diubah) dan pin #10 (SS) harus berupa output

// ** Mega: MOSI - pin 51, MISO - pin 50, CLK - pin 52, CS - pin 53

// (pin CS dapat diubah) dan pin #52 (SS) harus berupa output

// ** Leonardo: Hubungkan ke SPI perangkat keras melalui header ICSP

// Pin 4 digunakan di sini untuk konsistensi dengan contoh Arduino lainnya const int chipSelect = 53;

// ++ pemilih pin SD

//*************************************************************************

//** GPS ** //*************************************** ***********************************

GPS kecil; // ++ GPS di Serial2

batal gpsdump (TinyGPS & gps); // ++

bool newdataGPS = salah; // ++

Tambahkan baris ini di setup()

//***********************************************************************

//** Pengaturan serial GPS ** //*************************************** ***********************************

Serial2.begin(9600); // ++

penundaan (1000); // ++

//***********************************************************************

//** Inisialisasi SD ** //*************************************** *******************************

// pastikan pin pemilihan chip default diatur ke // ++

// output, bahkan jika Anda tidak menggunakannya: // ++

pinMode(SS, OUTPUT); // ++

Serial.println(F("Inisialisasi kartu SD…")); // ++

// lihat apakah kartu ada dan dapat diinisialisasi: // ++

if (!SD.begin(pilihan chip)) { // ++

Serial.println(F("Kartu gagal, atau tidak ada")); // ++

// jangan lakukan apa-apa lagi: // ++

kembali; // ++

} lain { // ++

Serial.println(F("Kartu SD OK")); // ++

} // ++

Tambahkan baris ini di loop() void

serialEvent2(); // ++ memanggil acara serial GPS

Tambahkan kode SeriaEvent2

//*************************************************************************

//** Acara serial GPS ** //**************************************** *********************************

void serialEvent2() { // ++

while (Serial2.available()) { // ++

char c = Serial2.read(); // ++

//Serial.print(c); // batalkan komentar untuk melihat data GPS mentah // ++

if (gps.encode(c)) { // ++

newdataGPS = benar; // ++

merusak; // batalkan komentar untuk segera mencetak data baru! // ++

} // ++

} // ++

} // ++

Tambahkan GPS dump voud

//*************************************************************************

//** gps dump ** //*************************************** *********************************

//** Rentang garis lintang yang valid dalam derajat adalah -90 dan +90. **

//** Bujur berada dalam kisaran -180 dan +180 **

//** menentukan posisi timur-barat **

//** "123456789 1234567890" **

//** "000.00000;0000.00000" ** //*************************************************************************

batal gpsdump(TinyGPS & gps) // ++

{ // ++

int tahun; // ++

byte bulan, hari, jam, menit, detik, seperseratus; // ++

usia panjang yang tidak ditandatangani; // ++

gps.f_get_position(&LATGP00, &LONGP00, &umur); // ++

gps.crack_datetime(&tahun, &bulan, &hari, &jam, // ++

&menit, &detik, &perseratus, &usia); // ++

bujur panjang, bujur; // ++

gps.get_position(&lat, &lon, &age); // ++

// *********************************************************************

// ** membuat string untuk merakit data ke log: **

// *********************************************************************

String dataString = ""; // ++

dataString += (lat / 100000); // ++

dataString += "."; // ++

dataString += lat - (lat / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += (lon / 100000); // ++

dataString += "."; // ++

dataString += lon - (lon / 100000) * 100000; // ++

dataString += ";"; // ++

dataString += String(static_cast(hari)); // ++

dataString += "/"; // ++

dataString += String(static_cast(bulan)); // ++

dataString += "/"; // ++

dataString += String(tahun); // ++

dataString += ";"; // ++

dataString += String(static_cast(jam)); // ++

dataString += ":"; // ++

dataString += String(static_cast(menit)); // ++

dataString += ":"; // ++

dataString += String(static_cast(kedua)); // ++ //********************************************* ********************************

//** SIMPAN KE SD ** //*************************************** *************************************

// buka filenya. perhatikan bahwa hanya satu file yang dapat dibuka dalam satu waktu, **

// jadi kamu harus menutup yang ini sebelum membuka yang lain. ** //********************************************* ******************************

File dataFile = SD.open("gps00.txt", FILE_WRITE); // ++

// ***********************************************************************

// ** jika file tersedia, tulis ke sana: **

// ***********************************************************************

if (file data) { // ++

dataFile.println(dataString); // ++

dataFile.close(); // ++

} lain { // ++

Serial.println(F("ERROR SD Menulis")); // ++

} // ++

}

Jika Anda ingin mengunduh kode, silakan kunjungi halaman ini.

Direkomendasikan: