Loyiha · LoRa · Uzoq masofa
Kilometrlab radio — umuman internetsiz
Wi-Fi devor ortida oʻladi. $4 lik LoRa moduli kilometrlab gaplashda davom etadi — ferma sensorlari, togʻdagi uycha, langar tashlagan qayiq — shlyuzsiz, SIM-kartasiz va oylik toʻlovsiz. Bu yigʻilma ikki ESP32’ni nuqta-nuqta bogʻlaydi va har tugun dashboardiga RSSI, SNR va jonli trafik jurnalini chiqaradi — uzoqlashganingizda aloqa qanday soʻnishini koʻrasiz.
Ulanish — oddiy SPI va ikkita boshqaruv pini
SX1278 — SPI qurilma: umumiy SCK/MISO/MOSI, oʻz NSS chip-select’i, RST liniyasi va «paket tayyor» uzilishi sifatida DIO0. Bitta jismoniy qoida hammadan ustun: hech qachon antennasiz uzatmang — kuchaytirgich soniyalarda oʻladi.
Protokol — stek emas, bikon
P2P LoRa’ga LoRaWAN steki kerak emas. Har tugun ID:hisoblagich bikonini yuboradi;
oʻz ID’ingiz boʻlmagan har narsa — pir. Apparat CRC buzuq paketlarni indamay
tashlaydi, 10 soniyalik timeout esa «peer online» LED’ini boshqaradi:
#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 Tayyor sketchni (examples/06_Projects/LoRaLink, kutubxona
sandeepmistry/LoRa) ikki plataga yozing — NODE_ID 'A' va 'B' —
har biri oʻz dashboard-AP’ini beradi. ⚠ FREQ ni mintaqangizga qoʻying: 433 MHz
(Osiyo/EU ISM), 868 MHz (EU), 915 MHz (US).
RSSI va SNR’ni oʻqish
| Koʻrsatkich | Diapazon | Maʼno |
|---|---|---|
| RSSI −40…−90 dBm | kuchli | zaxira moʻl |
| RSSI −90…−110 dBm | ishchi | normal uzoq-masofa hududi |
| RSSI −110…−125 dBm | chegara | LoRa shovqindan past ham dekodlaydi — SNR’ga qarang |
| SNR > 0 dB | toza | signal shovqindan baland |
| SNR 0…−15 dB | LoRa sehri | bu yerda faqat LoRa omon qoladi |
Masofa richaglari: kattaroq spreading factor (SF7→SF12) efir vaqti evaziga kilometrlar beradi; torroq polosa ham yordam beradi. Batareyali tugun uchun deep sleep bilan juftlang: bikon, uyqu, takror. LoRa ESP-NOW, Zigbee va boshqalar bilan qanday solishtirilishi — simsiz protokollar qoʻllanmasi; LoRa ustidagi mesh — Meshtastic.
Ikki plata, ikki antenna — va dBm boʻyicha kuzatiladigan aloqa.