Repositori ini berisi firmware yang berjalan pada papan sirkuit alternatif untuk TFA 30.3161 Rain Gauge (lihat tautan di bagian bawah halaman untuk informasi lebih lanjut) yang mengubah perangkat menjadi teknologi Lorawan 868MHz.
Data pengukuran akan ditransmisikan ke gateway Lorawan dalam jangkauan perangkat (bahkan di daerah perkotaan, 1 km dapat ditutup tanpa masalah) sementara konsumsi daya benar -benar rendah, sehingga baterai bertahan selama bertahun -tahun.
Dekoder payload JavaScript yang diuji dengan thethingsnetwork v3 dan chirpstack v4 disediakan.

Selain papan pengukur hujan Lora yang dirakit, alat -alat berikut diperlukan:
Prosesor di papan sirkuit utama adalah ATMEL ATMEGA328P yang kompatibel dengan Arduino. Oleh karena itu proyek ini menggunakan Perpustakaan LMIC McCi Arduino yang populer untuk Lora. Untuk kompilasi dan penyebaran yang mudah, toolchain PlatformIO digunakan.
Implementasi Lorawan mendukung OTAA dan ABP. Data sesi (misalnya tombol sesi, penghitung bingkai) dan nilai penghitung curah hujan akan disimpan dalam chip fram SPI dari waktu ke waktu. Itu dilakukan segera setelah bergabung dengan jaringan dan juga setelah setiap paket data ketiga telah dikirim. Keuntungan dari memori flash FRAM adalah jumlah siklus tulis yang jauh lebih tinggi, tetapi masih merupakan ide yang baik untuk membatasi sedikit.
Setelah start-up, perangkat masuk ke mode tidur terlebih dahulu. Itu bangun baik setelah interval waktu yang ditentukan atau ketika tombol ditekan (yang dimungkinkan sekali per menit). Jika tidak ada sesi yang valid, itu akan mencoba untuk bergabung terlebih dahulu. Ketika paket data telah dikirim, mikrokontroler beralih kembali ke tidur nyenyak, di mana konsumsi daya turun menjadi hanya 14μA. Waktu mode tidur yang dalam direalisasikan dengan menggunakan timer pengawas untuk membangunkan mikrokontroler dari mode power down setiap detik, mengurangi variabel penghitung yang berisi periode waktu hingga transmisi berikutnya.
Pulsa yang dihasilkan oleh pengukur hujan ember tip ditangkap oleh interupsi perubahan port. Ini diperlukan karena sebagian besar komponen periferal mikrokontroler (termasuk timer/counter) tidak aktif karena mode tidur yang dalam. Interupsi akan membangunkan pengontrol untuk waktu yang singkat untuk menambah penghitung hujan. Setelah itu, itu akan berlanjut dengan siklus tidur nyenyak berikutnya.
Jika sensor BMP280 terhubung, suhu dan data tekanan barometrik juga termasuk dalam transmisi.
Interval tidur dan penghitung hujan dapat diperbarui melalui pesan downlink. Cukup gunakan Fport 1 untuk interval dan FPOR 2 untuk nilai penghitung, keduanya dikirim sebagai bilangan bulat 16-bit yang tidak ditandatangani (MSB First).
Firmware ini menggunakan sistem pembuatan PlatformIO, yang akan menangani semua hal yang terkait dengan alat dan ketergantungan secara otomatis. Harap ikuti panduan di platformio.org untuk menginstal PlatformIO Core (untuk operasi konsol) atau VS Code & PlatformIO (IDE). Kemudian klon repositori ini dan ubah ke direktori yang benar.
Cukup hubungkan USBASP Anda ke konektor ISP 6 pin di papan tulis. Pastikan programmer diatur ke tegangan 3.3V, karena RFM95W tidak toleran 5V! Setelah itu, cukup jalankan pio run -t bootloader -e m328p_isp (or -e m328pb_isp untuk atmega328pb) untuk memprogram bootloader dan fusebit. Setelah itu perangkat dapat dengan mudah diprogram melalui koneksi serial.
Salin file src/config.h.example ke src/config.h. Kemudian uncomment baik use_otaa atau use_abp, buat perangkat baru di server Lorawan Anda dan isi data sesi awal di config.h seperti yang dijelaskan di dalamnya. Anda dapat menemukan decoder payload yang diperlukan di dokumen/payload-decoder.js.
Setelah semuanya dikonfigurasi, sambungkan adaptor serial USB ke header pin yang sesuai. Kemudian jalankan pio run -t upload (tambahkan -e m328pb untuk atmega328pb) untuk memprogram firmware.
Anda mungkin ingin memeriksa konsol serial untuk pesan log dengan menggunakan pio device monitor Command. Jaringan akan bergabung segera setelah Power Up. Nilai pengukuran akan ditransmisikan setiap 15 menit.
Setelah aktivasi Lorawan selesai, data sesi disimpan dalam FRAM dan dipulihkan saat boot. Nilai hash config.h disertakan untuk mendeteksi perubahan konfigurasi dan membatalkan sesi saat ini, memaksa perangkat untuk mengaktifkan kembali. Reaktivasi juga dapat dipaksakan dengan menahan tombol di kompartemen baterai selama beberapa detik saat memasukkan baterai.
LED di papan sirkuit akan menyala jika paket sedang dikirim. Ini akan berkedip jika aktivasi OTAA gagal.
https://www.maltepoeggel.de/?site=lora-raingauge
Firmware ini dirilis berdasarkan ketentuan lisensi MIT, lihat file lisensi untuk detailnya.