مهدی اشراقی
مهندس شبکه و Embeded system
مهدی اشراقی
مهندس شبکه و Embeded system
نوشته بلاگ

نصب MQTT broker در لینوکس و پیکربندی اولیه

نصب MQTT broker در لینوکس و پیکربندی اولیه

در این پست یاد میگیریم مراحل نصب MQTT broker چگونه است و پیکربندی اولیه در لینوکس اوبونتو.

سلام .

قبلا یاد گرفتیم MQTT چیست و چه کاربردهایی داره .

اگر بخواید از Mqtt استفاده کنید احتیاج به mqtt بروکر یا همون سرور mqtt داریم .

شما میتونید از سرور های ابری استفاده کنید یا سرور شخصی خودتون رو بسازید . اگر از سرور های ابری استفاده کنید تمامی تنظیمات به صورت ساده تری به شما نمایش داده میشه ولی باید بابتش ماهیانه مبلغی رو پرداخت کنید و اگر سرور شخصی خودتون رو بسازید دست شما برای تنظیمات باز تره ولی احتیاج به پیکربندی بیشتری دارید .

من برای سرور mqtt از mosquitto استفاده کردم و از لینوکس ubuntu server هم به عنوان سیستم عامل استفاده میکنم .

نصب mqtt سرور بر روی لینوکس اوبونتو :

نصب Mqtt broker . روش اول :

در زمان نصب Ubuntu Server در قسمتی که شما امکانات مورد نیاز برای سرور رو انتخاب میکنید فقط گزینه رو انتخاب کنید و گزینه نصب رو بزنید و در زمان نصب سیستم عامل ، mqtt بروکر به صورت خودکار نصب میشه .

نصب mqtt سرور

نصب Mqtt broker . روش دوم :

شاید شما سیستم عامل رو قبلا نصب کردید و یا از رسپری پای به عنوان سرور mqtt استفاده میکنید پس از این روش استفاده کنید .

وارد خط فرمان لینوکس بشید (از طریق SSH ) و این دستورات رو وارد کنید .

  1. طبق معمول همیشه اول منابع نرم افزاری سرور خودتون رو به روز کنید که اگر نسخه جدیدی از Mqtt سرور موجود باشه لینوکس شما متوجه بشه .
  2. با دستور زیر Mqtt Broker خودتون رو نصب کنید .

    بعد از وارد کردن دستور بالا ، پیام تایید نصب رو به کلید y به معنی yes وارد کنید .

بعد از اتمام مراحل نصب بروکر mqtt روی سیستم نصب شده و قابل استفاده هست . برای اینکه بفهمیم آیا mqtt broker روی سرور ما اجرا شده یا نه از دستور زیر استفاده کنید .

با اجرای دستور بالا اگر بروکر روی سرور در حال اجرا باشه شماره pid های بروکر رو به شما نشون میده .

راه اندازی اولیه سرویس Mqtt :

Mqtt به صورت پیش فرض از پورت ۱۸۸۳:tcp استفاده میکنه .

تنظیمات فایروال لینوکس برای mqtt بروکر :

اگر از فایروال استفاده می‌کنید این کار رو انجام بدید .

با دستور زیر این کار رو انجام بدید .

با استفاده از دستور بالا  ورودی ها به سرور از طریق پورت tcp/1883 رو باز میکنیم .

اگر بعد از انجام مراحل نصب سرویس Mqtt به صورت خودکار اجرا نشد با دستور زیر اول رو به صورت پس زمینه اجرا کنید . در این حالت سرور شما شروع به کار میکنه اما چیزی رو به صورت محسوس نمی بینید .

اجرای سرویس Mqtt در زمان اجرای سیستم عامل به صورت خودکار :

برای اجرای Mqtt سرور به صورت خودکار در زمان راه اندازی لینوکس باید اون رو در برنامه های اجرای خودکار اضافه کنید .

دستور زیر رو اجرا کنید تا وارد تنظیمات Cronjob بشید .

بعد از وارد کردن دستور بالا گزینه ۱ رو انتخاب کنید .

در آخر فایل باز شده دستور زیر رو اضافه کنید .

با کلید ترکیبی Ctrl + X فایل باز شده رو ببندید و y رو به نشانه تایید ذخیره وارد کنید .

