در قسمت قبل ما نحوه پیاده سازی سرور broker  رو توی ویندوز توضیح دادیم و در آخر اون سرور رو اجرا کردیم .

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

این آموزش خیلی جذاب خواهد بود و به احتمال زیاد از کد های این قسمت برای پیاده سازی اپلیکیشن اندرویدی که به broker  وصل بشه ، استفاده خواهیم کرد.

ممکنه که بگید چطوری از nodejs برای برنامه نویسی اندروید استفاده میکنی ؟

خب جوابش سادست .باید بگم که دیگه دوره برنامه نویسی native داره تموم میشه .این روز توی دنیا البته غیر از ایران عزیز خودمون دارند از برنامه نویسی Hibrid استفاده میکنند . یعنی ترکیبی از برنامه نویسی native و html و CSS و JS .خیلی این بحث رو توی این قسمت باز نمی کنم و می رم سراغ پیاده سازی این mqtt client .

فقط این نکته رو بگم که با برنامه نویسی Hibrid یک بار کد میزنید و برای هر پلتفرمی که خواستید بیلد یا خروجی میگیرید . این خروجی میتونه ios و android  و windowsphone و… باشه همین .

خب اما mqtt client .

ابتدا باید nodejs رو نصب کرده باشید تا بتونید کد ها رو اجرا کنید . برای نصب nodejs به این سایت مراجعه کنید .حجم فایل نصبی خیلی کمه شاید در حدود 12 مگابایت باشه.

خب حالا یه پوشه خالی ایجاد کنید و داخل پوشه خالی با نگه داشتن کلین shift و راست کلیک کردن روی گزینه Open command window here کلیک کنید تا cmd باز بشه .

سپس با نوشتن

یه پروژه توی این فولدر خالی ایجاد کنید . وقتی که cmd از شما سوال پرسید کلمه yes  رو بنویسید . حالا داخل پوشه شما یه فایل به اسم package.json ایجاد شده .

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

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

این خط میره و ماژول های مورد نیاز برای کار با mqtt رو برای ما دانلود میکنه و با نوشتن save– ما ورژن نصب شده رو داخل package.json ثبت کردیم .

حالا داخل فولدر یه فایل خالی با نام app.js ایجاد کنید.این فایل قراره برنامه ما بشه .

داخل فایل ایجاد کرده خود این کد های زیر رو قرار بدید .

این کد ها خودشون رو به عنوان یک pub-sub به broker  وصل میکنند. و هم می تونند دیتا به broker بفرستند و هم ازش داده بخونند.

خب فقط کافیه کد تغییرات رو ذخیره کنید و توی cmd بنویسید .

خواهید دید که برنامه اجرا میشه . در رابطه با کد ها خیلی توضیح نمیدم چون سادست .اگه دو قسمت قبل رو خونده باشید راحت اجرا میشه .

خب این رو هم بگم که برنامه ما به topic ای با نام niki وصل میشه.و کدهای بالا هر یک ثانیه یک بار یک مقدار عددی  رو publish میکنند.

دقت کنید که من قبل از اجرای این کدها mosquitto رو که broker ما هست اجرا کردم و برنامه سرور روی پورت 1883 درحال اجرا هست.

پس از اجرا برنامه کلاینت ، خروجی به شکل زیر میشه.

برا اینکه ارسال و دریافت پیام هارو ببینیم من از mqttLens هم استفاده کردم.

 

همانطور که میبینید برنامه پس از اتصال به brocker عدد 0 رو فرستاد و چون خودشم هم publish میکنه و هم subscribe پس مقدار 0 رو دریافت هم میکنه .

اما بگم که کلمه salam رو من با برنامه mqttLens فرستادم که توی عکس زیر خواهید دید.

در ثانیه دوم از اجرای برنامه هم مقدار 1 رو به سرور فرستاد .(هر یک ثانیه یک مقدار عددی میفرسته).

توی این عکس (قسمت message )هم صفر رو گرفته و هم سلام رو فرستاده و هم دریافتش کرده . مقدار 1 اینجا نیست چون من عکس هارو در فاصله های زمانی جدا از صفحه کامپیوترم گرقتم .

این نکته رو بگم که برنامه nodejs ما براساس event listener ها کار میکنه که این خیلی خوبه .

موفق باشید.

2 Comments

  1. سلام.
    من یعد از نصب nodejs یه پوشه درست کردم ، بعد با نگاه داشتن shift راست کلیک کردم ولی گزینه ی Open command window here نیست اونجا و گزینه ی Open PoserShell window here هست به جاش.
    این همونه یا افرق داره؟

    پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Free
  • اتصال به broker mqtt از طریق nodejs