کتابخانه thinger.io برای اتصال ماژول ESP8266 به پتلفرم thinger.io
thinger.io پلتفرمی برای اینترنت اشیا می باشد که کتابخانه آن در آردوینو برای ماژول های ESP8266 , ESP32 , ENC28J60 و قابل استفاده است از مهمترین ویژگی های این پلتفرم سادگی آن و API هایی که در اختیار شما قرار میدهد است که به راحتی می توانید اپ خود را بر اساس نیاز بنویسید. محدودیت این پلتفرم در اکانت رایگان آن است که فقط 2 دستگاه را می توانید متصل کنید و بیشتر از آن باید اکانت خود را ارتقاء بدهید و همچنین کتابخانه این پلتفرم برای تجاری کردن محصول خودتون ساخته نشده چون اطلاعات اکانت باید هنگام کد نویسی وارد شود که من با تغییراتی در آن این مشکل را برطرف کردم و کتابخانه و نمونه کد را در ادامه آموزش قرار دادم.
دانلود کتابخانه ویرایش شده و نحوه ایجاد دستگاه در پلتفرم
ابتدا کتابخانه thinger.io رو که ویرایش شده رو از اینجا دانلود و به آردوینو اضاف کنید سپس در سایت thinger.io ثبت نام کنید از منوی سمت چپ Devices رو انتخاب و بعد دکمه Add Device رو بزنید تا صفحه ایی همانند شکل زیر به شما نمایش داده شود. مقدار Device Type همان Thinger.io Device باشد و مقدار Device Id و Device description رو هم طبق مثالی که زده شده (علامت i کنار هر کدام) مقدار دهی کنید و Device credentials رو خودتون وارد کنید یا از دکمه ی Generate Random Credential استفاده کنید و در نهایت دکمه Add Device رو بزنید تا دستگاه اضاف شود از اینجا به بعد بریم سراغ آردوینو و کدها.
نحوه اتصال اولیه ماژول به پلتفرم و تست آن
همانطور که گفته شده با تغییراتی که در کتابخانه ایجاد شده شما می توانید پارامترهای اتصال به کلود را در تابع void setup انجام دهید که نمونه آن در کد زیر آمده است فقط دقت کنید که کد زیر با کتابخانه ایی که من قرار داده ام کار می کند و همچنین برای تشخیص عملکرد کتابخانه در بخشی از کدها دیباگر گذاشتم که باید حتما در void setup پورت سریال را پیکربندی کنید تا خروجی رو در سریال مانیتور بتونید ببینید.
#include <ThingerESP8266.h> #define SSID "your_wifi_ssid" #define SSID_PASSWORD "your_wifi_ssid_password" ThingerESP8266 thing("Defaults", "Defaults", "Defaults"); void setup() { TD_User = "username"; TD_Device = "123456"; TD_Credential = "xxxxxxxxxxxxxxx"; pinMode(LED_BUILTIN, OUTPUT); thing.add_wifi(SSID, SSID_PASSWORD); // digital pin control example (i.e. turning on/off a light, a relay, configuring a parameter, etc) thing["led"] << digitalPin(LED_BUILTIN); // resource output example (i.e. reading a sensor value) thing["millis"] >> outputValue(millis()); // more details at http://docs.thinger.io/arduino/ } void loop() { thing.handle(); }
خط 9 نام کاربری رو که با آن در سایت thinger.io وارد کنید ، خط 10 Device Id و خط 11 Device credentials رو وارد و سپس کد را آپلود کنید در صورتی که اطلاعات اکسس پوینت و کلود را درست وارد کرده باشید اتصال موفق ماژول را به پلتفرم thinger.io را می توانید در سایت خودش مشاهده کنید.