مشروع · LoRa · مدى بعيد
كيلومترات من الراديو بلا إنترنت إطلاقًا
يموت Wi-Fi عند السور. وحدة LoRa بأربعة دولارات تواصل الكلام كيلومتراتٍ — حسّاسات مزرعة، كوخ جبليّ، قارب راسٍ — بلا بوّابة ولا شريحة اتّصال ولا رسم شهريّ. هذا البناء يربط لوحتي ESP32 نقطة-إلى-نقطة ويضع RSSI وSNR وسجلّ حركة حيًّا على لوحة كلّ عقدة — فترى جودة الوصلة وأنت تبتعد.
التوصيل — SPI عاديّ وطرفا تحكّم
SX1278 جهاز SPI: خطوط SCK/MISO/MOSI مشتركة، وNSS خاصّ به، وخطّ RST، وDIO0 كمقاطعة «الحزمة جاهزة». قاعدة فيزيائيّة واحدة فوق كلّ شيء: لا تُرسل أبدًا بلا هوائيّ — يموت المضخّم في ثوانٍ.
البروتوكول — منارة لا مكدّس
لا يحتاج LoRa النقطيّ مكدّس LoRaWAN. كلّ عقدة تبثّ ID:عدّاد؛ وكلّ ما يُسمع بغير
هويّتك هو النظير. يُسقط CRC العتاديّ الحزم الفاسدة بصمت، ومهلة 10 ثوانٍ تقود ليد
«النظير متّصل»:
#define NODE_ID 'A' // flash 'A' on one board, 'B' on the other
#define FREQ 433E6 // match your module + region!
LoRa.setPins(LORA_NSS, LORA_RST, LORA_DIO0);
if (!LoRa.begin(FREQ)) { evlog->print("LoRa init FAILED"); return; }
LoRa.enableCrc(); // drop corrupt packets in hardware
// Beacon "A:123" every couple of seconds:
LoRa.beginPacket();
LoRa.print(String((char)NODE_ID) + ":" + String(++txNo));
LoRa.endPacket(); int sz = LoRa.parsePacket();
if (sz) {
String msg;
while (LoRa.available()) msg += (char)LoRa.read();
if (msg.length() && msg[0] != NODE_ID) { // anything not ours = the peer
recv += 1;
rssi = LoRa.packetRssi(); // link strength, dBm
snr = LoRa.packetSnr(); // quality above the noise floor
if (evlog) evlog->print(msg + " " + String((int)rssi) + " dBm");
}
}
online = millis() - lastHear < 10000; // peer-online LED احرق الكود الجاهز (examples/06_Projects/LoRaLink، المكتبة
sandeepmistry/LoRa) على لوحتين — NODE_ID 'A' و'B' — فتقدّم
كلٌّ منهما لوحتها AP. ⚠ اضبط FREQ لمنطقتك: 433 MHz (آسيا/EU ISM)، 868 MHz (أوروبا)،
915 MHz (أميركا).
قراءة RSSI وSNR
| القراءة | المدى | المعنى |
|---|---|---|
| RSSI −40…−90 dBm | قويّ | هامش وافر |
| RSSI −90…−110 dBm | عامل | منطقة المدى البعيد الطبيعيّة |
| RSSI −110…−125 dBm | الحافّة | يفكّ LoRa الترميز حتّى تحت الضجيج — راقب SNR |
| SNR > 0 dB | نظيف | الإشارة فوق الضجيج |
| SNR 0…−15 dB | منطقة السحر | هنا لا ينجو سوى LoRa |
أذرع المدى: عامل انتشار أعلى (SF7→SF12) يشتري كيلومترات بثمن زمن البثّ؛ وعرض نطاق أضيق يساعد أيضًا. لعقدة بطاريّة اجمعها مع النوم العميق: منارة، نوم، تكرار. ومقارنة LoRa بـ ESP-NOW وZigbee وسواها في دليل البروتوكولات اللاسلكيّة؛ وشبكة mesh فوق LoRa في Meshtastic.
لوحتان وهوائيّان — ووصلة تراقبها بالـ dBm.