بی‌سیم و اینترنت اشیا

LoRaWAN چیست؟ مسیر پیام از حسگر تا درگاه و سرور

در LoRaWAN، دستگاه پیام کوتاهش را با رادیو به درگاه می‌رساند و درگاه آن را به سرور می‌فرستد. مثال یک مزرعه، مسیر داده و محدودیت فرمان برگشتی را روشن می‌کند.

LoRaWAN چیست؟ مسیر پیام از حسگر تا درگاه و سرور
فهرست مطالب

LoRaWAN راهی برای رساندن پیام‌های کوتاه دستگاه‌ها، مثل دما یا وضعیت یک مخزن، به یک برنامهٔ مرکزی است. دستگاه پیام را با رادیوی LoRa می‌فرستد؛ درگاه یا Gateway آن را می‌شنود و از طریق شبکه به سرور می‌رساند. این روش برای گزارش‌های کم‌حجم و با فاصلهٔ زمانی مناسب است؛ برای فیلم، صدا یا کنترل فوری موتور انتخاب مناسبی نیست.

فرض کنید در یک مزرعه، ۲۰ نقطه باید هر ده دقیقه دما را گزارش کنند. حسگر وسیله‌ای است که یک ویژگی محیط، مثل دما، را اندازه می‌گیرد. دستگاه کنار حسگر، عدد را در یک پیام قرار می‌دهد.

LoRa با LoRaWAN چه فرقی دارد؟

برای ارتباط بی‌سیم، فرستنده تغییرهایی در موج رادیویی ایجاد می‌کند تا اطلاعات را منتقل کند. LoRa یکی از روش‌های ساختن همین تغییرهاست. LoRaWAN قواعد ارتباط دستگاه‌ها و مدیریت پیام‌ها را مشخص می‌کند؛ از جمله شکل پیام و نحوهٔ پیوستن دستگاه به شبکه. دو دستگاه ممکن است با LoRa مستقیماً به هم پیام بدهند، اما این به‌تنهایی یک شبکهٔ LoRaWAN نیست.

پس عبارت «ماژول LoRa» به معنی آماده‌بودن همهٔ اجزای LoRaWAN نیست. ماژول، مجموعه‌ای از قطعات آماده برای بخشی از کار است؛ ممکن است فقط ارتباط رادیویی را فراهم کند و هنوز به برنامه و پشتیبانی پروتکل نیاز داشته باشد. معرفی The Things Network تفاوت این دو نام را توضیح می‌دهد.

مسیر گزارش حسگر به دو درگاه احتمالی، سپس سرور شبکه برای حذف نسخهٔ تکراری و در پایان برنامهٔ نمایش داده
مسیر پیام از حسگر به برنامه. ممکن است دو درگاه همان پیام را دریافت کنند؛ سرور شبکه نسخهٔ تکراری را کنار می‌گذارد. نمودار: LCENJ، CC BY 4.0.

درگاه دقیقاً چه کاری انجام می‌دهد؟

درگاه حلقهٔ ارتباط رادیویی و شبکهٔ داده است. پیام دستگاه را دریافت می‌کند و معمولاً از راه کابل شبکه، Wi-Fi یا اتصال سیم‌کارتی به سرور می‌فرستد. سرور، رایانه‌ای است که برنامه‌های دریافت و مدیریت داده روی آن اجرا می‌شوند؛ لازم نیست حتماً در یک مرکز دوردست باشد و می‌تواند داخل شبکهٔ خصوصی همان مجموعه قرار بگیرد.

در مسیر معمول این درس، حسگرها به درگاه مشخصی جفت نمی‌شوند. اگر دو درگاه در محدوده باشند و یک پیام را بشنوند، هر دو می‌توانند نسخه‌ای از آن را جلو بفرستند. شنیده‌شدن به فاصله، مانع، آنتن و وضعیت ارتباط بستگی دارد؛ هر پیام الزاماً به هر دو نمی‌رسد. سند رابط‌های پشتی LoRa Alliance نقش درگاه در جلوفرستادن پیام را مشخص می‌کند.

درگاه معمولی محل تصمیم‌گیری دربارهٔ روشن‌کردن پمپ نیست. بعضی محصولات برنامهٔ محلی یا سرور داخلی هم دارند؛ این قابلیت اضافی را باید از نقش پایهٔ درگاه جدا دانست. همچنین یک گیرندهٔ تک‌کانالهٔ آزمایشی را نباید بدون بررسی، جای درگاه سازگار با نیاز شبکهٔ LoRaWAN گذاشت.

