ارسال ایمیل در صورت بروز هشدار
این آموزش برای نشان دادن نحوه ارسال ایمیل به کاربر با استفاده از موتور قوانین (Rule Engine) ThingsConnect میباشد.
مورد کاربرد
در این آموزش، سناریوی ایجاد و پاکسازی هشدارها از آموزش مربوطه را پیادهسازی خواهیم کرد:
فرض کنید دستگاه شما از سنسور DHT22 برای جمعآوری و ارسال دادههای دمایی به ThingsConnect استفاده میکند. سنسور DHT22 برای اندازهگیری دماهای بین -40 تا 80 درجه سانتیگراد مناسب است. ما میخواهیم اگر دما خارج از این محدوده خوب باشد، هشدار ایجاد کنیم و در هنگام ایجاد هشدار، ایمیل ارسال شود.
در این آموزش، موتور قوانین ThingsConnect را به گونهای پیکربندی میکنیم که:
- در صورتی که دما خارج از محدوده تعریف شده (کمتر از -40 و بیشتر از 80 درجه سانتیگراد) باشد، ایمیلی به کاربر ارسال کند.
- دمای فعلی را با استفاده از گره Script Transform به متن ایمیل اضافه کند تا دمای فعلی در متادیتای پیام ذخیره شود.
پیشنیازها
فرض میکنیم که شما موارد زیر را تکمیل کردهاید و مقالات مربوطه را مطالعه کردهاید:
- راهنمای شروع به کار
- نمای کلی موتور قوانین
- راهنمای ایجاد و پاکسازی هشدارها
جریان پیام
در این بخش هدف هر گره در این آموزش توضیح داده میشود:
- گره A: گره Script Transform
- این گره برای ذخیره دمای فعلی در متادیتای پیام استفاده خواهد شد.
- گره B: گره To Email
- این گره ایمیل واقعی را از قالب پیکربندی شده ایجاد میکند.
- گره C: گره Send Email
- این گره ایمیل را از پیام ورودی با استفاده از تنظیمات SMTP سیستم ارسال خواهد کرد.
پیکربندی زنجیرههای قوانین
در این آموزش، از زنجیرههای قوانین موجود در آموزش "ایجاد و پاکسازی هشدارها" استفاده کردهایم. ما زنجیره قوانین "ایجاد و پاکسازی هشدارها" را با اضافه کردن گرههایی که در بخش "جریان پیام" توضیح داده شدهاند، اصلاح کرده و نام این زنجیره قوانین را به "ایجاد/پاکسازی هشدار و ارسال ایمیل" تغییر دادیم.
تصاویر زیر نشان میدهند که این زنجیره قوانین باید به چه شکلی باشد:
- ایجاد/پاکسازی هشدار و ارسال ایمیل:
- زنجیره قوانین اصلی:
فایل JSON پیوستشده را برای زنجیره قوانین "ایجاد/پاککردن هشدار و ارسال ایمیل" دانلود کنید.
بخش زیر به شما نشان میدهد که چگونه این زنجیره قوانین را از ابتدا ویرایش کنید.
ویرایش ایجاد/پاککردن هشدار و ارسال ایمیل
افزودن گرههای موردنیاز
در این زنجیره قوانین، شما 3 گره ایجاد خواهید کرد، که در بخشهای زیر توضیح داده خواهد شد:
گره A: اسکریپت تبدیل
گره "اسکریپت تبدیل" را اضافه کرده و آن را بعد از گره "اسکریپت فیلتر" با نوع رابطه "صحیح" قرار دهید و سپس آن را از طریق رابطه "موفقیت" به گره "ایجاد هشدار" متصل کنید.
این گره برای ذخیره دمای فعلی از داده پیام به متادیتای پیام با استفاده از اسکریپت زیر به کار خواهد رفت:
metadata.temperature = msg.temperature;
return {msg: msg, metadata: metadata, msgType: msgType};
- در قسمت "نام"، "افزودن دما به فراداده" را وارد کنید.
گره B: ارسال به ایمیل
- گره "ارسال به ایمیل" را اضافه کرده و آن را با نوع رابطه "ایجاد شده" به گره "ایجاد هشدار" متصل کنید.
این گره ایمیل واقعی ارسال نمیکند بلکه تنها ایمیلی را از قالب پیکربندی شده میسازد.
بنابراین، میتوانید به هر یک از فیلدهای موجود در "فراداده پیام" ارجاع دهید. - فیلدها را با دادههای ورودی نشان داده شده در جدول زیر پر کنید.
جدول
گره B: ارسال به ایمیل
- گره "ارسال ایمیل" را اضافه کرده و آن را با نوع رابطه "موفقیتآمیز" به گره "ارسال به ایمیل" متصل کنید.
این گره ایمیل واقعی را از طریق پیام ورودی با استفاده از تنظیمات SMTP سیستم ارسال میکند. - در قسمت "نام"، عبارت "SendGrid SMTP" را وارد کنید.
- اگر به حساب مدیر سیستم دسترسی ندارید، باید تنظیمات SMTP خودتان را برای این گره پیکربندی کنید.
- در غیر این صورت، فیلد "استفاده از تنظیمات SMTP سیستم" را علامت بزنید.
لطفاً توجه داشته باشید که در سرور نمایشی، ارائهدهنده SendGrid بهعنوان SMTP سیستم از قبل پیکربندی شده است.
دستورالعملهای نحوه پیکربندی این تنظیمات در بخش زیر توضیح داده خواهد شد.
پیکربندی زنجیره کامل شده و باید آن را ذخیره کنیم.
پیکربندی تنظیمات SMTP سیستم
در این بخش، نحوه پیکربندی تنظیمات SMTP سیستم و ارسال ایمیل آزمایشی را توضیح میدهیم:
- در این آموزش، از SendGrid بهعنوان ارائهدهنده SMTP استفاده میکنیم و ThingsConnect ایمیلها را از طریق این ارائهدهنده ارسال خواهد کرد.
میتوانید با استفاده از این لینک برای نسخه آزمایشی ثبتنام کنید. - پس از ورود به SendGrid، صفحه پیکربندی SMTP Relay را باز کنید.
اگر اجازه دسترسی به ThingsConnect با استفاده از حساب مدیر سیستم را دارید، میتوانید تنظیمات SMTP را سفارشی کرده و ایمیل آزمایشی ارسال کنید.
- برای حساب پیشفرض مدیر سیستم:
- نام کاربری: sysadmin@ThingsConnect.org
- رمز عبور: sysadmin
- به مسیر تنظیمات سیستم -> ایمیلهای خروجی بروید و تنظیمات ایمیل خروجی را مطابق با تصویر زیر پیکربندی کنید:
- برای اطمینان از اینکه تنظیمات SMTP را به درستی پیکربندی کردهاید، دکمه ارسال ایمیل آزمایشی را فشار دهید.
اگر تنظیمات SMTP سیستم بهدرستی انجام شده باشد، پیغام پاپآپ مطابق با تصویر بالا ظاهر میشود.
پیکربندی تنظیمات SMTP سیستم تکمیل شده است. فراموش نکنید که دکمه ذخیره را فشار دهید.
اگر به حساب مدیر سیستم دسترسی ندارید، میتوانید تنظیمات SMTP را مستقیماً در گره پیکربندی کنید، اما نمیتوانید تأیید کنید که ایمیل با موفقیت ارسال شده است.
ارسال و تأیید دادههای تلمتری
برای ارسال دادههای تلمتری دستگاه، از رابطهای برنامهنویسی (API) REST و رابطهای API بارگذاری تلمتری استفاده خواهیم کرد. برای این کار باید توکن دسترسی دستگاه را از دستگاه ترموستات خانگی کپی کنیم.
برای ارسال مقدار دما = 180 و ایجاد هشدار، مراحل زیر را دنبال کنید:
curl -v -X POST -d '{"temperature":180}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"
**you need to replace $ACCESS_TOKEN with actual device token**
باید توجه داشته باشید که پیام ایمیل تنها زمانی ارسال میشود که هشدار ایجاد شود، و نه زمانی که هشدار بهروزرسانی شود.
در نهایت، میتوانید ببینید که ایمیل با مقادیر صحیح دریافت شده است. (اگر ایمیلی دریافت نکردید، لطفاً پوشه اسپم خود را بررسی کنید.)
همچنین، میتوانید اطلاعات بیشتری درباره:
- ارسال ایمیل به مشتری دستگاه
- اضافه کردن دادههای اضافی به بدنه ایمیل از پیام ورودی
برای مشاهده نحوه انجام این موارد، به اولین لینک در بخش "همچنین ببینید" مراجعه کنید.
همچنین ببینید:
- راهنمای ارسال ایمیل به مشتری.
- راهنمای ایجاد هشدار هنگام آفلاین بودن دستگاه.
- راهنمای ایجاد هشدار با جزئیات.
مراحل بعدی:
- راهنماهای شروع به کار: این راهنماها نمای کلی سریعی از ویژگیهای اصلی Thingsconnect ارائه میدهند و برای تکمیل در ۱۵ تا ۳۰ دقیقه طراحی شدهاند.
- اتصال دستگاه شما: یاد بگیرید چگونه دستگاههای خود را با توجه به فناوری یا راهحل اتصال انتخابی خود متصل کنید.
- بصریسازی دادهها: این راهنماها شامل دستورالعملهایی برای پیکربندی داشبوردهای پیچیده Thingsconnect هستند.
- تحلیل دادههای IoT: با استفاده از موتور قوانین بیاموزید چگونه وظایف تحلیل پایه را انجام دهید.
- نمونههای سختافزاری: یاد بگیرید چگونه پلتفرمهای مختلف سختافزاری را به Thingsconnect متصل کنید.
- ویژگیهای پیشرفته: با ویژگیهای پیشرفته Thingsconnect آشنا شوید.
- مشارکت و توسعه: یاد بگیرید چگونه در توسعه و مشارکت در Thingsconnect سهیم باشید.