نصب و راه اندازی بروکر Mosquitto
1130
۲ سال پیش
0

نصب و راه اندازی بروکر Mosquitto

بسیار خوب...

امروز یه مقاله خیلی خوب در مورد اینترنت اشیا یا Iot داریم.

بنابر تصمیمی که گرفتم تا تجربیاتم رو به وبلاگ منتقل کنیم از همین رو نتونستم بحث mosquitto رو وسط نکشم.

این دو بزرگوار (اینترنت اشیا و mosquitto) برادرای تنی هم دیگه هستن و توی جهان برای همه برنامه نویسا شناخته شدن هستن.

mosquitto رو معمولا تا جایی که دیدم بصورت "ماسکوتی" تلفظ کردن ولی خوب ماسکیوتی هم میگن ولی درست نیست (اگه اشتباه نکنم).

در مورد mosquitto میتونید از اینجا بیشتر بخونید.

خوب ولی بروکر اصلا چیه؟

بروکر یه موتور پردازشی هستش که همه اتفاقات و پیام های دریافتی رو بین دستگاه ها تقسیم میکنه البته به قولی route میکنه.

مثلا شما وقتی به دستگاه B پیام میدید در واقع میره بروکر و اونجا هدایت میشه به دستگاه B.

پس بروکر میشه این.

بروکر های زیادی هستن که هر کدوم مزیت خودشو داره و همینطور نیاز خودش رو منتهی ما قراره فقط از mosquitto حرف بزنیم.

مدت هاس از mosquttio استفاده میکنم بروکر باحالیه و بصورت تک پردازنده اجرا میشه ینی وقتی شما اجراش میکنید بصورت مالتی ترد نیست و همه به یه نقطه وصل میشن.

البته با قابلیت bridge میشه چند تا نسخه ازش اجرا کرد و از ظرفیت سی پی و استفاده کرد ولی خوب ذاتا نمیتونه از کل ظرفیت سی پی یو استفاده کنه.

خلاصه طبق نظرات برنامه نویسا،بنچمارک خوبی داشته و اینطور که پیداس با یه سی پی یو دو هسته ای و رم 2 گیگ تونسته تا 50 هزار کاربر با یه سری تنظیمات،هندل کنه.

البته تنظیمات خیلی مهمه که که این بروکر عزیز کلی تنظیمات به ما داده که میشه ظرفیتش رو برد بالا که قراره مقاله دیگه بهتون انتقال بدم.

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

سرعت بسیار بالاس چون با سوکت سر و کله میزنه البته یه لایه بالاتر از سوکت میشه و خود سوکت سرعت فضایی داره ولی چون بحث امنیت و یه سری امکانات که بهش اضافه میشه در واقع میشه مثلا socket.io یا وب سوکت یا MQTT.

خوب mosquttio با وب سوکت و MQTT کار میکنه ینی از طریق این مدل ینی سوکت یا mqtt اطلاعات رو میگیره و میفرسته (فراموش نکنید mosquitto کار اصلی ش route کردن پیام هاس)

و اما MQTT چیه؟

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

اینطوریه که مثلا همه دستگاه ها به یه گروه یا روم یا topic متصل میشن و گوش میدن به پیام هایی که بهشون میاد که توی بحث بروکر و اینترنت اشیا بهش میگیم subscribe.

بعد یه دستگاهی که به اون گروه پیام میده،mosquitto میاد به همه دستگاه هایی که به این گروه گوش میدن پیام ها رو میفرسته که بهش میگن publish.

ساده ترین مثالش میشه چت روم.

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

اینجا توضیح کوتاه و کاربردی از mosquitto میدم که مزنه دستتون بیاد:

- ساده و سبک

- رایگان و داشتن جامعه برنامه نویسی بزرگ

- ارایه شده برای ویندوز و لینوکس

- پشتیبانی از ssl و tls

- قابلیت هماهنگ کردن روی چندین سرور

