meshcom
يعد Meshcom في الواقع مشروعًا مثيرًا لمعهد علوم المواطنين للاتصالات اللاسلكية والاتصالات اللاسلكية (www.icssw.org) يهدف إلى إنشاء أداة اتصال مستندة إلى النص لمشغلي راديو الهواة. يستخدم تقنية تعديل LORA ™ وبروتوكول APRS لإنشاء شبكة شبكية في النطاق 70 سم. تتمثل الأهداف الرئيسية لـ Meshcom في إدراك نظام مراسلة خارج الشبكة مع استهلاك منخفض للطاقة وأجهزة فعالة من حيث التكلفة. يعتمد التنفيذ الفني على وحدات راديو LORA ™ ، والتي يمكنها نقل الرسائل والمواقف والقياسات والمزيد على مسافات طويلة مع انخفاض قوة الإرسال. يمكن توصيل وحدات Meshcom لتشكيل شبكة شبكية أو إنشاء شبكة مراسلة عبر بوابات Meshcom ، متصلة بشكل مثالي من خلال Hamnet.
الوظائف الأساسية:
- يتم تحديد كل عقدة من قبل Callsign الراديو الهواة (مع SSID اختياري)
- يمكن إرسال رسائل اختبار قصيرة إلى جميع (الجميع) ، مع ACK من Server/Gateway
- يمكن إرسال الرسائل النصية القصيرة مباشرة إلى callsign الأخرى ، مع إدراك الشوط الأول
- يمكن تكوين بعض العقد لتكون بمثابة بوابة إلى Hamnet أو الإنترنت (WiFi)
- يجب أن تكون كل عقدة بمثابة مكرر لجميع رسائل Meshcom الأخرى على الهواء
- قد تحتوي الخوادم والبوابات على بعض الوظائف لتجنب انتقال الشقوق الزائدة
- سترسل العقد تلقائيًا رسائل الحالة والموضع
- سترسل العقد التي تحتوي على أجهزة استشعار اختيارية بيانات WX-DATA أو القياس عن بعد بشكل دوري
- سيتم ترطيب الرسائل على شاشة OLED الصغيرة أو عبر هاتف ذكي أو جهاز لوحي متصل BT أو عبر وحدة تحكم متسلسل USB متصل
الهدف الرئيسي هو الحصول على شبكة شبكية للبناء الذاتي والذات ، والتي يمكن تعزيزها من خلال مكونات أخرى من خدمة راديو الهواة ، مثل HAMNET (شبكة IP) ، خوادم Meshcom مركزية أو موزعة. سيؤدي ذلك إلى زيادة التغطية لجميع القارات وتمكين التوصيل البيني إلى أوضاع وخدمات أخرى (APRs ، WinLink ، DMR ، Tetra-SDS ، Sota-Watch ، Pocsag ، Vara-AC ، ...) بناء اتصال موحد. المفيد المفيد هو meshcom للاتصال الطارئ (EMCOM) في حالة الكوارث أو التعتيم. في جميع شروط وقواعد خدمة إذاعة الهواة (غير تجارية ، تجريبية بدقة) يجب احترامها. هذا مشروع مفتوح للمواطنين من شأنه أن يساعد في تعزيز خدمة إذاعة الهواة داخل الأكاديمية والمجتمع.
التردد في المنطقة:
الاتحاد الأوروبي: 433.175 المملكة المتحدة: TBD Nordic: TBD USA: 433.175 Afrika: 433.175 Asia/Pacific: TBD
معلمة لورا:
SF: 11 Bandwith: 250khz CR: 4/6
APRS-Protokoll:
المستند: http://www.aprs.org/doc/aprs101.pdf العنوان: call-ssid ، المصدر ، الهدف ، digi1-5 القياس عن بعد: البيانات ، الصيغة ، وحدات ، ... الطقس: درجة الحرارة ، والضغط ، المطر ، الهدف هو أن يكون متوافقًا تمامًا مع Aprs.fi
الأجهزة:
ESP32/Lora-Modul ، Rak-Wisblock ، ESP32-DEV4/E22-Lora ، ...
Meshcom 4.0 البرامج الثابتة
Meshcom هو مشروع لتبادل الرسائل النصية عبر وحدات راديو Lora. الهدف الأساسي هو إدراك الرسائل ذات الشبكة ذات الشبكات ذات الطاقة المنخفضة وأجهزة منخفضة التكلفة.
يعتمد النهج الفني على استخدام وحدات راديو Lora التي تنقل الرسائل والمواقف والقيم المقاسة والاتصالات عن بعد وأكثر من ذلك بكثير مع قوة الإرسال المنخفضة على مسافات طويلة. يمكن دمج وحدات Meshcom لتشكيل شبكة شبكة ، ولكن يمكن أيضًا توصيلها بشبكة رسائل عبر Meshcom Gateways ، والتي يتم توصيلها بشكل مثالي عبر Hamnet. يمكّن ذلك شبكات راديو Meshcom ، غير متصلة ببعضها البعض عبر الراديو ، من التواصل مع بعضها البعض.
بروتوكول Meshcom
يستخدم Meshcom 4.0 مرجع بروتوكول APRS للمصدر والوجهة و Digipeater وبيانات الحمولة النافعة على النحو المحدد لـ APRs. (APRS101.PDF APRS Protocol Reference الإصدار 1.0 2000 ، صفحة 12) Meshcom 4.0 Verwendet für payload-daten das ax.25 protokoll ، wie es für aprs definiert ist. (APRS101.PDF APRS Protocol Reference الإصدار 1.0 2000 ، SEITE 12)
شروط:
- المعرف - معرف نوع بيانات APRS
- معرف الرسالة-32 بت LSB-> قيمة فريدة من MSB
- ماكس هوب-ماكس. 7 (القناع 0x07) يتم استخدام الافتراضي 5 والذي يسمح 4 عمليات نقل أخرى.
- 0x80 - معرف حول ما إذا كانت هذه الرسالة قد تم إرسالها بالفعل عبر خادم MQTT
- 0x40 - تحديد أن هذه الرسالة يجب أن تستكمل لكل meshclient مع علامة استدعاء محطة الإرسال. لأغراض القياس والتحكم.
- عنوان المصدر - يحتوي هذا الحقل على Callsign و SSID لمحطة الإرسال
- عنوان الوجهة - يمكن أن يحتوي هذا الحقل على علامة استدعاء مقصود APRS أو
- Digipeater - يمكن أن يكون هناك من 0 إلى 8 Digipeater CallsIns في هذا المجال. ملاحظة: يمكن كتابة عناوين Digipeater هذه بواسطة مسار Digipeater عام APRS (محدد بواسطة SSID لعنوان الوجهة).
- حمولة - يحتوي هذا الحقل على بيانات النقل. الحرف الأول لهذا الحقل هو معرف نوع بيانات APRS ، والذي يشير إلى نوع بيانات الحمولة النافعة التالية.
- معرف الأجهزة - انظر الجدول أدناه
- مؤشر تعديل Lora - انظر الجدول أدناه
- تسلسل فحص الإطار - FCS هو تسلسل 16 بتات تستخدم للتحقق من سلامة الإطار المستلم.
رسائل:
- الرسائل النصية:
- : |! mmmmmmmm |! hh | oe0xxx-99 |>*|: | رسالة نصية |! 00 |! hw |! mod | fcs#
- الرسائل النصية ذات المسار من الشبكة:
- : |! mmmmmmmm |! hh | oe0xxx-99 ، oe3xxx-12 ، oe3yyy-12 |>*|: | رسالة نصية |! 00 |! hw |! mod | fcs#
- تقارير الموقف:
- ! bbb /a = hhhh |! 00 |! hw |! mod | fcs#
- أسطورة:
- | ... يعمل فقط على إظهار الانفصال هنا في النص
عناصر الرسائل
- معرف medlution :! @ ... نص ، موقف ، رسالة الطقس
- MMMMMMMMM ID 32 بت LSB-> MSB
- HH MAX-HOP 8 بت بت بتات 0x07
- رسالة عبر قناع بت خادم MQTT 0x80
- أدخل المسار في شبكة (مع فاصلة كفصل) قناع بت 0x40
- 4800.00 درجة خط العرض/العشرية × 100
- 01600.00 درجات طويلة/عشرية × 100
- ن شمال / جنوب شار
- / APRS Symbol Group (/ أو) char
- ee AST / West Char
- # APRS رمز Char
- حالة بطارية BBB في ٪ int 0 - 100
- /a = HHHH GPS Level (M) int 0 - 9999
- إكمال الرسالة يغلق نطاق رسالة APRS من 0x00
- HW ... معرف نوع الأجهزة
- وزارة الدفاع ... معرف تعديل لورا
- FCS# checksum بما في ذلك المعرف و 0x00 من إكمال الرسالة غير موقعة 16 بت
- معلومات إضافية لتشكيل MHEARD
- معرف بوابة GGGGGGGGG (فقط لتوافق Meshcom 2.0) 32 بت LSB-> MSB
- HW Hardware ID 8 بت (انظر الجدول)
معرف أجهزة Meshcom
- معرف الأجهزة HW Type MCU Type Lora Type HW Name Hs HW الإصدار
- 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
مؤشر تعديل Meshcom Lora
- 0 النطاق الممتد 10-20 بسرعة
- 1 النطاق الممتد 10-20 بطيء (قوي) 0.275 كيلو بايت في الثانية
- 2 نطاق إضافي ممتد 20-40 بطيء (قوي) 0.183 كيلو بايت في الثانية
- 3 المعدل الطبيعي 5-10 بطيئة (قوية)
- 4 المعدل الطبيعي 5-10 سريع 5،469 كيلو بايت في الثانية
- 5 نطاق محلي 0-5 بطيء (قوي)
- 6 النطاق المحلي 0-5 سريع 21،875 كيلو بايت في الثانية
الاستعدادات للمنصة.
- تثبيت الأطر المطلوبة تحت المنصات:
- espressif 32
- Nordic NRF52 الإصدار 9.6.0 (الآن)
- لإضافة تعريفات اللوحة الصحيحة لـ Rak Wireless Rak4631 ، اتبع هذه التعليمات:
وميض البرامج الثابتة
عادة ما يتم ذلك عبر زر التحميل في VSCode مباشرة.
ESP32 عبر سطر الأوامر:
- لهذه المهمة ، هناك حاجة إلى esptool. يمكنك إما استخدام واحد من platform.io الموجود في
.platformio/tool-esptoolpy/esptool.py بالإضافة إلى Python VenV ، وهو في: .platformio/penv/bin/python . يقع دليل .platformio المخفي في دليل المستخدم الخاص بك.
وإلا إذا لم يتم تثبيته بالفعل ، فقم بتثبيت إصدار Python حديثًا. ثم تحتاج إلى الحصول على esptool عبر PIP: pip install esptool
- تتم كتابة ملف firmware.bin و bootloader.bin و partition.bin بعد التجميع إلى دليل
.pio/build لدليل ريبو Meshcom-Firmware.
إذا قمت بتحديث البرامج الثابتة فقط ، فأنت تريد فقط وميض الملف المقابل.
يلتزم بمكان وميض كل واحد من الملفات:
| عنوان | ملف |
|---|
| 0x1000 | bootloader.bin |
| 0x8000 | partitions.bin |
| 0x10000 | البرامج الثابتة |
MAC: python esptool.py -p /dev/tty.usbserial-<NUMBER> write_flash 0x10000 <PATH-TO-BIN-FILE>/firmware.bin
Linux: نفس الجهاز التسلسلي تحت /dev يمكن أن يكون ttyUSB0 أو ما شابه.
Windows: الجهاز التسلسلي عادة ما يكون بعض com
يمكن أيضًا وميض البرامج الثابتة للبناء الجاهزة عبر الأداة عبر الإنترنت (Chrome ، Edge ، Opera):
https://oe1kfr.com/esptool/
محو NVS:
إذا كنت ترغب في مسح الإعدادات المخزنة على العقدة:
python esptool.py --port <SERIAL-PORT> erase_region 0x009000 0x005000
RAK4631 عبر CLI:
للقيام بذلك ، تحتاج إلى adafruit nrfutil. التثبيت والاستخدام:
https://github.com/adafruit/adafruit_nrf52_nrfutil
RAK4631 عبر ملف UF2:
عندما تنقر نقرًا مزدوجًا على الزر الموجود على الوحدة النمطية ، فإنه يقوم بتركيب جهاز USB حيث يمكنك نسخ ملف .uf2 على الوحدة النمطية. لإنشاء هذا الملف ، تحتاج إلى نص Python التالي:
https://github.com/microsoft/uf2/blob/master/utils/uf2conv.py
./uf2conv.py <PATH_TO-HEX-FILE> -c -o firmware.uf2 -f 0xADA52840