بررسی مفاهیم، امنیت، ساختار داده و شیوه های پیادهسازی عملی
چکیده
با گسترش اینترنت اشیا (IoT) و افزایش نیاز به پایش و کنترل از راه دور تجهیزات صنعتی، استفاده از پروتکلهای ارتباطی سبک، سریع و قابل اطمینان اهمیت ویژهای یافته است. MQTTیکی از پرکاربردترین پروتکلهای ارتباطی در حوزه IoT است که بهدلیل ساختار ساده، سربار کم و مصرف پایین پهنای باند، بهطور گسترده در محیطهای با محدودیت سختافزاری و ارتباطی مورد استفاده قرار میگیرد. این مقاله به بررسی معماری MQTT، مکانیزم انتقال داده، نقش Brokerو کاربرد عملی آن در اتوماسیون صنعتی میپردازد.
-
مقدمه
رشد سریع فناوریهای دیجیتال در دهههای اخیر باعث شده است که سیستمهای اتوماسیون صنعتی از حالت جزیرهای و محلی خارج شده و به سیستمهایی متصل، هوشمند و دادهمحور تبدیل شوند. در این میان، اینترنت اشیا صنعتی یا IIoT (Industrial Internet of Things)نقشی کلیدی در ایجاد ارتباط بین تجهیزات فیزیکی و سامانههای نرمافزاری ایفا میکند. هدف اصلی IIoT تنها مانیتورینگ نیست، بلکه ایجاد بستری برای تصمیمگیری هوشمند، نگهداری پیشبینانه، بهینهسازی مصرف انرژی و افزایش بهرهوری است.
پروتکل MQTT بهعنوان یکی از مهمترین فناوریهای ارتباطی در IIoT، به دلیل معماری ساده، سربار کم و سازگاری بالا با شبکههای صنعتی و اینترنت، بهطور گسترده در پروژههای اتوماسیون صنعتی هوشمند، مدیریت انرژی و کارخانههای هوشمند استفاده میشود.
-
اینترنت اشیا صنعتی (IIoT) و نقش آن در اتوماسیون
اینترنت اشیا صنعتی به مفهومی اطلاق میشود که در آن تجهیزات صنعتی نظیر سنسورها، PLCها، HMIها، درایوها و سیستمهای کنترلی به شبکه متصل شده و دادههای عملیاتی خود را بهصورت پیوسته تبادل میکنند. این دادهها میتوانند بهصورت محلی برای کنترل فرآیند استفاده شوند یا به سرورهای ابری ارسال گردند تا تحلیلهای پیشرفته روی آنها انجام شود.
در یک سیستم سنتی اتوماسیون ،PLC تنها با ورودیها و خروجیهای محلی در ارتباط است و HMI صرفاً نقش نمایشگر را دارد. اما در معماری IIoT، PLC و HMI به گرههایی هوشمند تبدیل میشوند که میتوانند دادهها را منتشر کرده، فرمان دریافت کنند و با سامانههای خارجی نظیر Cloud و اپلیکیشنهای موبایل تعامل داشته باشند. بهعنوان مثال، در یک گلخانه صنعتی، دمای محیط، رطوبت، شدت نور و وضعیت فنها بهصورت پیوسته اندازهگیری میشود. این اطلاعات نهتنها برای کنترل لحظهای استفاده میشوند، بلکه ذخیره شده و برای تحلیل عملکرد فصلی، مصرف انرژی و پیشبینی خرابی تجهیزات نیز به کار میروند. چنین قابلیتی بدون IIoT عملاً امکانپذیر نیست.
3.معماری اینترنت اشیا صنعتی (IIoT)
در معماری IIoT، سیستم به چندین لایه منطقی تقسیم میشود که هر لایه وظایف مشخصی را بر عهده دارد. در لایه میدانی، سنسورها پارامترهای فیزیکی مانند دما و رطوبت را اندازهگیری میکنند. این دادهها به PLC منتقل شده و الگوریتمهای کنترلی بر روی آنها اجرا میشود. HMI بهعنوان رابط انسان و ماشین، امکان مشاهده وضعیت سیستم و تنظیم پارامترها را فراهم میسازد. در لایههای بالاتر، دادهها از طریق شبکههای صنعتی و اینترنت به Broker MQTT ارسال میشوند. Broker بهعنوان هسته مرکزی ارتباطات، دادهها را میان مصرفکنندگان مختلف شامل سامانههای ابری( Cloud) ، پایگاه داده و اپلیکیشنهای موبایل توزیع میکند. این ساختار ماژولار باعث افزایش مقیاسپذیری و سهولت توسعه سیستم میشود.
-
مفهوم پروتکل MQTT
MQTT (Message Queuing Telemetry Transport) یک پروتکل پیامرسان سبک مبتنی بر TCP/IP است که برای انتقال داده در شبکههایی با پهنای باند محدود و پایداری کم طراحی شده است. برخلاف پروتکلهای کلاسیک صنعتی ، MQTT یک پروتکل رویدادمحور است. این بدان معناست که داده تنها زمانی ارسال میشود که تغییری رخ دهد یا رویدادی اتفاق بیفتد.
در MQTT، فرستنده و گیرنده داده مستقیماً با یکدیگر در ارتباط نیستند. تمام پیامها از طریق یک سرور مرکزی به نام Broker منتقل می شوند. این ساختار باعث کاهش وابستگی بین اجزای سیستم و افزایش انعطافپذیری میشود. بهعنوان مثال، یک PLC میتواند دمای اندازهگیریشده را منتشر کند بدون آنکه بداند چه تعداد سیستم یا اپلیکیشن در حال دریافت این داده هستند.
در کاربرد صنعتی، این ویژگی بسیار مهم است، زیرا ممکن است بهطور همزمان یک SCADA، یک سرور Cloud و چند اپلیکیشن موبایل نیازمند دریافت همان داده باشند. MQTT این کار را بدون افزایش پیچیدگی در سمت PLC انجام میدهد.
-
بروکر MQTTو اهمیت آن در سیستمهای صنعتی
بروکر، وظیفه دریافت پیامها از Publisherها و توزیع آنها بین Subscriberها را بر عهده دارد. در اتوماسیون صنعتی، Broker تنها یک واسط ساده نیست، بلکه نقش مهمی در پایداری، امنیت و مدیریت داده ایفا میکند. برای مثال، Broker Mosquito که یکی از پرکاربردترین Brokerهای MQTT است، این Broker میتواند هزاران پیام در ثانیه را مدیریت کند و در صورت قطع موقت ارتباط، پیامها را نگهداری کرده و پس از برقراری مجدد ارتباط ارسال نماید.
برای مثال در یک گلخانه هوشمند، Broker میتواند در نقش نقطه مرکزی بین PLC گلخانه، سرور تحلیل داده و اپلیکیشن موبایل مدیر گلخانه عمل کند. حتی اگر اینترنت موبایل برای چند دقیقه قطع شود، سیستم کنترلی محلی بدون اختلال به کار خود ادامه میدهد و پس از اتصال مجدد، دادهها همگامسازی میشوند.
-
ساختار Topic و مدل Publish/Subscribe
Topic در MQTT همانند آدرسدهی داده عمل میکند. طراحی درست Topicها یکی از مهمترین بخشهای یک پروژه صنعتی مبتنی بر MQTT است Topic باید بهگونهای طراحی شود که ساختار فیزیکی و منطقی سیستم را منعکس نماید. MQTT بر اساس مدل Publish / Subscribe کار میکند. Topic مانند یک «آدرس منطقی» است که مشخص میکند پیام مربوط به چیست. دستگاه دادهای را روی یک Topic ارسال میکند و Topic ، مسیر داده را مشخص می نماید.
مثال Topic ارسال دمای بویلر 1 : Factory/Boiler1/Temp
یعنی:
- factory → کارخانه
- boiler1 → بویلر شماره ۱
- Temp → مقدار دما
Subscriber هر پیامی با Topic مشخص را دریافت مینماید.
Payload داده واقعی پیام است برای مثال وضعیت ON/OFF یا مقدار محتوا که همراه Topic بصورت عددی یا دیتای متنی ارسال میشود.
در مثال گلخانه، Topicها را میتوان به شکلی طراحی کرد که هر گلخانه، هر ناحیه و هر پارامتر بهصورت شفاف مشخص باشد. در این حالت، PLC دمای یک ناحیه خاص را منتشر میکند و اپلیکیشن (برنامه موبایل) تنها با Subscribe کردن همان Topic، داده مورد نظر را دریافت میکند. این روش باعث میشود که سیستم حتی با افزایش تعداد گلخانهها یا سنسورها همچنان منظم و قابل مدیریت باقی بماند.
-
کیفیت سرویس (QoS) و تأثیر آن در انتقال پیام
MQTT سه سطح کیفیت سرویس QoS را ارائه میدهد که انتخاب آنها در پروژههای صنعتی بسیار حیاتی است. در فرآیندهایی مانند مانیتورینگ دما، از دست رفتن یک پیام ممکن است مشکل جدی ایجاد نکند، اما تکرار بیش از حد پیامها یا تأخیر زیاد نیز میتواند نامطلوب باشد.
7.1مفهوم QoS در MQTT
QoS یا Quality of Service در MQTT مشخص میکند که یک پیام با چه میزان تضمین تحویل داده بین Publisher و Subscriber منتقل شود. از آنجا که MQTT روی TCP/IP اجرا میشود، QoS به معنی تضمین تحویل منطقی پیام کاربردی است. این موضوع در سیستمهای صنعتی بسیار حیاتی است، زیرا برخی پیامها فقط اطلاعات مانیتورینگ هستند و برخی دیگر فرمان کنترلی که از دست رفتن یا تکرار آنها میتواند به خرابی سیستم منجر شود.
QoS 0 – At Most Once حداکثر یک بار
در QoS 0، پیام بدون هیچ تأییدی ارسال میشود Publisher پیام را منتشر میکند و ادامه میدهد، بدون آنکه بداند داده توسط Subscriber ، دریافت شده یا خیر. اگر پیام در مسیر شبکه گم شود، هیچ تلاشی برای ارسال مجدد انجام نمیشود.
این سطح QoS کمترین سربار شبکه و کمترین تأخیر را دارد و برای دادههایی مناسب است که بهصورت پیوسته و با نرخ بالا ارسال میشوند و از دست رفتن چند نمونه از آنها اهمیت حیاتی ندارد.
در مثال کنترل دمای گلخانه، دادههای لحظهای دما که هر ثانیه یا هر چند صد میلیثانیه ارسال میشوند، معمولاً با QoS 0 منتشر میگردند. اگر یکی از این پیامها گم شود، پیام بعدی جایگزین آن خواهد شد و سیستم کنترلی دچار مشکل جدی نمیشود.
QoS 1 – At Least Once حداقل یک بار
در QoS 1، تحویل پیام تضمین میشود اما امکان دریافت تکراری وجود دارد. پس از ارسال پیام، Publisher منتظر دریافت پیام تأیید (PUBACK) از Broker یا Subscriber میماند. اگر این تأیید دریافت نشود، پیام دوباره ارسال میشود. این سطح QoS تعادل مناسبی بین اطمینان و سربار شبکه ایجاد میکند و برای پیامهایی مناسب است که نباید از دست بروند، اما دریافت تکراری آنها مشکلی ایجاد نمیکند یا سیستم قادر به تشخیص تکرار است. در گلخانه، فرمان تغییر Setpoint دما یا گزارش وضعیت معمولاً با QoS 1 ارسال میشود. اگر این پیام دوبار دریافت شود ولی مقدار Setpoint یکسان باشد، سیستم دچار خطا نخواهد شد.
QoS 2 – Exactly Once دقیقاً یک بار
QoS 2 بالاترین سطح تضمین را فراهم میکند. در این حالت، پیام دقیقاً یک بار به Subscriber تحویل داده میشود؛ نه گم میشود و نه تکراری تحویل داده میشود.. به دلیل فرآیند پیچیده، QoS 2 بیشترین سربار، بیشترین تأخیر و بیشترین مصرف منابع را دارد و در سیستمهای صنعتی فقط برای پیامهای بسیار حساس استفاده میشود. در مثال گلخانه، فرمانهای بحرانی مانند خاموش کردن اضطراری سیستم گرمایش یا تغییر حالت کنترلی از MANUAL به AUTO میتوانند با QoS 2 ارسال شوند تا از اجرای دقیق و تنها یکباره آنها اطمینان حاصل شود.
-
راه حلهای FATEK در حوزه سرور ابری FATEKIOT و MQTT
8.1 مانیتورینگ و جمعآوری داده در زمان واقعی(iMonitor)
iMonitor بخش اصلی پلتفرم FATEK IoT برای مشاهده و تحلیل دادههای فرآیندی است. امکان مانیتورینگ دستگاههای پراکنده، جمعآوری تاریخچه عملکرد، تحلیل مشکلات را فراهم میسازد.
قابلیتهای iMonitor : نمایش دادهها از دستگاههای PLC/HMI در زمان واقعی از طریق مرورگر یا اپ موبایل (بدون نیاز به نرمافزار اضافی)، گزارشگیری و ذخیرهسازی داده (Data Log)، رسم نمودار (Trend) و مدیریت آلارمها (Alarm) و و ارسال هشدار به کاربران از طریق SMS و Email میباشد.
8.2 نگهداری و پشتیبانی از راه دور iAccess
iAccess قابلیت ارتباط و کار با دستگاهها را از راه دور ، امکان رفع عیب بدون حضور فیزیکی بهصورت از راه دور بدون نیاز به IP ثابت و بروزرسانی نرمافزار بدون نیاز در محل دستگاه فراهم میسازد.
امکانات iAccess :
نمایش و کنترل صفحه HMI، انتقال فایل (File Transfer) جهت آپلود/دانلود پروژه، دستورالعمل یا فایلهای داده بهصورت امن جهت بهروزرسانی یا نگهداری و پشتیبانی چندپلتفرمی از طریق مرورگر PC، موبایل Androidو ios
8.3 محلیابی و ردیابی دستگاهها (iLocation)
iLocation قابلیت موقعیتیابی سرویس IoT FATEK است که برای دستگاههای نصبشده در مکانهای مختلف کاربرد دارد.
- نمایش مختصات جغرافیایی GPS دستگاهها روی نقشه
- بهروزرسانی مستمر موقعیت GPS و ثبت مسیر حرکت یا تغییر موقعیت دستگاهها.
8.4 قابلیت پشتیبانی FATEK از سرور MQTT
- پشتیبانی کامل از پروتکل MQTTدر FATEK HMI و نسل جدیدFATEK MPLC
9. کاربرد عملی: کنترل دمای گلخانه
در سیستمهای پایش و کنترل هوشمند گلخانه، استفاده از پروتکل MQTT بهعنوان یک راهکار سبک، سریع و قابلاطمینان برای تبادل داده استفاده میشود. نمایشگرهای صنعتی برند FATEK میتوانند مقادیر دما و رطوبت سنسورها را جمعآوری و با فعال کردن سرور MQTT و انجام تنظیمات Broker و بخش Topic جهت Publish/Subscribe در نرم افزار FVDesigner، مقادیر سنسور را برای بروکر Mosquitto ارسال نماید. Subscriber (اپلیکیشن موبایل پیشنهادی IoT MQTT Panel Pro) دادهها را دریافت و سیستم گرمایش و سرمایش را مانیتور مینماید. همچنین اپلیکیشن میتواند فرمان کنترلی خاموش و روشن شدن و مقادیر ست پوینت را صادر و Publish نماید. بهمنظور پایش دمای محیط گلخانه، یک Topic اختصاصی با عنوان Greenhouse/Temperature/Item0 تعریف میشود. این تاپیک مسئول ارسال و دریافت اطلاعات مربوط به دمای لحظهای محیط است و دادهها معمولاً بهصورت ساختارمند منتشر میشوند. بهصورت مشابه، برای اندازهگیری و نمایش رطوبت نسبی گلخانه، تاپیک مستقلی با عنوان Greenhouse/Humidity/Item1 در نظر گرفته میشود.
تنظیمات Server MQTT در FVDesigner-FATEK HMI
اپلیکیشن موبایل IoT MQTT Panel Pro یک اپلیکیشن کلاینت MQTT است و با اتصال به بروکر با IP / Domain از طریق پروتکل MQTT به تاپیکهای تعریفشده در HMI متصل شده و دادههای فرایندی منتشر شده (Publish) از FATEK HMI را بهصورت عددی و گرافیکی نمایش میدهد. با دریافت پیام (Subscribe)، از FATEK HMI روی تاپیک تعریف شده، میتواند مقدار دما و رطوبت لحظهای را بهصورت عددی یا گیج گرافیکی نمایش دهد.
اپلیکیشن موبایل IoT MQTT Panel Pro
10. نتیجهگیری
بررسی عمیق MQTT و IIoT نشان میدهد که این فناوریها تنها ابزارهای ارتباطی ساده نیستند، بلکه زیرساختی اساسی برای اتوماسیون صنعتی مدرن محسوب میشوند. استفاده از MQTT در کنار معماری درست، امنیت TLS و ساختار داده مناسب، امکان پیادهسازی سیستمهایی هوشمند، امن و مقیاسپذیر را در اتوماسیون صنعتی فراهم میسازد.
منابع:
- org, MQTT Version 3.1.1, 2014.
- Eclipse Mosquitto, Open Source MQTT Broker, http://mosquitto.org.
- fx, MQTT Client Application, https://mqttfx.jensd.de/index.php/download.
- FATEK Automation, HMI MQTT User Manual, 2019.
- Banks et al., MQTT and IoT Security, IEEE Internet of Things Journal, 2021.
- Light, Mosquitto: Lightweight MQTT Broker, 2020.
- راهنمای پروتکل MQTT https://dornamehr.com/download-center/?download-catalog=1&file-id=243







