يوفر هذا المشروع برنامجًا ثابتًا للمودم لألواح متحكم مع وحدة راديو متوافقة مع RF95 وواجهة تسلسلية مثل جهاز Adafruit Feather M0 Lora أو وحدات Heltec OLED LORA 32. على مختلف المجالس المستندة إلى ESP32 ، يمكن تمكين دعم OLED STATUS أو GPS أو BLE أو WIFI.
التكوين الافتراضي الحالي هو للجهاز مع 868.1 MHz. يمكن تغيير هذا في src/modem.h مع السطر التالي: #define RF95_FREQ 868.1
يتم دعم اللوحات التالية:
تتمثل الطريقة الموصى بها لبناء وتثبيت البرامج الثابتة في الراديو في الحصول على تثبيت عمل لـ Platformio (http://platformio.org/) على نظامك.
تحرير مهم platformio.ini .
قم بتثبيت على جهازك باستخدام pio run -t upload -e heltec_wifi_lora_32_ble
تنشيط دعم العرض اختياريا: pio run -t upload -e heltec_wifi_lora_32_display_ble
يمكن لأي شخص حاليًا الاتصال بخدمة BLE ، فهي نصية عادية. يتم نشر خاصية واحدة لإرسال الأوامر وواحدة هناك لإتاحة الإخراج من خلال الإخطارات.
يجب إنهاء جميع الأوامر المرسلة عبر BLE باستخدام n . يتمثل الوضع الافتراضي للتشغيل في تقسيم كل شيء إلى 20 قطعة بايت ، والتي - وفقًا للمواصفات BLE - هي الحد الأقصى لحزمة الحزمة. على iPhone 8 و 11 ، تمكنا أيضًا من إرسال واستقبال حزم BLE أكبر بكثير (> 100Bytes). لذلك ، يمكن للمرء تنشيط وضع BLE-BLE-FRAMES الكبير عبر AT+BFB=1 . يتم التعرف على الأمر حتى دون وجود n ويجعل n اختياريًا. يعد هذا مفيدًا بشكل خاص لأن بعض برامج تصحيح الأخطاء مثل LightBlue Explorer لا ترسل عوائد النقل أو خلاصات الخط في نهاية عملية الكتابة.
إذا تم تثبيت أحد ملفات تعريف WiFi على ESP MCU متوافق ، يمكن أن يكون الجهاز بمثابة نقطة وصول. تم تكوين بيانات الاعتماد في platformio.ini ويتم تعيينها افتراضيًا على: WIFI_SSID="rf95modem" و WIFI_PSK="rf95modemwifi" تقبل نقطة الوصول هذه حتى 4 عملاء وفقًا لـ espressif sdk و premault لها IP 192.168.4.1 .
هناك طريقتان للتواصل مع المودم:
يستجيب RF95Modem لحزم بث UDP إلى المنفذ 1666 . لتلقي الإخراج ، يتم توفير مستمع UDP بسيط ( extras/udp_receiver.py ). لإرسال الأوامر إلى مودم netcat كافية ، على سبيل المثال echo "at+tx=414141" | ncat -u 192.168.4.255 1666
ما عليك سوى الاتصال بـ 192.168.4.1 على المنفذ 1666 باستخدام TCP واستخدمه مثل الاتصال التسلسلي ، على سبيل المثال ncat 192.168.4.1 1666 .
يتم دعم اتصال واحد فقط في كل مرة!
بعض الأجهزة مثل TTGOS T-beam تشمل أيضًا رقاقة GPS. يمكن أيضًا الاستعلام عن ذلك من خلال البرامج الثابتة المودم من خلال أمر AT+GPS . يمكن أن يستغرق الحصول على قفل أولي لموقفك عدة دقائق اعتمادًا على Atenna ، وموضعك ، وشريحة GPS على الجهاز. نظرًا لأن هذا يزيد أيضًا من استهلاك الطاقة بشكل كبير (~ 50mA) يمكن للمرء تعطيله مؤقتًا عبر AT+GPS=0 .
يتم تعيين السرعة التسلسلية الافتراضية على 115200 ( src/main.cpp Line 17 ).
قائمة الأوامر:
AT+HELP Print this usage information.
AT+TX=<hexdata> Send binary data.
AT+RX=<0|1> Turn receiving on (1) or off (2).
AT+BFB=<0|1> Turn send Big Fine BLE-Frames on (1) or off (0).
AT+GPS Print GPS information.
AT+GPS=<0|1> Turn GPS power on (1) or off (0).
AT+FREQ=<freq> Changes the frequency.
AT+INFO Output status information.
AT+MODE=<NUM> Set modem config:
0 - medium range (default)
Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on.
1 - fast+short range
Bw = 500 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on.
2 - slow+long range
Bw = 31.25 kHz, Cr = 4/8, Sf = 512chips/symbol, CRC on.
3 - slow+long range
Bw = 125 kHz, Cr = 4/8, Sf = 4096chips/symbol, CRC on.
4 - slow+long range
Bw = 125 kHz, Cr = 4/5, Sf = 2048chips/symbol, CRC on.
للحصول على التكوين الحالي يمكن للمرء استخدامه AT+INFO
> AT+INFO
+STATUS:
firmware: 0.7.3
features: MCU BLE WIFI GPS
modem config: 0 | medium range
max pkt size: 251
frequency: 868.10
rx listener: 1
BFB: 0
GPS: 1
rx bad: 0
rx good: 0
tx good: 0
+OK
من هذا الإخراج ، يمكنك معرفة الميزات التي يتم تجميعها في البرامج الثابتة وما هو نسخته. كما يتم عرض تكوين المودم الحالي والتردد المحدد.
لتغيير الترددات على أمر AT+FREQ .
> AT+FREQ=868.20
+FREQ: 868.20
حذار: يمكن إضافة أي رقم تعويم هنا ، يتم تمرير القيمة مباشرة إلى جهاز الإرسال والاستقبال Lora!
إن تغيير وضع المودم المسبق أمر سهل بنفس القدر:
> AT+MODE=2
+OK
AT+TX=414141 يرسل حزمة مع AAA كمحتوى. قد يختلف حجم الحزمة القصوى اعتمادًا على رقاقة الراديو.
AT+RX=1 تنشيط مستمع استلام ، الافتراضي قيد التشغيل.
تتم كتابة البيانات الواردة تلقائيًا إلى المنفذ التسلسلي: +RX 3,414141,-15,8 -إطار يحتوي على "AAA" حيث تم استلام حمولة مع RSSI من -15 و SNR من 8.
إذا تم تنشيط GPS ( AT+GPS=1 ) وكان البرنامج الثابت يعمل على جهاز قادر على GPS مثل TTGO T-beam ، يمكن للمرء بسهولة الاستعلام عن الموقع والوقت الحاليين. بدون قفل GPS Propoer يتم تعيين جميع القيم التي تم إرجاعها على الصفر.
> at+gps=1
+OK
> at+gps
Latitude : 0.00000
Longitude : 0.00000
Altitude : 0.00M
Satellites: 0
Time : 00:00:00
Date : 00.00.2000
Timestamp : 943920000
+OK
هناك عدد قليل من مكتبات برمجة الطرف الثالث لتخفيف دمج RF95Modem.
إذا كنت تستخدم هذا الرمز في المنشورات الأكاديمية ، فيرجى الاستشهاد بالورقة التالية:
@INPROCEEDINGS{baumgaertner2018monitoring,
author={L. {Baumgärtner} and A. {Penning} and P. {Lampe} and B. {Richerzhagen} and R. {Steinmetz} and B. {Freisleben}},
booktitle={2018 IEEE Global Humanitarian Technology Conference (GHTC)},
title={Environmental Monitoring Using Low-Cost Hardware and Infrastructureless Wireless Communication},
year={2018},
pages={1-8},
doi={10.1109/GHTC.2018.8601883},
month={Oct},
}