سرور شبکه و برنامه چه تفاوتی دارند؟

سرور شبکه، ارتباط دستگاه‌ها و درگاه‌ها را مدیریت می‌کند و نسخه‌های تکراری یک پیام را تشخیص می‌دهد. برنامهٔ کاربردی، معنی داده را برای کاربر روشن می‌کند؛ مثلاً عدد خام را با روش تعریف‌شده به درجهٔ سلسیوس تبدیل می‌کند و آن را در نمودار می‌گذارد. این دو نقش ممکن است روی یک رایانه اجرا شوند، اما کارشان یکسان نیست.

در مثال مزرعه، اگر گزارش شمارهٔ ۳۷ از دستگاه شمارهٔ ۷ را دو درگاه دریافت کنند، نباید در نمودار دو اندازه‌گیری مستقل ثبت شود. برابر بودن شمارهٔ گزارشِ دو دستگاه متفاوت، به معنی تکراری‌بودن اندازه‌گیری آن‌ها نیست. رسیدن بسته به سرور شبکه هم به‌تنهایی کافی نیست: برنامه باید قالب آن را بشناسد و وضعیت اعتبار اندازه‌گیری را بررسی کند. شرح معماری The Things Network این اجزا را کنار هم نشان می‌دهد.

مثال عددی: ۲۰ حسگر چه مقدار داده می‌سازند؟

فرض کنیم هر دستگاه هر ده دقیقه یک گزارش می‌دهد و دادهٔ کاربردی هر گزارش ۸ بایت است. بایت واحد اندازهٔ داده است و از ۸ بیت، یعنی هشت مقدار صفر یا یک، تشکیل می‌شود. هشت بایت این مثال می‌تواند با یک قرارداد مشخص برای شناسهٔ نمونه، دما و وضعیت خطا تقسیم شود؛ این یک قالب پیشنهادی عمومی برای همهٔ حسگرها نیست.

Reports per device per day = 24 × 60 / 10 = 144
Application data per device = 144 × 8 = 1152 bytes/day
Application data for 20 devices = 20 × 1152 = 23040 bytes/day

پس مجموع دادهٔ کاربردی روزانه ۲۳۰۴۰ بایت است. این مقدار کوچک به نظر می‌رسد، اما حجم داده به‌تنهایی ظرفیت شبکه را مشخص نمی‌کند. هر پیام اطلاعات همراه پروتکل دارد و ارسال دوباره، پیوستن به شبکه و پاسخ‌ها هم ارتباط را اشغال می‌کنند. عدد بالا هیچ‌کدام از آن‌ها را حساب نمی‌کند.

مدت حضور یک پیام روی هوا را airtime می‌نامند. برای دیدن اثر آن، فرض کنیم ارسال کامل یک پیام ۰٫۱ ثانیه طول بکشد؛ این مدت از محاسبهٔ تنظیمات رادیویی به دست نیامده و فقط فرض آموزشی است. برای یک دستگاه با ۱۴۴ ارسال، زمان ارسال روزانه 144 × 0.1 = 14.4 s می‌شود. نسبت آن به ۸۶۴۰۰ ثانیهٔ یک روز، حدود 0.0167% است. این نسبت، اعلام مجازبودن تنظیم رادیویی یا ظرفیت قابل اتکای شبکه نیست.

مدت واقعی پیام به اندازهٔ بسته و تنظیمات رادیو وابسته است. برای نمونه، پارامتری به نام Spreading Factor بخشی از این مبادله را کنترل می‌کند: با ثابت‌بودن پهنای باند و سایر تنظیمات، افزایش آن معمولاً دریافت سیگنال ضعیف‌تر را آسان‌تر و زمان ارسال را طولانی‌تر می‌کند. «بالاتر همیشه بهتر» نیست. راهنمای Spreading Factor این هزینه را توضیح می‌دهد.

چرا فرمان برگشتی ممکن است دیر برسد؟

پیام دستگاه به شبکه را uplink و پیام شبکه به دستگاه را downlink می‌نامند. در حالت رایج Class A، دستگاه بعد از فرستادن پیام، فرصت‌های کوتاهی برای دریافت پاسخ باز می‌کند. اگر پاسخ در آن فرصت‌ها نرسد، دریافت بعدی به ارسال بعدی دستگاه وابسته می‌شود. به همین دلیل، دستگاهی که هر ده دقیقه گزارش می‌دهد الزاماً فرمان شما را همان لحظه دریافت نمی‌کند.

