
Contoh ini menunjukkan bagaimana AVR64DD32 dapat digunakan untuk membuat simpul ujung Lorawan yang memantau suhu, kelembaban, tekanan barometrik, dan kelembaban tanah dan mengirimkan data itu setiap tiga menit ke aplikasi melalui jaringan Things (TTN). Node dapat ditempatkan di mana saja antara sepuluh meter dan lima kilometer dari gateway Lorawan di lingkungan perkotaan, tetapi jangkauannya lebih luas untuk lokasi pinggiran kota. Desain menunjukkan bagaimana simpul akhir, bahkan pada jarak jauh, dapat dikonfigurasi untuk mengkonsumsi daya yang sangat rendah/memiliki masa pakai baterai yang panjang, sementara data berharga yang bergerak dengan aman. Desain ini dapat diskalakan dengan mudah untuk memungkinkan penangkapan data variabilitas tanah dengan menempatkan node tambahan di seluruh plot pertanian tanpa perlu menambahkan gateway atau infrastruktur tambahan.
Demo ini menggunakan modul RN2903A yang beroperasi pada pita frekuensi 915 MHz dan cocok untuk proyek -proyek yang berbasis di Australia dan Australia, tetapi proyek ini mudah diadaptasi untuk bekerja di daerah lain dengan memilih alternatif klik board ™ dan gateway untuk wilayah Anda.
Tambahkan komponen ke papan adaptor nano.
Tempatkan LR2 Klik pada Mikrobus ™ 2 dan cuaca klik pada Mikrobus 1.
Hubungkan arahan sensor kelembaban seperti yang ditunjukkan pada Gambar 1.
Terakhir, tambahkan kawat jumper antara (PA1) dan PD1 untuk memungkinkan pengaturan ulang klik LR2. (PA1) tidak terhubung secara default (karena sudah terhubung ke jam eksternal), sebagai hasilnya proyek ini memungkinkan pin PD1 untuk menggerakkan sinyal reset.
| Jumper Wire | Pin |
|---|---|
| VCC - Kawat Merah dari Sensor Kelembaban | Vcc |
| GND - Kawat Hitam dari Sensor Kelembaban | Gnd |
| Aout - Kawat kuning dari sensor kelembaban | PD2 |
| (PA1) - Tempatkan jumper di antaranya | PD1 |

Gambar 1. Pengaturan Perangkat Keras

Gambar 2. Buka proyek di MPLAB x
Setelah proyek dibuka, mulailah dengan mengkalibrasi sensor.
Untuk mengkalibrasi sensor kelembaban, buka file application.c , dan ubah status awal menjadi TEST_MOISTURE .

Gambar 3. Mengatur keadaan awal ke test_moisture
Kemudian pengaturan ini dapat dibuat khusus untuk kebutuhan tanah dan tanaman Anda, tetapi untuk singkatnya, mulailah dengan batas atas dan bawah untuk pengukuran dengan menguji di udara kering dan dalam secangkir air.
Tempatkan sensor sehingga ditangguhkan di udara kering.

Gambar 4. Sensor diposisikan di udara kering
Mulai visualisator data dengan pengaturan berikut:
Baud Rate: 9600
Panjang char: 8 bit
Parity: Tidak ada
Bit berhenti: 1
Klik Kirim ke Terminal, lalu buat dan program perangkat.

Gambar 5. Data Visualizer Kirim ke Terminal

Gambar 6. Membuat dan memprogram perangkat
Setelah program dimulai, Anda akan diminta untuk menekan tombol untuk menghasilkan konverter analog-ke-digital (ADC). Tekan tombol beberapa kali dengan sensor di udara kering, lalu letakkan sensor secangkir air dan tekan tombol beberapa kali lagi.
Gambar 7 menunjukkan dua bacaan. Saat mengumpulkan sampel udara kering, pembacaan ADC mendekati 3000. Saat mengumpulkan sampel air, pembacaan mendekati 1400.

Gambar 7. Nilai ADC di udara kering dan dalam secangkir air
Perhatikan hasil Anda dan buka file application.h . Ganti definisi untuk IN_MAX dan IN_MIN menggunakan hasil Anda, lalu gunakan nilai -nilai tersebut untuk menghitung CONVERSION_PERCENT menggunakan rumus yang ditampilkan.

Gambar 8. Definisi Kelembaban Tanah
Hanya satu perubahan kecil yang diperlukan untuk mengkalibrasi klik cuaca; Sisanya diurus dalam perangkat lunak. Untuk memiliki pembacaan tekanan yang akurat, perangkat perlu menggunakan ketinggian Anda saat ini di atas permukaan laut. Masukkan nilai ini pada baris 24 file bme.h

Gambar 9. Ketinggian untuk klik cuaca
Selanjutnya, atur sisi TTN proyek.
Jika Anda belum melakukannya, atur akun dengan TTN; Edisi Komunitas gratis untuk penggunaan yang adil. Pengaturan akun dimulai dengan memilih cluster regional, klik di sini untuk memulai.
Setelah menyiapkan akun Anda, navigasikan ke konsol Anda dan klik Pergi ke Aplikasi .

Gambar 10. Pengaturan Aplikasi
Klik tombol Buat Aplikasi dan ikuti instruksi untuk membuat aplikasi.

