Ini adalah kerangka kerja Arduino dasar untuk menggunakan modem radio Lorawan HF yang sedang naik daun dan menghubungkan sensor ke jaringan Lorawan seperti TTN.
Kami menggunakan perangkat FRAM I2C di alamat 0x50 untuk memori yang tidak mudah menguap. Perangkat ini dapat dihilangkan atau diganti dengan EEPROM dengan perubahan kecil.
Deveui berasal dari modem radio atau melalui chip I2C 24AA025E64 di alamat 0x52 atau dapat diatur dalam file config.h. Setiap modem memiliki kode QR di bagian atas, dengan Deveui -nya.
Basis kode ini dikembangkan dan diuji untuk pita frekuensi TTN AS tetapi dapat diubah ke band lain.
Diuji dengan: RHF0M062-HF22 dan RHF0M0E5-HF22, tetapi juga harus bekerja dengan RHF78-052LA-HF22 dan modul turunan lainnya dari Rising HF.
http://www.risinghf.com/home
Kode tes ini memiliki 3 rutinitas kirim,
Status pendek digunakan untuk pesan kesalahan dan dibatasi hingga 9 byte, dikirim hanya ketika kita memulai dan ketika kita memiliki kesalahan ... (DR0 -> 11 byte -2 kemungkinan byte Mac)
Status jarang dikirim dengan informasi perangkat ... versi, waktu kompilasi, dll ...
Data sensor dikirim, dalam kasus default setiap jam ...
Kami juga memiliki dukungan untuk bergabung kembali secara berkala. Setelah pindah dari V2 ke V3 di TTN, menjadi jelas bahwa perangkat perlu bergabung kembali dari waktu ke waktu untuk mendukung gerakan di masa depan atau perubahan dalam jaringan atau TTN.
Basis kode ini juga memungkinkan beberapa pesan unduhan diproses.
Pada startup, kode membaca blok data yang disimpan dalam FRAM (jika tersedia) dan membandingkan bidang tanggal-waktu kompilasi dan CRC dengan apa yang disimpan dalam FRAM untuk melihat apakah kami memiliki boot pertama. Jika demikian, kami menyimpan salinan blok data di FRAM untuk penggunaan di masa mendatang. Jika tidak, kami menyesuaikan jumlah boot dan menyimpan penyebab boot.
Port USB dimatikan di boot untuk menghemat daya, ini membutuhkan ketuk ganda dari sakelar reset untuk kembali ke boot-loader.
Ada banyak opsi konfigurasi yang dapat Anda atur di file config.h termasuk kunci Lorawan, tabel frekuensi, waktu fungsi pengiriman, dll ...
Radio-modem memiliki EEPROM yang akan menjaga sebagian besar parameternya disimpan setelah pengaturan ... config.h memiliki definisi yang akan menonaktifkan parameter pengaturan ulang dalam modem jika tidak perlu mengatur ulang lagi.
Makro Debug1 dan Debug2 dapat dinonaktifkan untuk menghapus semua output debug ke port serial, mereka memungkinkan kami untuk menggunakan fungsi "c" printf (...) yang lebih umum dalam kode kami alih -alih fungsi Arduino Serial.Print (...).
Kode ini diuji dengan perangkat keras berpemilik dan dengan papan mini-ultra-pro-Lora RocketStream.
TBD:
Adding some logging to flash
look at over-the-air code upgrade...
Add support for EEProm option to replace FRAM
An option to get DEVEUI from the modem and or UUID from the CPU
Add more commands to support Class B in the modem library
Documentation of modem library
Add AT command to set various parameters from the serial port
Libraries used by this project:
LoRaWan-RFH0M062-mod
This radio-modem library was developed by SEEED studios for the RHF78-052 device, I have
made many changes to support the newer radios, added an error function, and speed up timing
on messages to/from the radio.
Stopwatch
RTCZero-MOD
FRAM_MB85RC_I2C
Arduino_CRC32