- هماهنگ بودن با اخرین نسخه از پروتکل MQTT

- خلاصه زیاد امکانات داره حضور ذهن ندارم بگم

خوب زیاد توضیح نمیدم هدف چیز دیگه س.

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

شما میتونید از اینجا با توجه به سیستم عاملتون اونو دانلود کنید و نصب کنید.

برای لینوکس نسخه Centos کافیه دستور

sudo yum -y install mosquitto 

رو بنویسید و اینتر بزنید که نصب میشه و با دستور

sudo systemctl start mosquitto

میتونید بروکر رو فعال کنید و در ویندوز هم بصورت wizard یه سری مراحل طی میشه و برنامه نصب میشه (معمولا توی مسیر C:\Program Files\mosquitto نصب میشه)

بعد اینکه نصب کردید میتونید از امکاناتی که جهت مدیریتش به شما داده استفاده کنید و هیچ فرقی هم بین ویندوز و لینوکس از لحاظ دستورات و امکانات نداره و فقط یه امکانش توی لینوکس هست که ارجعیت داره به ویندوز که قرار شد در ادامه بگم.

خلاصه...

mosquitto دو تا برنامه مهم داره که باید بدونید.

یکیش mosquitto هست و یکیش mosquitto_passwd که هر دو توی لینوکس و ویندوز با همین اسمها قابل دسترسی ن.

توی ویندوز کافیه برید محل نصب که میبینید و لینوکس هم که کافیه فقط دستورشو بنویسید.

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

برا اینکار نیاز به شماره پورت خواهید داشت که پیش فرضش 1883 هستش و حتما توی لینوکس و ویندوز باید بازش کنید که دستگاه ها بتونن بهش گوش بدن و پیام بگیرن یا بفرستن.

از اونجایی که کار با ابزار های ارسال و دریافت پیام خود mosquitto برا من شخصا روو مخه برا همین از ابزارهایی چون mqttbox برای اینکار استفاده میکنم.

و اما اجرای mosquitto

کافیه توی لینوکس دستور mosquitto -p PORT رو بنویسید و بجای اون PORT شماره پورت مورد نظر رو بنویسید و اینتر رو بزنید که بروکر شروع به هندل کردن پیام ها میکنه.

و توی ویندوز خط فرمان رو ببرید به پوشه mosquitto و دستور بالا که برای لینوکس رو نوشتم بنویسید و اینتر بزنید یا اینکه فایل mosquitto.exe رو بکشید بیارید توی command prompt یا cmd.exe و جلوش عبارت -p PORT رو بنویسید که PORT همون پورت هست و اینتر بزنید.

و اینطوری میشه که بروکر اجرا میشه و شما میتونید از هر جایی به آی پی سیستم تون یا سرورتون با پورت مشخص شده وصل بشید و تستش کنید.

اگه توی لوکال باشه باید آی پی لوکال بدید و اگه روی سرور باشه باید آی پی سرور رو بدید.

برای تست میتونید توی ابزار mqttbox که بالا گفتم وارد بشید و یه MQTT Client جدید بسازید و آی پی و پورت رو اونجا بدید و ذخیره کنید و سپس توی لیست client ها روی مورد ساخته شده کلیک کنید و اگه مشکلی توی اتصال نباشه،بالا گزینه ای با نام connected که سبز رنگ هست میبینید و میتونید از قسمت Topic to publish پیام هاتون رو بفرستید و از سمت چپ هم پیام هایی که دریافت میشه رو بگیرید.

این بحث اجرای mosquitto یکی از ابتدایی ترین مسائل بود که فقط بدونید چطوری نصب و راه اندازی کنید.

توی مقاله بعدی در مورد تنظیماتش میگم که خیلی خفنه.

امیدوارم مقاله خوبی براتون باشه.

برچسب ها :
  • mosquitto
  • broker
نظر خود را بنویسید...