TTN MKRWAN Node
Latar belakang
Bukti Konsep untuk Lorawan "Ultra Low Power" / The Things Network Node Menggunakan Arduino MKR WAN 1300.
MKR WAN 1300 menggunakan terlalu banyak daya dalam mode tidur untuk digunakan sebagai perangkat daya ultra rendah (sedikit lebih dari 1MA).
Bukti konsep ini menggunakan instrumen Texas TPL5110 Ultra Low Power Timer untuk membawa arus tidur di bawah 50NA.
Karena perangkat benar -benar didukung selama waktu tidur, kami menggunakan modul fram untuk menyimpan kunci sesi Lorawan dan penghitung bingkai.
Dua node tes:
Kiri Atas: Tampilan dan Maxim DS18B20 Sensor Suhu
Kiri bawah: Bosch BME280 Kelembaban suhu dan sensor tekanan

Kanan Atas: Sleep Current
Kanan bawah: Menjalankan arus (node dengan tampilan)
Teori Operasi
- TPL5110 Bangun dan Bergerak di MKR WAN 1300
- Baca data yang disimpan dari Fram
- Bergabunglah dengan jaringan
- Otaa pertama kali (tidak ada data dalam fram)
- ABP Menggunakan tombol sesi yang disimpan dan penghitung bingkai sesudahnya
- Kumpulkan data dari sensor
- Kirim Lorawan Payload dalam format LPP Cayenne
- Periksa pesan downlink
- Masukkan Mode Tidur (Naikkan pin yang selesai dari TPL5110)
Persyaratan perangkat keras
Kode bergantung pada perangkat keras berikut:
- Arduino MKR WAN 1300 - Firmware 1.1.7 atau yang lebih baru
- TPL5110 Breakout
- Breakout Fram
- Sensor, kode sampel disediakan untuk
- Tegangan baterai (menggunakan pembagi bawaan)
- Sensor suhu Maxim DS18B20 (satu kabel)
- Bosch BME280 Sensor Tekanan Kelembaban Suhu
- Opsional
- SH1106 128X64 I2C Display untuk debugging
- Tombol untuk Memaksa Reset (Otaa Join) pada waktu boot
Perangkat keras serupa harus berfungsi, tetapi mungkin perlu perubahan kode.
Dependensi perangkat lunak
IDE Arduino dengan perpustakaan berikut (semua tersedia dari Arduino Library Manager):
- Arduino Mkrwan Versi 1.1.7 atau yang lebih baru
- ADAFRUIT FRAM (Versi SPI)
- Thethingsnetwork versi 2.5.13 atau lebih baru ( bukan 2.5.12!)
- Untuk sensor BME280
- ADAFRUIT Sensor Terpadu
- Adafruit BME280
- Untuk sensor Maxim DS18B20
- OneWire
- Dallastemperature
- Untuk tampilan opsional: u8g2
Pengaturan Sampel
Pengaturan sampel dengan layar OLED SH1106 dan sensor DS18B20:

Operasi
Konfigurasi Perangkat Lunak
- Salin
arduino_secrets_distr.h ke arduino_secrets.h dan masukkan tombol Anda yang diperoleh dari konsol thethingsnetwork - Di
TTNMkrWanNode Uncomment, definisi untuk sensor Anda.
Sensor tegangan selalu tersedia, menggunakan pembagi bawaan. Perhatikan bahwa memberikan fakta bahwa pembagi adalah 1/3 dan referensi tegangan adalah 1.0V, maksimum yang dapat Anda ukur adalah 3.0V ... - Di
debug.h Pilih opsi debugging Anda:-
#define DEBUG dikomentari: tidak ada kode debug yang dihasilkan -
#define DEBUG Unkommented: Debug pada konsol seri (USB). Node akan menunggu konsol! -
#define DEBUG dan #define OLED Unkommented: Pesan debug pada tampilan OLED.
- Di
ttn.h Anda dapat mengatur port default Lorawan dan kecepatan data Anda
Kekuatan
Lepaskan daya yang berasal dari TPL5110 (DRV) saat menyalakan dari USB.
Inisialisasi
Jika fram tidak berisi data yang valid atau jika tombol ditekan ketika MKR WAN 1300 dimulai, perangkat akan melakukan gabungan OTAA.
Pesan downlink
Sebelum tidur node akan memeriksa pesan downlink:
- 0x01: Reset. Node akan melakukan gabungan OTAA selama siklus berikutnya
- 0x02 0xpp: Setel port. Node akan menggunakan port
pp saat mengirim data - 0x03 0xdd: Tetapkan laju data. Node akan menggunakan kecepatan data yang diminta.
Waktu tidur
- Saat didukung dari USB, simpul akan menganggur selama 5 menit kemudian setel ulang sendiri
- Saat didukung melalui TPL5110 waktu tidur digerakkan oleh resistor (pada pelarian Adafruit Anda dapat menggunakan trimpot di papan tulis)