MQTT Client DAT

پرش به ناوبری | پرش به جستجو

خلاصه (Summary)

MQTT Client DAT داده‌ها را از/به دستگاه‌های MQTT از طریق سرورهای MQTT (که به آن‌ها Broker گفته می‌شود) دریافت و ارسال می‌کند.
TouchDesigner می‌تواند به‌عنوان یک Client عمل کند و یک کامپیوتر یا سیستم دیگر باید نقش MQTT Server را داشته باشد.

پس از این‌که یک کلاینت اتصال خود را با سرور برقرار کرد، می‌تواند دو کار انجام دهد:

  1. ارسال یک پیام به سرور برای اعلام علاقه‌مندی به دریافت داده‌هایی که دارای یک رشته‌ی Topic مشخص هستند. به این عمل Subscribe (اشتراک‌گیری) گفته می‌شود. پس از آن، MQTT Client DAT تمام پیام‌هایی را که سرور با آن Topic دریافت می‌کند، دریافت خواهد کرد.

  2. اعلام به سرور که قصد دارد پیام‌هایی با یک Topic مشخص ارسال کند و سپس پیام‌ها را با همان Topic ارسال نماید. این پیام‌ها به تمام کلاینت‌هایی که به آن Topic علاقه‌مندی خود را اعلام کرده‌اند، فوروارد می‌شوند.

همچنین ببینید: MQTT، TCP/IP DAT

PythonIcon.png
mqttclientDAT_Class


فهرست مطالب (Contents)

  1. Summary

  2. Parameters – Connect Page

  3. Parameters – Received Data Page

  4. Parameters – Common Page

  5. Info CHOP Channels
      5.1 Specific MQTT Client DAT Info Channels
      5.2 Common DAT Info Channels
      5.3 Common Operator Info Channels


پارامترها – صفحه Connect (Parameters – Connect Page)

Active (active)
فعال‌سازی اتصال.

Network Address (netaddress)
آدرس Broker برای اتصال. این آدرس باید به فرم زیر باشد:
<protocol>://<host>:<port>
پروتکل‌های قابل قبول شامل tcp، ssl، ws و wss هستند.

Specify ID (specifyid)
امکان نام‌گذاری کلاینت با استفاده از پارامتر User Client ID را فراهم می‌کند؛ در غیر این صورت، برای هر اتصال به‌صورت خودکار یک شناسه‌ی یکتا ساخته می‌شود.

User Client ID (usercid)
نام کلاینت در صورتی که گزینه Specify ID فعال باشد.

Keep Alive Interval (keepalive)
حداکثر بازه‌ی زمانی (بر حسب ثانیه) که بدون ارتباط انتظار می‌رود. اگر در این مدت داده‌ای ارسال نشود، یک پیام پینگ سبک به سرور فرستاده می‌شود. می‌توان آن را روی 0 تنظیم کرد تا ارسال پینگ غیرفعال شود.

Max in Flight (maxinflight)
تعداد پیام‌هایی که می‌توانند به‌صورت هم‌زمان در حال ارسال/دریافت باشند را کنترل می‌کند.

Clean Session (cleansession)
اگر Specify ID فعال باشد، سرور تمام اطلاعات وضعیت مربوط به اتصال با آن ID را حفظ می‌کند؛ مانند اشتراک‌ها (Subscriptions)، تلاش‌های ارسال پیام و غیره.

Verify Certificate (verifycert)
فعال‌سازی بررسی گواهی TLS (امنیت لایه انتقال) در برابر سرور (Broker).

Username (username)
نام کاربری برای احراز هویت، در صورتی که سرور به آن نیاز داشته باشد. سرورهای MQTT که از پروتکل MQTT v3.1 پشتیبانی می‌کنند، احراز هویت و مجوزدهی را از طریق نام کاربری و رمز عبور ارائه می‌دهند.

