SPGPSTRACK - Pemetaan GPS Lorawan
Program ini adalah pelacak GPS Lorawan untuk tujuan pemetaan yang dikembangkan untuk Arduino Uno dengan Shield Dragino Lora/GPS dan untuk ESP32 TTGO T-Beam (diuji dengan T22_V07)
- Dikonfigurasi sebagai ABP sehingga Anda dapat menyalakan perangkat di lokasi di mana Anda tidak memiliki cakupan
- akan mengirimkan lokasi semua x meter
- Anda dapat memilih format muatan antara cayennelpp dan fungsi dekoder payload manual
- Software mendukung uplink yang dikonfirmasi dan Arduino akan berbunyi bip
- Anda dapat membaca serial perangkat keras atau serial perangkat lunak, jadi lebih mudah untuk pengembangan jika Anda melihat apa yang sedang terjadi selama operasi nyata
- Dalam hal penggunaan serial perangkat keras, Anda dapat mengaktifkan serial perangkat lunak untuk debugging
Untuk melakukan
- Transmisi waktunya, yang juga dieksekusi ketika pelacak tidak bergerak. Misalnya setiap jam, untuk melihat apakah pelacak masih hidup.
- Opsi Daya Rendah
Dukungan ESP32 [Negara: Dalam pekerjaan, lihat Cabang berkembang. Konfigurasi SPI Menghasilkan Backtraces] Perangkat Keras: ESP32 UNO, bermerek seperti Wemos ESP32 sudah diimplementasikan fot ttgo t-beam- Posisi WiFi alternatif untuk ESP32
Awal yang cepat
- Di konsol TTN, buat aplikasi, daftarkan perangkat baru (sebagai ABP)
- Salin informasi perangkat Lorawan dan kunci ke dalam sketsa
- Tumpuk papan dan unggah sketsa ke papan tulis. Untuk mengunggah sketsa, Anda harus menyimpan tombol reset pada dragino yang ditekan. (Jika Anda dapat mengunggah tanpa menekan tombol itu, maka ini bisa menjadi tanda bahwa Anda memiliki sesuatu yang salah di Jumper Dragino atau pengaturan serial sketsa Anda)
- Saat Anda melihat lalu lintas di konsol TTN, Anda dapat melanjutkan dalam mengkonfigurasi fungsi decoder payload.
- (Jika Anda tidak melihat lalu lintas di konsol TTN meskipun Anda yakin bahwa Anda berada dalam jarak yang baik ke gateway, periksa penghitung bingkai dan jumper dragino)
- Konfigurasikan TTNMapper-Integrasi, tentukan nama percobaan untuk saat mencoba pertama (atau Anda akan mengungkapkan lokasi rumah Anda dengan awan succectl connect titik)
- Anda harus menemukan eksperimen baru Anda di akhir daftar ini.
ESP32
Untuk pengaturan pin SPI T22_07 belum diimplementasikan di LMIC! -> Matthijskooijman/Arduino-lmic#164
-> Ubah pin SPI secara langsung di perpustakaan
Perhatian!!! Jangan lupa mengatur ulang ini, jika Anda menggunakan juga perangkat keras lain dengan LMIC
HAL.CPP LINE 79
static void hal_spi_init () {
//SPI.begin();
SPI . begin ( 5 , 19 , 27 );
}Dependensi
- ARDUINO LMIC
- Tinygps ++
- Cayennelpp (Opsional) Instal dari Arduino Library Manager
Konfigurasi:
- Txdist - mendefinisikan, jarak [dalam meter], setelah itu posisi dikirim
- SF - Tentukan faktor penyebaran Lorawan (DR_SF7 - DR_SF12) 7 dan 8 yang disarankan untuk pemetaan
- Single_channel - Hanya Gunakan Lorawan Channel 0 untuk gateway saluran tunggal
- Dikonfirmasi - Mengaktifkan uplink yang dikonfirmasi, hanya aktifkan, jika Anda menghubungkan buzzer ke pin d5! Kalau tidak, fitur ini tidak berguna
- Soft_serial - unkomment untuk menggunakan serial perangkat keras, jika tidak serial perangkat lunak digunakan. Dalam hal ini hubungkan modul GPS ke RXPin dan TXPin
- Debug - Jika Anda menggunakan serial perangkat keras, Anda dapat mengaktifkan debug, untuk mendapatkan output debug pada serial perangkat lunak. Tinggalkan dinonaktifkan untuk tidak menggunakan serial perangkat lunak sama sekali
- Cayennelpp - Jika Anda ingin menggunakan CayenNelpp sebagai format muatan jika tidak, gunakan fungsi payload decoder berikut
Fungsi muatan
function Decoder ( bytes , port ) {
var decoded = { } ;
// if (port === 1) decoded.led = bytes[0];
decoded . latitude = ( ( bytes [ 0 ] << 16 ) >>> 0 ) + ( ( bytes [ 1 ] << 8 ) >>> 0 ) + bytes [ 2 ] ;
decoded . latitude = ( decoded . latitude / 16777215.0 * 180 ) - 90 ;
decoded . longitude = ( ( bytes [ 3 ] << 16 ) >>> 0 ) + ( ( bytes [ 4 ] << 8 ) >>> 0 ) + bytes [ 5 ] ;
decoded . longitude = ( decoded . longitude / 16777215.0 * 360 ) - 180 ;
var altValue = ( ( bytes [ 6 ] << 8 ) >>> 0 ) + bytes [ 7 ] ;
var sign = bytes [ 6 ] & ( 1 << 7 ) ;
if ( sign )
{
decoded . altitude = 0xFFFF0000 | altValue ;
}
else
{
decoded . altitude = altValue ;
}
decoded . hdop = bytes [ 8 ] / 10.0 ;
return decoded ;
}