احراز هویت بر اساس MQTT

احراز هویت بر اساس MQTT برای دستگاه‌هایی که با استفاده از MQTT متصل می‌شوند، در دسترس است. شما می‌توانید نوع اعتبار دستگاه را از “توکن دسترسی” به “MQTT پایه” تغییر دهید. اعتبارهای MQTT پایه شامل شناسه مشتری، نام کاربری و رمز عبور اختیاری هستند. سه گزینه در دسترس است:

 احراز هویت فقط بر اساس شناسه مشتری

برای این منظور، تنها شناسه مشتری را در فرم اعتبارها پر کنید. در صورت مشخص کردن شناسه مشتری صحیح، مشتریان MQTT می‌توانند با هر نام کاربری و رمز عبوری که مشخص کنند، به طور اتوماتیک متصل شوند.

بیایید یک دستور ساده برای بارگذاری خواندنی‌های دما با استفاده از شناسه مشتری MQTT به ThingsBoard Cloud بررسی کنیم. برای اطلاعات بیشتر درباره رابط برنامه‌نویسی MQTT به API MQTT مراجعه کنید. این دستور از MQTT ساده بدون TLS استفاده می‌کند.

mosquitto_pub -d -q 1 -h "YOUR_TB_HOST" -p "1883" -t "v1/devices/me/telemetry" -i "YOUR_CLIENT_ID" -m {"temperature":25}

دستور فوق نیاز به کتابخانه مشتریان mosquitto دارد که می‌توانید با استفاده از دستور زیر آن را نصب کنید: apt-get install mosquitto-clients. فراموش نکنید که مقادیر زیر را جایگزین کنید:

  • YOUR_TB_HOST با میزبان نمونه ThingsBoard خود،
  • YOUR_CLIENT_ID با شناسه مشتری خود.

احراز هویت بر اساس نام کاربری و رمز عبور

برای این منظور، تنها نام کاربری و رمز عبور را در فرم اعتبارها پر کنید. در صورت مشخص کردن نام کاربری و رمز عبور صحیح، مشتریان MQTT می‌توانند با هر شناسه مشتریی که مشخص کنند، به طور اتوماتیک متصل شوند. رمز عبور اختیاری است.

بیایید یک دستور ساده برای بارگذاری خواندنی‌های دما با استفاده از نام کاربری و رمز عبور مشتری MQTT به ThingsBoard Cloud بررسی کنیم. برای اطلاعات بیشتر درباره رابط برنامه‌نویسی MQTT به API MQTT مراجعه کنید. این دستور از MQTT ساده بدون TLS استفاده می‌کند.

mosquitto_pub -d -q 1 -h "YOUR_TB_HOST" -p "1883" \
-t "v1/devices/me/telemetry" -u "YOUR_CLIENT_USERNAME" -P "YOUR_CLIENT_PASSWORD" -m {"temperature":25}

دستور فوق نیازمند کتابخانه‌ی مشترک مسکیویتو (mosquitto clients) است که می‌توانید با استفاده از دستور زیر آن را نصب کنید: apt-get install mosquitto-clients. فراموش نکنید که مقادیر زیر را جایگزین کنید:

  • YOUR_TB_HOST با میزبانی که ThingsBoard شما در آن قرار دارد.
  • YOUR_CLIENT_USERNAME/YOUR_CLIENT_PASSWORD با نام کاربری و رمز عبور مشتری خود.

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

شما باید شناسه مشتری، نام کاربری و رمز عبور را پر کنید. مشتریان MQTT قادر خواهند بود به اتصال متصل شوند اگر ترکیب صحیحی از شناسه مشتری، نام کاربری و رمز عبور را مشخص کنند.

بیایید یک دستور ساده برای بارگذاری خواندنی‌های دما با استفاده از شناسه مشتری، نام کاربری و رمز عبور به ThingsBoard Cloud مرور کنیم. برای کسب اطلاعات بیشتر درباره MQTT API، دستور زیر استفاده می‌شود. این دستور از MQTT ساده بدون TLS استفاده می‌کند.

mosquitto_pub -d -q 1 -h "YOUR_TB_HOST" -p "1883" \
-t "v1/devices/me/telemetry" -i "YOUR_CLIENT_ID" -u "YOUR_CLIENT_USERNAME" -P "YOUR_CLIENT_PASSWORD" -m {"temperature":25}

دستور فوق نیاز به کتابخانه‌ی مشتریان mosquitto دارد که می‌توانید با استفاده از دستور زیر آن را نصب کنید: `apt-get install mosquitto-clients`. فراموش نکنید که جایگزین کنید:

YOUR_TB_HOST با میزبان نمونه ThingsBoard خود؛
YOUR_CLIENT_ID با شناسه مشتری خود؛
YOUR_CLIENT_USERNAME/YOUR_CLIENT_PASSWORD با نام کاربری و رمز عبور مشتری خود.

MQTTS (MQTT over TLS)

احراز هویت SSL یکطرفه یک حالت استاندارد احراز هویت است که در آن دستگاه مشتری شناسایی هویت سرور را با استفاده از گواهی سرور تأیید می‌کند. تیم ThingsBoard قبلاً یک گواهی معتبر برای ThingsBoard Cloud فراهم کرده است. اگر نمونه ThingsBoard خود را میزبانی می‌کنید، راهنمای MQTT بر SSL را دنبال کنید تا گواهی سرور را تأمین کنید.

با اتمام تأمین، باید یک زنجیره گواهی را به فرمت pem آماده کنید. این زنجیره توسط مشتری MQTT برای اعتبارسنجی گواهی سرور استفاده خواهد شد. زنجیره را با نام “tb-server-chain.pem” در دایرکتوری کاری خود ذخیره کنید. نمونه‌ای از زنجیره گواهی برای mqtt.thingsboard.cloud در اینجا قرار دارد.

حال می‌توانید از tb-server-chain.pem برای برقراری اتصال امن به نمونه ThingsBoard خود (YOUR_TB_HOST) برای بارگذاری تلمتری استفاده کنید.

mosquitto_pub --cafile tb-server-chain.pem -d -q 1 -h "YOUR_TB_HOST" -p "8883" \
-t "v1/devices/me/telemetry" -i "YOUR_CLIENT_ID" -u "YOUR_CLIENT_USERNAME" -P "YOUR_CLIENT_PASSWORD" -m {"temperature":25}

دستور فوق نیاز به کتابخانه‌ی مشتریان mosquitto دارد که می‌توانید با استفاده از دستور زیر آن را نصب کنید: `apt-get install mosquitto-clients`. فراموش نکنید که جایگزین کنید:

  • YOUR_TB_HOST با میزبان نمونه ThingsBoard خود؛
  • YOUR_CLIENT_ID با شناسه مشتری خود؛
  • YOUR_CLIENT_USERNAME/YOUR_CLIENT_PASSWORD با نام کاربری و رمز عبور مشتری خود.

عناوین هر بخش