ESP-NOW + LoRa Emergency Communication System
مارس 2026 · Alin Li لخدمات الحاسوب · لاقيني
Alin Li Lageeni (لاقيني — وتعني بالعربية "اعثر عليّ / قابلني") نظام اتصالات طوارئ مفتوح المصدر يعمل خارج الشبكات ومبني على ESP32. يستخدم طبقتين للاتصال: ESP-NOW for fast, low-power short-range and LoRa for long-range — no internet, no WiFi networks, no cellular service required.
Several solutions exist for off-grid communication. Some are open-source community projects, others are commercial products. Here's how they compare — and why we built Alin Li Lageeni to fill a gap none of them address.
The most popular open-source LoRa mesh project. Community-driven, supports many hardware boards, uses flood-based routing. Available on ESP32 and nRF52 platforms with companion mobile apps for iOS and Android.
مفتوح المصدرشبكة LoRa متداخلةتطبيق هاتفLarge Community
برنامج ثابت أحدث مفتوح المصدر لشبكات LoRa المتداخلة (بترخيص MIT)، يستخدم توجيهًا انتقائيًا للحزم بدل الإغراق. يدعم المكررات وخوادم الغرف وأوضاع الراديو المرافق. له مجتمع متنامٍ وتطبيقات للهواتف وعميل ويب.
مفتوح المصدرSelective RoutingWeb Clientمشروع أحدث
جهاز شبكات متداخلة تجاري. يدعم الإصدار المخصص للمستهلكين الرسائل النصية وGPS عبر هاتف ذكي مقترن. يوفر إصدار Pro تشفيرًا بالمستوى العسكري وتكاملًا مع تطبيقات تكتيكية مثل ATAK. مغلق المصدر ومملوك.
CommercialClosed Sourceيتطلب هاتفًابمستوى عسكري
جهاز اتصال بالأقمار الصناعية يتصل بشبكة Iridium لتبادل الرسائل في الاتجاهين عالميًا وإرسال SOS، مع مركز إنقاذ احترافي يعمل على مدار الساعة طوال الأسبوع. يتطلب اشتراكًا مدفوعًا. ليس شبكة متداخلة — بل اتصال من الجهاز إلى القمر الصناعي.
Commercial ($300–500)Subscription RequiredSatellite / Globalمركز إنقاذ على مدار 24/7
| Feature | Alin Li Lageeni | Meshtastic | MeshCore | goTenna | Garmin inReach |
|---|---|---|---|---|---|
| Cost | ~$15–30 DIY | ~$20–60 DIY | ~$20–60 DIY | $180–300+ | $300–500+ |
| Subscription | لا شيء — مجاني | لا شيء | لا شيء | لا شيء | $15–65/شهر |
| Communication | ESP-NOW + LoRa (dual) | LoRa فقط | LoRa فقط | Proprietary radio | Iridium satellite |
| Range | 200m–15 km | 1–15 km | 1–15 km | 1–6 km | Global |
| هل يتطلب هاتفًا؟ | لا — واجهة ويب مدمجة | Yes (BLE app) | Yes (BLE app) | Yes (BLE app) | اختياري |
| Setup Complexity | تجميع بنقرة 1 | متوسط (إعداد التطبيق) | متوسط (تفليش + CLI) | Easy (app pairing) | Easy (account setup) |
| Target Audience | Youth / Education | Hobbyists / DIY | Hobbyists / Technical | خارجي / تكتيكي | خارجي / احترافي |
| SOS System | Dual-channel + ACK + countdown | Basic (via app) | لا SOS مدمج | Indirect only | مركز إنقاذ على مدار 24/7 |
| Sleep / Battery Save | 4 أوضاع (وصولًا إلى 0.01mA) | وضع توفير الطاقة | Sleep optimized | ~24h battery life | Days to weeks |
| Arabic / RTL UI | Yes — built-in | Community translation | لا | لا | لا |
| Classroom Mode | Yes — quizzes, attendance | لا | لا | لا | لا |
| Audit Logs | Full on-device + export | App-side only | محدود | App-side | Cloud only |
| مفتوح المصدر | Yes (MIT) | Yes (GPL-3) | Yes (MIT) | لا | لا |
| الشبكات المتداخلة | Relay via peers | Flood-based mesh | Selective routing | يدعم الشبكات المتداخلة | لا (اتصال مباشر بالقمر الصناعي) |
تشغيل نقطة وصول WiFi يستنزف البطارية سريعًا، ويتطلب أن يكون جهاز واحد «الموجّه» دائمًا، ويخلق نقطة فشل وحيدة. للطوارئ والعمل الميداني نحتاج حلًا أخف بكثير وأكثر صمودًا.
Each ESP32 boots and creates a temporary WiFi AP named "Lageeni-XXXX" (آخر 4 محارف من MAC). يربط المستخدم هاتفه بهذه الشبكة اللاسلكية ويفتح صفحة إعداد الويب على 192.168.4.1. هذا هو only time WiFi runs.
في صفحة الإعداد، يمنح المستخدم الجهاز اسمًا واضحًا (مثل «Ahmed» أو «Base Camp» أو «Tent 3»). يُحفظ في ذاكرة NVS الوميضية، ويظل محفوظًا بعد إعادة التشغيل.
From any device's setup page, the user taps «البحث عن الأجهزة». يبث الجهاز إشارة اكتشاف LoRa. تستجيب جميع أجهزة Lageeni المشغّلة ضمن المدى بعنوان MAC واسمها وعنوان LoRa. تعرض صفحة الإعداد الأجهزة المكتشفة لحظيًا. ويمكن لأي جهاز بدء إنشاء المجموعة — فلا يوجد جهاز رئيسي ثابت.
User clicks «تجميع كل الأجهزة». تُبث حزمة GROUP_INIT عبر LoRa وتتضمن: معرّف المجموعة، ومفتاح التشفير، وكلمة المزامنة، وسجل الأجهزة الكامل. تخزّن جميع الأجهزة هذا الإعداد.
بعد التجميع، WiFi turns OFF to save battery. All communication switches to ESP-NOW (قصير المدى ومنخفض الطاقة) و LoRa (بعيد المدى). يختار التوجيه الذكي أفضل قناة لكل جهاز نظير تلقائيًا.
Users interact via physical button (press = scroll messages, long-press 3s = SOS, double-press = re-enable WiFi temporarily for full web UI access). Messages route automatically via ESP-NOW (nearby) or LoRa (distant). WiFi auto-turns off after 5 minutes of inactivity.
ترسل إشارات النشاط الدورية (ESP-NOW كل 10 ثوانٍ وLoRa كل 30 ثانية) نسبة البطارية وRSSI وGPS (إن توفر). تتتبع جميع الأجهزة حالة اتصال بعضها ببعض وقوة الإشارة.
ضغط مطوّل (3s) on button triggers a 5-second visual countdown (يمكن الإلغاء!). بعد العد التنازلي: تُبث إشارة SOS عبر القناتين معًا، وتتكرر 3 مرات. تعرض جميع الأجهزة المستقبِلة تنبيهًا بملء الشاشة مع LED وطنّان.
Lageeni-XXXX (آخر 4 محارف من MAC)For fast emergencies where typing isn't possible (selectable by button presses or UI tap):
| الوضع | WiFi | ESP-NOW | LoRa | Current | Use Case |
|---|---|---|---|---|---|
| Setup | تشغيل | إيقاف | تشغيل | ~160 mA | Initial config via web UI |
| نشط | إيقاف | تشغيل | تشغيل | ~80 mA | التشغيل العادي |
| سكون خفيف | إيقاف | Wake | استمع | ~10 mA | Battery saving, still reachable |
| Deep Sleep | إيقاف | إيقاف | Timer | ~0.01 mA | أقصى عمر للبطارية، يستيقظ بمؤقّت |
| SOS Mode | إيقاف | MAX | MAX | ~200 mA | Emergency — all power to TX |
| إجراء | Trigger | What It Does | Keeps |
|---|---|---|---|
| Soft Reset | Web UI or button click | Restarts the device | كل المواضيع |
| Deregister | Web UI "Leave Group" | يغادر المجموعة، ويُشعر الأجهزة النظيرة، ويعود إلى الإعداد | الاسم + السجلات |
| Factory Reset | Hold button 10 seconds | Erases ALL: name, group, logs, config | لا شيء |
Lageeni-XXXX| State | نمط | Visual | Description |
|---|---|---|---|
| Booting | Fast blink (5Hz) | Starting up, scanning | |
| Setup Mode | Steady ON | WiFi AP active, waiting for config | |
| Grouped Active | Double pulse / 3s | In group, listening on both channels | |
| سكون خفيف | Dim pulse / 5s | توفير للطاقة، مع استمرار إمكانية الوصول عبر LoRa | |
| Deep Sleep | إيقاف | Hibernating, wakes on timer/interrupt | |
| Message RX | 3 ومضات سريعة | Received a message | |
| Message TX | 1 ومضة طويلة | Sent a message | |
| SOS Countdown | نبضات متسارعة | 5-sec countdown — press again to cancel | |
| SOS Sending | Rapid red bursts | Broadcasting SOS | |
| SOS Received | SOS pattern (continuous) | Emergency alert from another device | |
| Find Me | Blue SOS blink (10s) | Remote locate triggered by peer | |
| Factory Reset | Fast blink → solid | Countdown → erase complete | |
| بطارية منخفضة | 3 ومضات حمراء بطيئة | Battery below 10% | |
| Error | Continuous fast red | تعطّل LoRa أو خطأ حرج |
ESP32 built-in LED is single-color (blue). On RGB boards, actual colors are used. On mono boards, patterns differentiate states.
Discovered Devices (LoRa scan):
WiFi will turn OFF after grouping to save battery
Group Members:
وحدة NEO-6M اختيارية. تُدرج الإحداثيات في إشارات النشاط وSOS. ترى الأجهزة النظيرة موقعك التقريبي. ضرورية للبحث والإنقاذ.
طنّان كهرضغطي اختياري. يعمل عند استقبال SOS، وفي Find Me، وعند انخفاض البطارية، ولصفارات العد التنازلي للطوارئ. مسموع حين لا تكون الشاشة مرئية.
If A can't reach C, B auto-relays the message. Extends effective range to 2–3x single-hop distance. Transparent to the user.
TP4056 input supports 5V mini solar panel. In deep sleep, a small panel keeps the device running indefinitely — true off-grid operation.
Predefined messages selectable by button presses: "OK", "Coming", "Wait", "Help", "Danger", "Safe". No phone needed for basic replies.
Web UI charts RSSI per peer over time. Find optimal device placement, identify dead zones, and test antenna performance.
Configurable auto-check-in. If a device misses heartbeats for N minutes, all peers get a "no contact" warning. Catches lost devices.
شاشة SSD1306 اختيارية بمقاس 0.96 بوصة. تعرض آخر رسالة، والبطارية، وعدد الأجهزة النظيرة، والإشارة، والوضع. تشغيل أساسي دون هاتف.
Web UI in English and Arabic (RTL). Auto-detects browser language. Perfect for bilingual classrooms and Middle East field teams.
جميع الحمولات مشفّرة. مفتاح فريد لكل مجموعة. يستخدم ESP-NOW بروتوكول CCMP. يمنع التنصت من مستقبلات LoRa خارج المجموعة.
At 5% battery, auto-sends "going offline" alert with last GPS to all peers before hibernating. No one is silently lost.
Teacher broadcasts quizzes, attendance, group messages. Students respond by button. Great for outdoor lessons with no internet.
أقرِن جهازين. إذا فقدا الاتصال عبر ESP-NOW لمدة N دقيقة، يصدر تنبيه في كليهما. يبقي رفقاء الرحلات على اتصال وعلى علم بحالة بعضهم.
Dedicated mode to test communication range between two devices. Sends ping-pong packets and displays real-time RSSI and success rate graph.
LED stays on as dim continuous glow for nighttime visibility. Configurable color and brightness. Helps locate devices in the dark.
Tracks CPU temperature, uptime, free memory, and flash wear. Alerts if device is overheating or running low on storage space.
ESP32-WROOM-32 or TTGO LoRa32
SX1278 (433MHz) / SX1276 (868MHz)
SMA antenna for extended range
3.7V 1000–3000mAh + TP4056
Tactile switch: SOS, wake, navigate
طنّان كهرضغطي للتنبيهات الصوتية
شاشة I2C من نوع SSD1306 مقاس 0.96"
وحدة GPS NEO-6M بواجهة UART
5V mini panel + TP4056
صندوق مطبوع بتقنية 3D أو صندوق مشاريع
Review the full architecture, flows, and specifications above. Once confirmed, we build the complete PlatformIO firmware with ESP-NOW + LoRa dual-layer communication.