کلاس‌های دیگر الگوی دریافت متفاوتی دارند و می‌توانند مصرف بیشتری هم داشته باشند؛ انتخاب آن‌ها باید با نیاز محصول هماهنگ باشد. هیچ‌کدام را بدون طراحی و آزمون، مسیر تضمینی توقف اضطراری یا کنترل سریع موتور ندانید. توضیح کلاس‌های دستگاه زمان‌بندی دریافت را شرح می‌دهد.

قطع اینترنت، برد و امنیت را جدا بررسی کنید

  • ارتباط درگاه تا سرور: اگر اتصال سیم‌کارتی یا اینترنت درگاه قطع شود، شنیدن پیام رادیویی الزاماً به دیده‌شدن آن در برنامه منتهی نمی‌شود. نگهداری و ارسال دوبارهٔ داده قابلیت تضمین‌شدهٔ هر درگاه نیست؛ رفتار محصول را بررسی کنید. سرور خصوصی محلی می‌تواند به اینترنت عمومی وابسته نباشد، اما همچنان مسیر شبکهٔ محلی لازم است.
  • پوشش: دیوار، زمین، نصب آنتن و تداخل نتیجه را تغییر می‌دهند. از نام LoRaWAN نمی‌توان فاصلهٔ تضمینی استخراج کرد؛ چند نقطهٔ واقعی و بدترین وضعیت نصب را بررسی کنید.
  • تنظیم منطقه‌ای: فرکانس، توان و محدودیت زمان ارسال باید با مقررات محل نصب و طرح شبکه سازگار باشند. یک ماژول با آنتن یا باند نامناسب با تغییر نام در تنظیمات درست نمی‌شود. درصد فرضی مثال بالا جای بررسی مقررات را نمی‌گیرد.
  • حفاظت داده: LoRaWAN سازوکارهای رمزگذاری و بررسی صحت پیام دارد، اما کلیدهای محرمانه و سامانهٔ مدیریت هم باید محافظت شوند. نسخهٔ پروتکل و روش ثبت دستگاه را مطابق مستندات همان پیاده‌سازی انتخاب کنید؛ برد طولانی به معنی ناشناس یا غیرقابل‌شنودبودن ارتباط نیست.

برای مقررات و محاسبهٔ زمان اشغال، راهنمای Duty Cycle نقطهٔ شروع است؛ عددهای منطقه‌ای آن را به همهٔ کشورها تعمیم ندهید. شرح امنیت LoRaWAN 1.0 در TTN نیز مربوط به همان نسخه است و نباید جزئیات کلیدهایش را بی‌بررسی به نسخهٔ ۱٫۱ تعمیم داد.

یک بررسی ساده پیش از انتخاب تجهیزات

روی کاغذ مسیر یک گزارش را دنبال کنید: «عدد حسگر معتبر است؟ دستگاه آن را فرستاده؟ درگاه شنیده؟ سرور دریافت کرده؟ برنامه معنی کرده؟» برای هر مرحله یک نشانهٔ قابل مشاهده تعیین کنید، مثل شمارهٔ گزارش و زمان دریافت. اگر نمودار خالی است، این ترتیب کمک می‌کند قطع ارتباط رادیویی را با اشکال قالب داده اشتباه نگیرید.

در مثال مزرعه، اگر دما خوانده نشده، عدد صفر را به‌جای دادهٔ معتبر نفرستید؛ وضعیت خطا را جدا مشخص کنید. اگر دو درگاه همان پیامِ یک دستگاه را دارند ولی برنامه فقط یکی را ثبت می‌کند، این می‌تواند نتیجهٔ درست حذف تکرار باشد. اگر گزارش‌ها با تأخیر به نمودار می‌رسند، زمان اندازه‌گیری را با زمان دریافت اشتباه نگیرید.

برای ادامه، سنسور چیست به انتخاب اندازه‌گیری مناسب کمک می‌کند و مسیر یادگیری سیستم‌های امبدد جای حسگر، برنامه و آزمون را در یک دستگاه نشان می‌دهد. مثال‌های این صفحه فرضی و محاسباتی‌اند؛ اندازه‌گیری برد، آزمون باتری یا ارسال رادیویی برای آن‌ها انجام نشده است.

پرسش و پاسخ مقاله

سوال فنی خود را مطرح کنید

پرسش‌ها و پاسخ‌ها پس از بررسی مدیر منتشر می‌شوند. نویسنده، پیش‌نویس در انتظار بررسی را می‌بیند.

هنوز پرسش تاییدشده‌ای برای این مقاله ثبت نشده است.