Meshcom
Meshcom memang merupakan proyek menarik dari Institute of Citizen Science for Space & Wireless Communication (www.icssw.org) yang bertujuan menciptakan alat komunikasi berbasis teks yang tangguh untuk operator radio amatir. Ini menggunakan teknologi modulasi LORA ™ dan protokol APRS untuk membangun jaringan mesh di pita 70cm. Tujuan utama MeshCom adalah untuk mewujudkan sistem pesan off-grid yang terhubung dengan konsumsi energi yang rendah dan perangkat keras yang hemat biaya. Implementasi teknis didasarkan pada modul radio LORA ™, yang dapat mengirimkan pesan, posisi, pengukuran, dan lebih dari jarak jauh dengan daya pengiriman rendah. Modul meshcom dapat dihubungkan untuk membentuk jaringan mesh atau membuat jaringan pesan melalui gateway meshcom, secara ideal terhubung melalui Hamnet.
Fungsi Dasar:
- Setiap node diidentifikasi oleh CallSign radio amatir (dengan SSID opsional)
- Pesan uji pendek dapat dikirim ke semua (semua orang), dengan ACK dari server/gateway
- Pesan teks pendek dapat dikirim langsung ke CallSign lain, dengan AKNOWLEDGEMENT END-TOEND
- Beberapa node dapat dikonfigurasi untuk bertindak sebagai gateway ke hamnet atau internet (wifi)
- Setiap node harus bertindak sebagai repeater untuk semua pesan meshcom lainnya di udara
- Server dan gateway mungkin memiliki beberapa fungsi untuk menghindari transmisi trafik yang berlebihan
- Node akan secara otomatis mengirim status dan memposisikan pesan
- Node dengan sensor opsional akan mengirim data wx-data atau telemetri secara berkala
- Pesan akan diplayed pada layar OLED kecil atau melalui bt smartphone atau perangkat tablet yang terhubung atau melalui konsol serial yang terhubung USB
Tujuan utamanya adalah untuk memiliki jaring-jaring mandiri dan swadaya, yang dapat ditingkatkan dengan komponen lain dari layanan radio amatir, seperti Hamnet (IP-network), server meshcom yang terpusat atau terdistribusi. Ini akan meningkatkan cakupan untuk semua benua dan memungkinkan interkoneksi ke mode dan layanan lain (APRS, WinLink, DMR, Tetra-SDS, SOTA-Watch, POCSAG, Vara-AC, ...) Membangun platt komunikasi terpadu. Particulary berguna adalah meshcom untuk komunikasi darurat (EMCOM) jika terjadi bencana atau pemadaman. Dalam semua istilah dan aturan layanan radio amatir (benar -benar tidak komersial, eksperimental) harus dihormati. Ini adalah proyek sains warga terbuka yang seharusnya membantu mempromosikan layanan radio amatir dalam akademik dan masyarakat.
Frekuensi di wilayah:
UE: 433.175 UK: TBD Nordic: TBD USA: 433.175 Afrika: 433.175 Asia/Pasifik: TBD
Parameter Lora:
SF: 11 Bandwith: 250kHz CR: 4/6
APRS-PROTOKOLL:
Dokumen: http://www.aprs.org/doc/aprs101.pdf Alamat: panggilan-ssid, sumber, target, digi1-5 telemetri: data, formula, unit, ... cuaca: suhu, tekanan, hujan, ... tujuan harus sepenuhnya kompatibel dengan aprs.Fi
Perangkat keras:
ESP32/LORA-MODUL, RAK-WISBLOCK, ESP32-DEV4/E22-LORA, ...
Firmware meshcom 4.0
Meshcom adalah proyek untuk bertukar pesan teks melalui modul radio LORA. Tujuan utama adalah untuk mewujudkan pesan off-grid jaringan dengan daya rendah dan perangkat keras berbiaya rendah.
Pendekatan teknis didasarkan pada penggunaan modul radio LORA yang mengirimkan pesan, posisi, nilai yang diukur, telekontrol dan banyak lagi dengan daya transmisi rendah pada jarak jauh. Modul meshcom dapat digabungkan untuk membentuk jaringan mesh, tetapi juga dapat dihubungkan ke jaringan pesan melalui gateway meshcom, yang secara ideal terhubung melalui Hamnet. Ini memungkinkan jaringan radio meshcom, yang tidak terhubung satu sama lain melalui radio, untuk berkomunikasi satu sama lain.
Protokol Meshcom
Meshcom 4.0 menggunakan referensi protokol APRS untuk sumber, tujuan, digipeater dan data muatan sebagaimana didefinisikan untuk APR. (APRS101.PDF APRS Referensi Protokol Versi 1.0 2000, halaman 12) Meshcom 4.0 Verwendet für die payload-daten das ax.25 Protokoll, wie es für aprs definiert ist. (APRS101.PDF APRS Referensi Protokol Versi 1.0 2000, Seite 12)
Ketentuan:
- Identifier - Pengidentifikasi Jenis Data APRS
- ID Pesan-32-bit LSB-> Nilai Unik MSB
- Max-Hop-Max. 7 (topeng 0x07) Default 5 digunakan yang memungkinkan 4 transfer lainnya.
- 0x80 - ID, apakah pesan ini telah dikirim melalui server MQTT
- 0x40 - Identifikasi bahwa pesan ini harus dilengkapi untuk setiap meshClient dengan tanda panggilan dari stasiun transmisi. Untuk tujuan pengukuran dan kontrol.
- Alamat Sumber - Bidang ini berisi callsign dan SSID dari stasiun transmisi
- Alamat Tujuan - Bidang ini dapat berisi tanda panggilan tujuan APRS atau
- "*" Untuk transmisi ke semua.
- Digipeater - Mungkin ada 0 hingga 8 callsgns digipeater di bidang ini. Catatan: Alamat digipeater ini dapat ditimpa oleh jalur digipeater APRS generik (ditentukan oleh SSID dari alamat tujuan).
- Payload - Bidang ini berisi data transportasi. Karakter pertama dari bidang ini adalah pengidentifikasi tipe data APRS, yang menunjukkan jenis data payload apa yang mengikuti.
- ID Perangkat Keras - Lihat tabel di bawah ini
- Indeks Modulasi Lora - Lihat Tabel di bawah ini
- Urutan Periksa Frame - FCS adalah urutan 16 bit yang digunakan untuk memeriksa integritas bingkai yang diterima.
Pesan:
- Pesan Teks:
- : |! Mmmmmmmm |! Hh | oe0xxx-99 |>*|: | pesan teks |! 00 |! Hw |! Mod | fcs#
- Pesan teks dengan jalur dari mesh:
- : |! Mmmmmmmm |! Hh | oe0xxx-99, oe3xxx-12, oe3yyy-12 |>*|: | pesan teks |! 00 |! Hw |! Mod | fcs#
- Laporan Posisi:
- ! |! Mmmmmmmm |! Hh | oe0xxx-99 |>*|! | 4800.00 | n |/| 01600.00 | E |#| BBB /A = HHHH |! 00 |! HW |! Mod | fcs#
- Legenda:
- | ... hanya berfungsi untuk menunjukkan pemisahan di sini dalam teks
Elemen pesan
- ID Medlusi :! @ ... teks, posisi, pesan cuaca
- MMMMMMMMM Pesan ID 32-bit LSB-> MSB
- HH MAX-HOP 8-Bit Bit Mask 0x07
- Pesan melalui MQTT Server Bit Mask 0x80
- Masukkan jalur ke dalam mesh (dengan koma sebagai pemisahan) bit mask 0x40
- 4800.00 Gelar Lintang/Desimal x 100
- 01600.00 Longidude Derajat/Desimal x 100
- N Char utara / selatan
- / Grup simbol aprs (/ atau) char
- Ee ast / west char
- # APRS simbol char
- Status baterai BBB di % int 0 - 100
- /A = HHHH GPS LAUT LEAU (M) INT 0 - 9999
- Penyelesaian Pesan Menutup Kisaran Pesan APRS dari 0x00
- HW ... ID Jenis Perangkat Keras
- Mod ... ID modulasi lora
- FCS# checksum termasuk Identifier dan 0x00 dari Penyelesaian Pesan Int 16-bit Unsigned
- Informasi tambahan untuk membentuk meheard
- ID Gateway GGGGGGGG (hanya untuk kompatibilitas meshcom 2.0) 32-bit LSB-> MSB
- HW Hardware ID 8-bit (lihat tabel)
ID Perangkat Keras Meshcom
- ID Perangkat Keras HW Jenis MCU Jenis Lora Jenis HW Nama Pendek HW Versi
- 1 TTGO ESP32 PAXCOUNTER ESP32 SX1278 TLORA V2
- 2 TTGO ESP32 PAXCOUNTER ESP32 SX1278 TLORA V1
- 3 TTGO ESP32 PAXCOUNTER ESP32 SX1278 TLORA V2 1.6
- 4 TTGO T-Beam ESP32 SX1278 T-Beam 1.1
- 5 TTGO T-Beam ESP32 SX1268 T-Beam-1268 1.1 1268
- 6 TTGO T-Beam ESP32 SX1262 T-Beam-0.7 0.7
- 7 T-ECHO LORA SX1262 NRF SX1262 T-ECHO
- 8 T-Deck ESP32-S3 SX1262 T-Deck
- 9 WisBlock RAK4631 NRF WISBLOCK NRF RAK4631
- 10 WiFi Lora 32 V2 ESP32 SX1262 Heltec-V2-1 V2
- 11 WiFi Lora 32 V1 ESP32 SX1276 Heltec-V1 V1
- 12 TTGO T-Beam ESP32 SX1278 TBEAM-AXP2101
- 39 Ebyte Lora E22 ESP32 SX1278 Ebyte-E22
- 43 WiFi Lora 32 V3 ESP32-S3 SX1262 Heltec-V3 V3
Indeks modulasi meshcom lora
- 0 Rentang Extended 10-20 Cepat
- 1 kisaran diperpanjang 10-20 lambat (kuat) 0,275 kbps
- 2 Kisaran tambahan tambahan 20-40 lambat (kuat) 0,183 kbps
- 3 kisaran normal 5-10 lambat (kuat)
- 4 Kisaran Normal 5-10 Cepat 5.469 Kbps
- 5 Kisaran Lokal 0-5 Lambat (Kuat)
- 6 Kisaran Lokal 0-5 Cepat 21.875 kbps
Persiapan untuk plugin platform.io vscode
- Instal kerangka kerja yang dibutuhkan di bawah platform:
- Espressif 32
- Nordic NRF52 Versi 9.6.0 (untuk saat ini)
- Untuk menambahkan definisi papan yang benar untuk RAK Wireless RAK4631 Ikuti instruksi ini: https://github.com/rakwireless/wisblock/blob/master/platformio/readme.md
Firmware berkedip
Biasanya dilakukan melalui tombol Unggah di VScode secara langsung.
ESP32 Via Command Line:
- Untuk tugas ini Esptool dibutuhkan. Anda dapat menggunakan yang dari platform.io yang terletak di
.platformio/tool-esptoolpy/esptool.py Selain itu dengan venv python, yang ada di: .platformio/penv/bin/python . Direktori .platformio tersembunyi terletak di arah pengguna Anda.
Jika tidak, jika belum diinstal, instal versi Python terbaru. Maka Anda perlu mendapatkan Esptool melalui Pip: pip install esptool
- File firmware.bin, bootloader.bin dan partisi.bin ditulis setelah dikompilasi ke direktori
.pio/build yang tersembunyi dari direktori repo meshcom-firmware.
Jika Anda hanya memperbarui firmware, Anda hanya ingin file yang sesuai untuk berkedip.
Menangani di mana harus mem -flash masing -masing file:
| Alamat | Mengajukan |
|---|
| 0x1000 | bootloader.bin |
| 0x8000 | partisi. Bin |
| 0x10000 | firmware.bin |
Mac: python esptool.py -p /dev/tty.usbserial-<NUMBER> write_flash 0x10000 <PATH-TO-BIN-FILE>/firmware.bin
Linux: Sama tetapi perangkat serial di bawah /dev dapat berupa ttyUSB0 atau serupa.
Windows: Perangkat serial biasanya beberapa com
Firmware Ready Build juga dapat dilontarkan melalui alat online (Chrome, Edge, Opera):
https://oe1kfr.com/esptool/
Menghapus NVS:
Jika Anda ingin menghapus pengaturan yang disimpan di node:
python esptool.py --port <SERIAL-PORT> erase_region 0x009000 0x005000
RAK4631 via CLI:
Untuk melakukannya, Anda memerlukan ADAFRUIT NRFUTIL. Instalasi dan Penggunaan:
https://github.com/adafruit/adafruit_nrf52_nrfutil
RAK4631 melalui file UF2:
Saat Anda mengklik dua kali tombol pada modul, ia memasang perangkat USB tempat Anda dapat menyalin file .uf2 ke modul. Untuk menghasilkan file itu, Anda memerlukan skrip Python berikut:
https://github.com/microsoft/uf2/blob/master/utils/uf2conv.py
./uf2conv.py <PATH_TO-HEX-FILE> -c -o firmware.uf2 -f 0xADA52840