Gambar 11. Buat Aplikasi
Klik pada format muatan kemudian pada uplink .

Gambar 12. Formatter muatan uplink aplikasi
Di bawah Pengaturan Tipe Formatter*, pilih Formatter JavaScript khusus.

Gambar 13. Pilih Formatter JavaScript Kustom
Ganti fungsi decodeUplink default dengan cuplikan berikut:
function decodeUplink ( input ) {
var data = { } ;
data . temp = input . bytes [ 0 ] ;
data . humidity = input . bytes [ 1 ] ;
data . moisture = input . bytes [ 2 ] ;
data . pressure = ( input . bytes [ 3 ] + 900 ) ;
return {
data : data
} ;
}Gambar 14. Dekode Snippet Kode Uplink
Klik Simpan dan Kembalikan ke Halaman Ikhtisar.
Dari halaman Ikhtisar Aplikasi, klik tombol Register End Device .

Gambar 15. Mendaftarkan perangkat akhir untuk OTAA
Untuk mendaftarkan perangkat, beberapa detail dari modul diperlukan. Buka file application.c lagi dan ubah negara bagian untuk mendaftar.

Gambar 16. Mengubah Negara untuk Mendaftar
Mulailah visualisator data dan bangun dan program perangkat lagi. Saat program berjalan, salin HWEUI dan perhatikan spesifikasi Lorawan.

Gambar 17. Detail Perangkat Akhir dalam Data Visualizer
Kembali ke Jendela Perangkat End Register di TTN, dan pilih Enter End Device Spesifik secara manual. Pilih paket frekuensi Anda berdasarkan lokasi Anda dan pilih spesifikasi Lorawan. Di bagian Informasi Penyediaan, masukkan semua nol untuk bidang JoineUi, lalu klik Konfirmasi .

Gambar 18. Mendaftarkan perangkat baru
Tempel hweui yang Anda salin sebelumnya ke bidang Deveui kemudian klik menghasilkan untuk menghasilkan appkey baru.

Gambar 19. Hasilkan Appley Baru
Perangkat akhir sekarang dibuat dan perlu memiliki formatter muatan.
Cara tercepat untuk mengatur formatter adalah dengan menggunakan tombol formatter aplikasi pasta . Klik tombol Formatters Payload , lalu pilih opsi Formatter JavaScript khusus, dan tekan formatter aplikasi pasta .

Gambar 20. Tempel formatter aplikasi
Di TTN, buka halaman Ikhtisar Perangkat Akhir, ada dua bidang untuk disalin dan menempel ke file header RN2XX3 untuk proyek tersebut. Klik Deveui dan tempel ke bidang HweUi di definisi RN2xx3.h . Salin bidang Appkey dan tempel ke definisi Appkey.

Gambar 21. Salin deveui dan appley ke clipboard

Gambar 22. Perbarui definisi HWEUI dan Appkey
Contoh ini mengasumsikan bahwa Anda memiliki gerbang TTN publik di dekat Anda, atau Anda telah mengaturnya sendiri. Memiliki gateway sendiri sangat membantu untuk pemecahan masalah jika Anda mengalami masalah. Jika Anda ingin mengatur gateway Anda sendiri, dua panduan bermanfaat dapat ditemukan di: Proyek Hackster dan Gateway Pengembang RAK.
Setelah Anda memiliki akses ke gateway, lanjutkan tes dengan membuka file application.c lagi dan mengubah status kembali ke init.

Gambar 23. Ubah kembali ke init
Mulailah visualisasi data lagi dan memprogram ulang perangkat.

Gambar 24. Mulai Visualisator Data
Ketika aplikasi dimulai, modul akan diinisialisasi. Tekan tombol untuk memulai prosedur gabungan TTN.
Menyiapkan rencana frekuensi saluran akan memakan waktu sekitar sepuluh detik untuk diselesaikan. Setelah itu, jika permintaan bergabung diterima, perangkat akan mengirimkan muatan pertamanya. Jika perangkat tidak terhubung, beberapa saran akan diberikan. Masalah umum terlalu dekat dengan gateway, kunci yang salah, atau gateway mungkin telah terputus sementara. Biasanya, Anda akan melihat output seperti yang ada di Gambar 25.

Gambar 25. Output Saat permintaan bergabung diterima
Untuk proyek ini, node mengirimkan data baru setiap tiga menit. Sekali per hari, ia mengirimkan data sebagai muatan yang dikonfirmasi seperti dalam transmisi pertama ini. Pesan yang dikonfirmasi memerlukan pengakuan dari jaringan, tetapi juga mengonsumsi airtime di gateway dan masa pakai baterai ekstra untuk node. Jadi 479 pesan berikutnya setiap hari dikirim sebagai pesan yang belum dikonfirmasi.
Proyek ini mengirimkan semua pesan yang dikonfirmasi pada port 10 dan pesan yang belum dikonfirmasi pada port 11.

Gambar 26. Pesan yang dikonfirmasi di port 10 dan pesan yang belum dikonfirmasi di port 11
Contoh ini menunjukkan cara mengatur simpul akhir Lorawan menggunakan AVR64DD32 dengan klik Mikroe LR2, klik cuaca Mikroe dan sensor kelembaban tanah untuk berbagi kondisi tanah dalam jarak jauh menggunakan daya rendah.