اعلانها و آلارمها بر روی تلفن هوشمند با استفاده از ربات تلگرام
نمای کلی
تلگرام امکان ایجاد رباتهای تلگرام را فراهم میکند که به عنوان اپلیکیشنهای شخص ثالث در نظر گرفته میشوند. در این آموزش، نحوه ایجاد یک ربات تلگرام و پیکربندی موتور قوانین ThingsConnect برای ارسال اعلانها به اپلیکیشن تلگرام با استفاده از افزونه Rest API Call توضیح داده میشود.
موارد استفاده
این آموزش بر اساس آموزش ایجاد و پاک کردن آلارمها و کاربردهای آن طراحی شده است. ما زنجیره قوانین از آموزش مذکور را مجدداً استفاده خواهیم کرد و چند گره قانون دیگر برای یکپارچهسازی با تلگرام اضافه خواهیم کرد.
فرض کنید دستگاه شما از حسگر DHT22 برای جمعآوری و ارسال دادههای دمایی به ThingsConnect استفاده میکند. حسگر DHT22 برای اندازهگیری دماهای بین -40 تا 80 درجه سانتیگراد مناسب است. هدف ما این است که آلارمهایی را در صورت خروج دما از محدوده مناسب ایجاد کرده و هنگامی که آلارم ایجاد شد، اعلانهایی را به اپلیکیشن تلگرام ارسال کنیم.
در این آموزش، موتور قوانین ThingsConnect را به گونهای پیکربندی میکنیم که:
- یک اعلان پیام به کاربر ارسال شود اگر آلارم ایجاد شد.
- نوع آلارم جاری و مبدا آن به محتوای پیام اضافه شود، با استفاده از گره Script Transform.
پیشنیازها
فرض میکنیم که شما راهنماهای زیر را تکمیل کرده و مقالات ذکر شده را مرور کردهاید:
- راهنمای شروع به کار.
- مروری بر موتور قوانین.
- راهنمای ایجاد و پاک کردن آلارمها.
جریان پیام
در این بخش، هدف از هر گره در این آموزش توضیح داده شده است:
- گره A: گره Script Transform
- این گره برای ایجاد بدنه اعلان پیام تلگرام استفاده خواهد شد.
- گره B: گره REST API Call
- این گره بار پیام تلگرام را به نقطه پایانی REST پیکربندیشده ارسال خواهد کرد. در این مورد، نقطه پایانی API تلگرام است.
ایجاد ربات تلگرام
BotFather ربات اصلی است که به شما در ایجاد رباتهای جدید و تغییر تنظیمات آنها کمک میکند.
پس از اتمام ایجاد ربات، میتوانید یک توکن احراز هویت برای ربات جدید خود تولید کنید. این توکن رشتهای شبیه به این است: '110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw' که برای احراز هویت ربات ضروری است.
پیشنیازها:
- ThingsConnect در حال اجرا است.
ربات تلگرام ایجاد شده است.
دریافت Chat ID
در مرحله بعد، باید یک Chat ID دریافت کنیم. Chat ID برای ارسال پیامها از طریق API HTTP مورد نیاز است.
چندین روش برای دریافت Chat ID وجود دارد:
- ابتدا باید پیامی به ربات خود ارسال کنید:
- در چت خصوصی؛
یا در گروهی که ربات شما به عنوان عضو اضافه شده است، پیامی ارسال کنید.
که در آن ThingsConnect_Bot نام ربات تلگرام است.
سپس مرورگر وب خود را باز کرده و URL زیر را وارد کنید:
برای تغییر این متن بر روی دکمه ویرایش کلیک کنید. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
https://api.telegram.org/bot"YOUR_BOT_TOKEN"/getUpdates
"YOUR_BOT_TOKEN" has to be replaced by the authentication token of your bot, e.g.:
https://api.telegram.org/bot110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw/getUpdates
از دادههای خروجی، میتوانید فیلد 'id' را پیدا کنید. این همان chat_id موردنظر است.
- گزینه اول:
- گزینه دوم:
پس از آن، میتوانید پیکربندی موتور قوانین را آغاز کنید تا از افزونه Rest API Call استفاده کند.
پیکربندی زنجیره قوانین
در این آموزش، از زنجیره قوانین مربوط به آموزش ایجاد و پاک کردن آلارمها استفاده کردهایم. ما زنجیره قوانین "ایجاد و پاک کردن آلارمها" را با اضافه کردن گرههایی که در بخش جریان پیام توضیح داده شده، اصلاح کرده و نام آن را به "ایجاد/پاک کردن آلارمها و ارسال اعلان به تلگرام" تغییر دادیم.
تصاویر زیر نشان میدهند که زنجیره قوانین فوق باید چگونه باشد:
- ایجاد/پاک کردن آلارمها و ارسال اعلان به تلگرام:
- زنجیره قوانین اصلی:
بخشهای زیر نحوه اصلاح این زنجیره قوانین از ابتدا را به شما نشان میدهند.
اصلاح زنجیره قوانین ایجاد/پاک کردن آلارمها و ارسال ایمیل
اضافه کردن گرههای مورد نیاز
در این زنجیره قوانین، شما دو گره ایجاد خواهید کرد که در بخشهای بعدی توضیح داده خواهند شد:
گره A: Transform Script
- گره Transform Script را اضافه کرده و آن را به گره Create Alarm با نوع رابطه Created متصل کنید.
این گره برای ایجاد بدنه پیام اعلان استفاده خواهد شد.
قالب بدنه باید شامل دو پارامتر زیر باشد: - chat_id
- text
این یک مثال از پیام خروجی است:
{"chat_id" : "PUT YOUR CHOSEN CHAT_ID", "text" : "SOME MESSAGE YOU WANT TO RECEIVE"}
برای انجام این کار از اسکریپت زیر استفاده کنید:
var newMsg ={};
newMsg.text = '"' + msg.name + '"' + " alarm was created for device: " + '"' + metadata.deviceName + '"';
newMsg.chat_id = 337878729; //has to be replaced by the actual chat id
return {msg: newMsg, metadata: metadata, msgType: msgType};
نام فیلد را به عنوان "New telegram message" وارد کنید.
گره B: REST API Call
- گره REST API Call را اضافه کرده و آن را به گره Transform Script با نوع رابطه Success متصل کنید.
این گره بار پیام کامل را به نقطه پایانی REST پیکربندیشده ارسال خواهد کرد. در این مورد، API REST تلگرام است.
در این آموزش، ما از مسیر عملیات /sendMessage برای ارجاع به API ربات تلگرام برای ارسال پیام استفاده خواهیم کرد. - فیلدها را با دادههای ورودی نشانداده شده در جدول زیر پر کنید:
برای تغییر این متن بر روی دکمه ویرایش کلیک کنید. لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است.
ارسال دادههای سنجش و تأیید
برای ارسال دادههای سنجش دستگاه، از APIهای Rest و APIهای بارگذاری سنجش استفاده خواهیم کرد. برای این کار، نیاز است توکن دسترسی دستگاه را از دستگاه Thermostat Home کپی کنید.
بیایید دما را روی ۹۹ تنظیم کنیم. آلارم باید ایجاد شود:
curl -v -X POST -d '{"temperature":99}' http://localhost:8080/api/v1/$ACCESS_TOKEN/telemetry --header "Content-Type:application/json"
**you need to replace $ACCESS_TOKEN with actual device token**
توجه داشته باشید که پیام تنها در صورتی به اپلیکیشن تلگرام ارسال میشود که آلارم ایجاد شود و نه زمانی که آلارم بهروزرسانی شود.
در نهایت، میتوانیم ببینیم که پیام با مقادیر صحیح دریافت شده است:
- گزینه اول:
- گزینه دوم:
همچنین، میتوانید:
پیکربندی تابع جزئیات آلارم در گرههای ایجاد و پاک کردن آلارم.
پیکربندی داشبورد با افزودن ویجت آلارم برای نمایش آلارمها.
تعریف منطقهای اضافی برای پردازش آلارم، برای مثال، ارسال ایمیل.
لطفاً به لینکهای موجود در بخش "همچنین ببینید" مراجعه کنید تا نحوه انجام این موارد را بیاموزید.
همچنین ببینید
- ایجاد و پاک کردن آلارمها: راهنمای جزئیات آلارم - برای یادگیری نحوه پیکربندی تابع جزئیات آلارم در گرههای آلارم.
- ایجاد و پاک کردن آلارمها: راهنمای پیکربندی داشبورد - برای یادگیری نحوه افزودن ویجت آلارم به داشبورد.
- آموزش ارسال ایمیل.
مراحل بعدی
- راهنماهای شروع به کار - این راهنماها مروری سریع بر ویژگیهای اصلی Thingsconnect ارائه میدهند. طراحی شدهاند تا در 15 تا 30 دقیقه کامل شوند.
- اتصال دستگاه شما - یاد بگیرید چگونه دستگاههای خود را براساس فناوری یا راهحل اتصال خود متصل کنید.
- بصریسازی دادهها - این راهنماها شامل دستورالعملهایی برای پیکربندی داشبوردهای پیچیده Thingsconnect است.
- تحلیل دادههای IoT - یاد بگیرید چگونه از موتور قوانین برای انجام وظایف اولیه تحلیل دادهها استفاده کنید.
- نمونههای سختافزاری - یاد بگیرید چگونه پلتفرمهای مختلف سختافزاری را به Thingsconnect متصل کنید.
- ویژگیهای پیشرفته - درباره ویژگیهای پیشرفته Thingsconnect بیاموزید.
- مشارکت و توسعه - درباره مشارکت و توسعه در Thingsconnect آگاهی کسب کنید.