کتابخانه MQTT برای Arduino

 

دانلود کتابخانه PUBSUB Client MQTT

برای نصب کتابخانه محتوای فایل زیپ را در فولدر Library کپی کنید و کامپایلر آردینو را ببنید و مجدد باز کنید.

این کتابخانه برای اتصال به سرور های MQTT نوشته شده است، دارای Client  می باشد که توانایی برقراری ارتباط به سرور را با آدرس و پورت مورد نظر با نام و رمز کاربری مشخص را دارد.

این کتابخانه سازگاری ارتباط با سرور را بوسیله سخت افزار های زیر را دارد و قابل کامپایل می باشد :

  • Arduino Ethernet
  • Arduino Ethernet Shield
  • Arduino YUN – use the included YunClient in place of EthernetClient, and be sure to do a Bridge.begin() first
  • Arduino WiFi Shield – if you want to send packets > 90 bytes with this shield, enable the MQTT_MAX_TRANSFER_SIZE define in PubSubClient.h.
  • Sparkfun WiFly Shield
  • TI CC3000 WiFi
  • Intel Galileo/Edison
  • ESP8266
  • ESP32

جهت بر قراری با اینترنت نیاز به تعریف یک TcpClient یا  EhternetClient  را دارد. بهترین اینترفیس برای کار با این کتابخانه استفاده از ESP32/8266//8285 می باشد.

تشریح کتابخانه mqtt

برای تعریف کتابخانه از PubSubClien  استفاده نمایید، همزمان با تعریف کلاینت mqtt در ابن مرحله کلاینت اینترفیس مورد نظر را وارد نمایید به شکل زیر :

در این قسمت کلاینت mqttclient معرف کلاینت mqtt برای ادامه کار با کتابخانه و ادامه بقیه تعریف می باشد.

توابع Client :

برای خواندن پیام های دریافت شده از کانال مورد نظر بایستی به شکل زیر یک تابع معرفی شود :

نوشتن تابع دریافت پیام به شکل زیر می باشد :

برای اتصال به سرور بایستی از تایع connect  به شکل زیر استفاده کنید :

برای چک کردن اینکه انصال با سرور برقرار شده است از دستور زیر استفاده کنید :

client.connected()

اگه این مقدار برگشتی این تابع False باشد یعنی اتصال برقرر نمی باشد .

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

برای اینکه از سمت کلاینت به سمت سرور به کانال یا تاپیک مشخصی پیام ارسال شود از دستور زیر استفاده نمایید:

بعد از اتصال اگر نیاز به قطع اتصال باشد از تابع زیر استفاده نمایید :

Mqttclient.disconnect();

 در مثال زیر یک نمونه از کد نویسی روی ESP8266 را در محیط کامپایلر Arduino  مشاهده می کنید :

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

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