Password (password)
رمز عبور برای احراز هویت، در صورتی که سرور به آن نیاز داشته باشد. سرورهای MQTT که از پروتکل MQTT v3.1 پشتیبانی می‌کنند، احراز هویت و مجوزدهی را از طریق نام کاربری و رمز عبور ارائه می‌دهند.

Reconnect (reconnect)
تلاش می‌کند در صورت قطع اتصال، دوباره به MQTT Broker متصل شود.


پارامترها – صفحه Received Data (Parameters – Received Data Page)

Callbacks DAT (callbacks)
این DAT شامل توابعی است که هنگام برقراری اتصال، قطع اتصال یا رسیدن داده‌های منتشرشده (Published) فراخوانی می‌شوند. برای نحوه‌ی استفاده به
mqttclientDAT_Class مراجعه کنید.

Execute from (executeloc)
مشخص می‌کند اسکریپت از چه مکانی اجرا شود.

From Operator (fromop)
اپراتوری که تغییر وضعیت آن باعث اجرای اسکریپت DAT می‌شود، زمانی که Execute From روی Specified Operator تنظیم شده باشد. همچنین در این حالت، مسیر اجرای اسکریپت نیز از همین اپراتور گرفته می‌شود.

Clamp Output (clamp)
به‌صورت پیش‌فرض DAT به 100 پیام محدود است، اما با فعال کردن Clamp Output می‌توان این مقدار را تغییر داد یا حتی نامحدود کرد.

Maximum Lines (maxlines)
حداکثر تعداد پیام‌ها را محدود می‌کند؛ پیام‌های قدیمی‌تر ابتدا حذف می‌شوند.

Clear Output (clear)
تمام خطوط به‌جز سرتیتر را حذف می‌کند. برای پاک‌سازی از طریق پایتون:
op("opname").par.clear.pulse()

Bytes Column (bytes)
بایت‌های خام پیام را در یک ستون جداگانه خروجی می‌دهد.


پارامترها – صفحه Common (Parameters – Common Page)

Language (language)
مشخص می‌کند DAT با کدام زبان اسکریپت کار کند.

Edit/View Extension (extension)
پسوند فایلی را تعیین می‌کند که این DAT برای ویرایشگرهای خارجی در دسترس قرار می‌دهد.

Custom Extension (customext)
مشخص کردن پسوند سفارشی.

Word Wrap (wordwrap)
فعال‌سازی شکستن خودکار خطوط (Word Wrap) برای نمایش نود.


کانال‌های Info CHOP (Info CHOP Channels)

اطلاعات تکمیلی مربوط به MQTT Client DAT از طریق یک Info CHOP قابل دسترسی است.

کانال‌های اطلاعات اختصاصی MQTT Client DAT

  • connected – وضعیت اتصال

  • messages_pending – تعداد پیام‌های در انتظار ارسال/دریافت

کانال‌های اطلاعات عمومی DAT (Common DAT Info Channels)

  • num_rows – تعداد ردیف‌های این DAT

  • num_cols – تعداد ستون‌های این DAT

کانال‌های اطلاعات عمومی اپراتور (Common Operator Info Channels)

  • total_cooks – تعداد دفعاتی که این اپراتور از زمان شروع پردازش Cook شده است

  • cook_time – مدت زمان آخرین Cook بر حسب میلی‌ثانیه

  • cook_frame – شماره فریمی که اپراتور آخرین بار نسبت به تایم‌لاین کامپوننت Cook شده است

  • cook_abs_frame – شماره فریمی که اپراتور آخرین بار نسبت به زمان مطلق Cook شده است

  • cook_start_time – زمان (میلی‌ثانیه) شروع Cook اپراتور در فریمی که Cook شده

  • cook_end_time – زمان (میلی‌ثانیه) پایان Cook اپراتور در همان فریم

  • cooked_this_frame – اگر اپراتور در این فریم Cook شده باشد مقدار 1 است

  • warnings – تعداد هشدارهای این اپراتور (در صورت وجود)

  • errors – تعداد خطاهای این اپراتور (در صورت وجود)