اجرای خودکار Mqtt سرور

تنظیمات اولیه Mqtt Broker :

بدون استفاده از این مرحله هم میتونید از سرور خودتون استفاده کنید و هر پیامی که به آدرس IP یا DNS-Name سرور ارسال کنید توسط سرور پذیرفته میشه . ولی توصیه میکنم این مرحله رو انجام بدید .

امن سازی Mqtt broker با رمز عبور :

در حالت عادی سرور Mqtt از نام کاربری و رمز عبور استفاده نمیکنه . برای فعال کردن این قابلیت ۳ مرحله رو باید طی کنید.

ساخت نام کاربری و رمز عبور به صورت رمزنگاری نشده :

با استفاده از ابزار mosquitto_passwd میتونید نام کاربری و رمز عبور بسازید . به مثال زیر دقت کنید .

با دستور بالا برنامه mosquitto_passwd با دسترسی مدیر سیستم اجرا میشه و فایلی در مسیر /etc/mosquitto/passwd میسازه سپس اون رو به نام کاربری meties ارجاع میده .

با اجرای دستور بالا چون دسترسی مدیر رو درخواست کردید ابتدا رمز لینوکس رو از شما میپرسه و سپس با نمایش عبارت : Password از شما رمز عبوری رو برای نام کاربری که در انتهای دستور بالا وارد کردید درخواست میکنه .

مجدد عبارت Reenter password: رو نمایش میده که رمز عبور انتخابی رو مجددا وارد کنید و تمام !

دقت داشته باشید فقط مرتبه اول استفاده از اسکریپت ساخت پسورد باید از c- استفاده کنید و برای ساخت نام کاربری و رمز عبور های بعدی نیازی به استفاده از c- نیست .

ساخت فایل تنظیمات و  اعمال روی سرور :

در حالت عادی بعد از اجرای بروکر mqtt ، سرور با تنظیمات پیش فرض اجرای میشه و برای اینکه یه سری از تنظیمات پیش فرض رو تغییر بدیم نیاز به ساخت فایل conf. داریم که یک سری تنظیمات رو از حالت پیش فرض تغییر بدیم . در اینجا من از فایل default.conf استفاده میکنم که به صورت پیش فرض توسط سرور استفاده میشه ، شما میتونید هر تعداد که خواستید فایل تنظیمات بسازید و زمان اجرا اون فایل تنظیمات رو به بروکر بدید تا اجرا کنه ولی default.conf به صورت پیش فرض توسط خود سرور خونده میشه .

خوب حالا باید تنظیماتی رو انجام بدیم که کسی بدون نام کاربری و رمز عبور نتونه از سرور استفاده کنه .

فایل تنظیمات رو با دستور زیر بسازید و با ویرایشگر باز کنید .

در صفحه باز شده عبارت های زیر رو اضافه کنید .

خط اول برای اجازه استفاده از بروکر بدون نام کاربری و رمز عبور هست . خط دوم برای شناسایی فایل حاوی رمز عبور ها هست.

تنظیمات mqtt

راه اندازی مجدد سرویس mqtt broker :

با دستور زیر سرویس mqtt broker رو restart کنید .

تمام !

تست Mqtt Broker :

برای تست سیستم شما میتونید از هر client که خواستید استفاده کنید . من از یه افزونه روی گوگل کروم و یه نرم افزار روی گوشی اندرویدی استفاده میکنم .

کلاینک mqtt برای اندروید

کلاینک mqtt برای ویندوز 

MQTT Lens افزونه گوگل کروم

منبع : mosquitto.org

برچسب ها:
۲ دیدگاه
  • علی ۱۲:۵۷ ۲۲, شهریور,۱۳۹۹ پاسخ

    با سلام.ممنون از اموزشتون
    اگه ممکن هست راه ارتباط با وب سوکت رو هم بزارید
    ممنون

    • مهدی اشراقی ۰۹:۳۳ ۲۶, شهریور,۱۳۹۹ پاسخ

      سلام .حتما در آموزش های بعدی ارتباط با برنامه های مختلف رو توضیح میدم .

درج دیدگاه

ضبط پیام صوتی

زمان هر پیام صوتی 1 دقیقه است