Kelas Micropython untuk Modul E22 Seri E22
Modul Ebyte E22 yang didukung didasarkan pada chipset SEMTECH SX1262/SX1286 dan tersedia untuk 400 MHz (410.125 ... 493.125) dan 900 MHz (850.125 ... 930.125) Rentang frekuensi dan menyediakan 22 dbm max. TX Power.
Antarmuka UART sederhana digunakan untuk mengontrol perangkat.
Ebyte DataTheets:
E22-900T22D
E22-400T22D
Kelas Lorae22 didasarkan pada kelas LORAE32 oleh Effevee: https://github.com/effevee/lorae32
Hubungkan antena yang tepat sebelum mentransmisikan!
Sebelum digunakan, periksa peraturan lokal Anda untuk menggunakan rentang frekuensi ini. Misalnya di sebagian besar Eropa, daya tx maksimum yang diizinkan berada di bawah nilai default 22 dBm! Mungkin juga ada pembatasan tambahan, misalnya pembatasan pada siklus tugas transmisi Anda (yaitu fraksi waktu udara hingga total waktu yang berlangsung selama periode menggunakan perangkat)!

Lihat kode untuk konfigurasi pin.
Catatan: Kode uji LORAE22 berbeda dari kode uji E32 dalam hal UART dan AUX PIN yang digunakan! Selain itu, lorae22 menggunakan 'mode normal', sedangkan Lorae32 menggunakan 'mode bangun' di sendMessage () .
| Mode transmisi | TX (addr - ch) | Rx (addr - ch) | Msg (addr - ch) | Kode pemancar | Kode penerima |
|---|---|---|---|---|---|
| transparan | 0x0001 - 0x02 | 0x0001 - 0x02 | 0x0001 - 0x02 | testsende22_transparent.py | testrecve22_transparent.py |
| Memperbaiki P2P | 0x0001 - 0x02 | 0x0003 - 0x04 | 0x0003 - 0x04 | testsende22_p2p.py | testrecve22_p2p.py |
| siaran tetap | 0x0001 - 0x02 | 0x0003 - 0x04 | 0xffff - 0x04 | testsende22_broadcast.py | TestRecve22_Broadcast.py |
| monitor tetap | 0x0001 - 0x02 | 0xffff - 0x04 | 0x0003 - 0x04 | testsende22_monitor.py | testresve22_monitor.py |
Setiap node mengirim pesan pada interval tetap yang berisi nilai kontrol LED sesuai dengan keadaan tombol tekan.
Setelah itu memeriksa pesan yang diterima. Jika pesan dengan nilai kontrol LED tersedia, LED diaktifkan sesuai.
Mode transmisi (konfigurasi alamat/saluran) untuk simpul lokal dan node peer dapat diatur seperti yang diinginkan dalam array addr dan chan .
Kode node0.py dan node1.py identik kecuali untuk pengaturan variabel saya dan rekan .
| Node0 | Node1 |
|---|---|
| node0.py | node1.py |
Pemancar LORA mengirim string yang berisi ID chip dan nomor urutan pesan pada interval tetap.
Penerima LORA mencetak/log <limaStamp>, <latitude>, <mreditude>, <thattude>, <rssi> pada interval yang telah ditentukan sebelumnya.
Posisi penerima dan cap waktu diterjemahkan dari pesan NMEA yang diterima melalui UART dari penerima GPS. Untuk tujuan ini, micropygps digunakan.
Jika tersedia, pesan LORA yang masuk diterima dari modul transceiver EBYTEE22 LORA melalui UART lain. Jika pesan yang diharapkan dari pemancar Lora tidak dapat diterima untuk waktu tertentu, nilai RSSI -255 dBM diasumsikan, menunjukkan hilangnya tautan radio LORA.
The Tuple <T timeStamp>, <latitude>, <mreditude>, <titude>, <rssi> dicetak dan secara opsional ditulis ke file log hanya jika posisi yang valid tersedia.
Jika logging diaktifkan, nama file dalam format log_ <8_random_hex_digits _>. CSV dibuat setelah power-on atau reset. File log ditulis ke sistem file internal Micropython. Pencatatan harus dihentikan secara eksplisit dengan menekan tombol, jika tidak file tidak dapat ditutup dengan benar dan akan korup/kosong.
Dua LED menunjukkan keadaan perbaikan GPS dan tautan LORA, masing -masing.
| Simpul pemancar | Simpul penerima |
|---|---|
| lora_tx.py | lora_rssi_logger.py |
File log dapat dikonversi dari format CSV ke format yang sesuai - seperti GPX atau KML - pada host nanti. Lihat RSSI_CSV_TO_KML.PY - File output KML memberikan nilai RSSI sebagai data yang diperluas untuk ditampilkan dengan plot elevasi di GoogleEarth. (Penggunaan: rssi_csv_to_kml.py log_deadbeef.csv >log_deadbeef.kml )
Catatan: Plot hanya berfungsi sebagai contoh - interval logging seharusnya lebih pendek dan strategi logging telah dimodifikasi setelahnya.