احراز هویت بر اساس توکن دسترسی
احراز هویت بر اساس توکن دسترسی نوع پیشفرض احراز هویت دستگاه است. توکن دسترسی یکتا هنگام ایجاد دستگاه در ThingsBoard تولید میشود. بعداً میتوان آن را تغییر داد. مشتری باید توکن دسترسی را به عنوان نام کاربری در پیام اتصال MQTT مشخص کند.
MQTT ساده (بدون SSL)
یک دستور ساده برای بارگذاری خواندنی دما با استفاده از توکن دسترسی YOUR_ACCESS_TOKEN به ThingsBoard Cloud را بررسی میکنیم. جهت کسب اطلاعات بیشتر دربارهٔ رابط برنامهنویسی MQTT، به آدرس MQTT API مراجعه کنید. دستور زیر از MQTT ساده بدون TLS استفاده میکند:
mosquitto_pub -d -q 1 -h "YOUR_TB_HOST" -p "1883" \ -t "v1/devices/me/telemetry" -u "YOUR_ACCESS_TOKEN" -m {"temperature":25}
دستور فوق نیاز به کتابخانهٔ مشتریان mosquitto دارد که میتوانید آن را با استفاده از دستور زیر نصب کنید: apt-get install mosquitto-clients. فراموش نکنید YOUR_TB_HOST را با میزبان نمونه ThingsBoard خود و YOUR_ACCESS_TOKEN را با توکن دسترسی دستگاه خود جایگزین کنید.
MQTTS (MQTT با SSL)
احراز هویت یکطرفه SSL یک حالت استاندارد احراز هویت است، که در آن دستگاه مشتری شناسایی هویت یک سرور را با استفاده از گواهی نامهٔ سرور تأیید میکند. تیم ThingsBoard در حال حاضر یک گواهی نامهٔ معتبر برای ThingsBoard Cloud فراهم کرده است. اگر نمونه ThingsBoard خود را میزبانی میکنید، دستورالعمل MQTT بر روی SSL را بررسی کنید تا گواهی نامه سرور را فراهم کنید.
بعد از تأمین، شما باید یک زنجیرهٔ گواهی نامه را در فرمت PEM آماده کنید. این زنجیره توسط مشتری MQTT برای اعتبارسنجی گواهی نامهٔ سرور استفاده خواهد شد. زنجیره را در فهرست کاری خود به عنوان “tb-server-chain.pem” ذخیره کنید. یک نمونه از زنجیرهٔ گواهی برای mqtt.thingsboard.cloud در اینجا قرار دارد.
اکنون میتوانید از tb-server-chain.pem برای تنظیم اتصال امن به نمونه ThingsBoard خود (YOUR_TB_HOST) و Access Token (YOUR_ACCESS_TOKEN) برای احراز هویت دستگاه و بارگذاری تلمتری استفاده کنید.
mosquitto_pub --cafile tb-server-chain.pem -d -q 1 -h "YOUR_TB_HOST" -p "8883" \ -t "v1/devices/me/telemetry" -u "YOUR_ACCESS_TOKEN" -m {"temperature":25}
دستور فوق نیاز به کتابخانهی مشتریان Mosquitto دارد که میتوانید آن را با استفاده از دستور زیر نصب کنید: apt-get install mosquitto-clients. فراموش نکنید که YOUR_TB_HOST را با میزبان نمونه ThingsBoard خود و YOUR_ACCESS_TOKEN را با توکن دستگاه خود جایگزین کنید.