تلگرام بـه یک شبکه مجازی دارای روح و جان تبدیل شده است. تلگرام رز ی قدرت نفوذ تلگرام بـه حریم خصوصی اکثر کاربران درون سرعت منحصر بـه فرد یـا رابط کاربری جذاب نیست. تلگرام رز ی بلکه بـه دلیل درون دسترس بودن است. بـه این معنی کـه در کف دست تمامـی کاربران قرار مـیگیرد و با یک الی دو انگشت تمامـی فعالیتهای مورد نظر کاربران را انجام مـیدهد. درون این مـیان جامعه کاربری روبه رشد آن باعث شده کـه تلگرام بـه یک برند ارزشمند تبدیل شود. همچنین سرعت رشد و توسعه آن هم بـه دلیل پاسخگویی بـه انواع نیـازهای کاربران شتاب گرفته است. دانستن این نکته مـهم هست که تلگرام فقط یک شبکه اجتماعی به منظور ارتباط بین کاربران نیست. بلکه توانایی ارتباط M to M یعنی ارتباط بین ماشینی را فراهم مـیکند. همانطور کـه قبلا بارها و بارها توضیح دادهام. درون وب نسل ۳ علاوه بر ارتباط بین انسانها دو نوع ارتباط دیگر بوجود مـیآید. ارتباط ماشین با انسان و ارتباط ماشین با ماشین یـا شیئ با شیئ یعنی همان اینترنت اشیـاء IOT
ارتباط بین اشیـاء با تلگرام
تلگرام یک بخش تحت عنوان ربات دارد. ربات تلگرام یک پلتفرم آماده و قدرتمند به منظور ارتباط بین اشیـاء است. استفاده از ربات تلگرام به منظور کلیـه کاربران رایگان است. کافیست درون تلگرام خودتان واژه @Botfather را جستجو کنید. این ربات اقتباسی از دون کورلهنو (مارلون براندو) درون فیلم پدر خوانده است. درون نگاه اول ابهت و قدرت پدرخوانده را درون لوگو این ربات مشاهده مـیکنید. تمامـی المانها درون طراحی این لوگو مبتنی بر فاکتورهای پدرخوانده است. از این مباحث کـه بگذریم، تلگرام رز ی همانند معمولی وارد محیط مـیشوید. BotFather is the one bot to rule them all. Use it to create new bot accounts and manage your existing bots. این متن معرفی ربات اصلی تلگرام است. بات فادر تنـها ربات به منظور قانون گذاری مـیباشد. از این ربات به منظور ساخت رباتهای شخصی مـیتوانید استفاده کنید.
این ربات به منظور هر فعالیتی مـیتواند استفاده شود. فقط کافیست API کـه توسط ربات BotFather به منظور شما ساخته مـیشود را درون سرور یـا MCU درون پروژه اینترنت اشیـاء یـا پروژه مانیتورینگ و… وارد کنید. امروز درون این آموزش شیوه استفاده از ربات تلگرام درون پروژههای اینترنت اشیـاء IOT مبتنی برد برد رزبری پای Raspberry Pi را بـه شما آموزش خواهم داد. درون ادامـه با مرجع تخصصی اینترنت اشیـاء IOT ، دیجی اسپارک همراه باشید.
تعریف پروژه اینترنت اشیـاء IOT
همانطور کـه بارها گفتهام، پروژه اینترنت اشیـاء درون دو حالت ارتباط شیئ با انسان و ارتباط شیئ با شیئ تعریف مـیشود. درون حالت ارتباط شیئ با انسان تصمـیم گیرنده اصلی انسان است. بـه عنوان مثال سنسور دما اطلاعات دمایی محیط را روی تلفن همراه و بخصوص تلگرام به منظور شخص مربوطه ارسال مـیکند. حالا انسان حتما تصمـیم بگیرد کـه چه اتفاقی رخ دهد. آیـا با اطلاعاتی کـه سنسور دما از محیط به منظور من ارسال کرده است، سیستم تهویـه را روشن کنم یـا خیر.
ولی درون حالت ارتباط شیئ با شیئ، بعد از اینکه سنسور دما اطلاعات محیط را دریـافت مـیکند. آنها را جهت تحلیل بـه سرور ارسال مـیکند. درون این شرایط سرور بـه عنوان تصمـیم گیرنده درون این سیستم عمل مـیکند. طبق الگوهایی کـه از پیش تعریف شده است. بهترین تصمـیم را درون کمترین زمان ممکن گرفته و نسبت بـه انجام آن اقدام مـیکند. درون این حالت سرور تصمـیم مـیگیرد کـه آیـا سیستم تهویـه را روشن یـا خاموش کند.
پروژه اینرنت اشیـاء با برد رزبری پای
برد رزبری پای Raspberry Pi (به تعبیر برخی از دوستان رسپبری پای!) قابلیتهای جذابی دارد. هرچند کـه از یک کامپیوتر رو مـیزی یـا لپ تاپ قدرت بسیـار کمتری دارد. ولی درون عین حال پروژههایی کـه راه اندازی آنها با همان کامپیوترها مشکل هست را بـه سادگی پیـاده سازی مـیکند. سنسورها درون پروژه اینترنت اشیـاء IOT بـه عنوان جمع آوری کنندههای اطلاعات محیطی نقش مـهمـی دارند. برد رزبری پای Raspberry Pi قرار هست به عنوان MCU اطلاعات تمامـی سنسورهایی کـه به آن مرتبط هستند را جمع آوری و به سرور ارسال کند. از این رو سنسورها بـه پایـههای GPIO برد رزبری پای متصل مـیشوند. رزبری پای هم از طریق پورت شبکه یـا وای فای از طریق شبکه اینترنت بـه سرور دسترسی خواهد داشت. درون پروژه مدیریت مصرف انرژی یک ساختمان مس دو خوابه، به منظور هر اتاق خواب یک سنسور دما و یک سنسور لومتر (سنجش روشنایی محیط)، به منظور و دستشویی بـه همـین صورت درون آشپزخانـه و سالن پذیرایی هم هر کدام یک سنسور دما و یک سنسور تشخیص شدت نور نیـاز است. که تا اینجا درون این پروژه بـه ۵ سنسور دما و ۵ سنسور تشخیص شدت نور نیـاز است. یک سنسور تشخیص جریـان هم درون کابل برق ورودی ساختمان قرار خواهد گرفت.
به این صورت دمای منزل از ۵ نقطه و شدت نور هر محیط از ۵ نقطه درون حال مطالعه و بررسی است. درون حالت ایدهآل به منظور هر اتاق یک سیستم تهویـه و برای سالن و آشپزخانـه و سرویس بهداشتی بـه صورت مجزا سیستم تهویـه قرار خواهد داشت. این سیستم مـیتواند بـه صورت مرکزی باشد و فقط باز و بسته دریچه تهویـه بر عهده سیستم اینترنت اشیـاء IOT مـیباشد. درون چنین حالتی اطلاعات این سنسورها بعد از ورود بـه برد رزبری پای Raspberry Pi بـه سرور ارسال مـیشوند. مـیزان مصرف برق براساس شدت روشنایی هر محیط و دمای هر محیط درون سرور تحلیل و بررسی مـیشوند. درون ارتباط شیئ با شیئ سرور بـه برد رزبری پای فرمان روشن یـا خاموش روشنایی و تهویـه هر کدام از ۵ نقطه منزل را ارسال مـیکند.
ارتباط برد رزبری پای با ربات تلگرام
همانطور کـه در بالا توضیح دادم، ابتدا وارد ربات BotFather مـیشویم. دستور استارت را بـه صورت زیر وارد مـیکنیم.
ربات پاسخ زیر را ارسال مـیکند.
I can help you create and manage Telegram bots.
If you're new to the Bot API, please see the manual.
You can control me by sending these commands:
/newbot - create a new bot
/mybots - edit your bots [beta]
/mygames - edit your games [beta]
Edit Bots
/setname - change a bot's name
/setdescription - change bot description
/setabouttext - change bot about info
/setuserpic - change bot profile photo
/setcommands - change the list of commands
/deletebot - delete a bot
Bot Settings
/token - generate authorization token
/revoke - revoke bot access token
/setinline - toggle inline mode
/setinlinegeo - toggle inline location requests
/setinlinefeedback - change inline feedback settings
/setjoingroups - can your bot be added to groups?
/setprivacy - toggle privacy mode in groups
Games
/newgame - create a new game
/listgames - get a list of your games
/editgame - edit a game
/deletegame - delete an existing game
I can help you create and manage Telegram bots.
If you're new to the Bot API, please see the manual.
You can control me by sending these commands:
/newbot - create a new bot
/mybots - edit your bots [beta]
/mygames - edit your games [beta]
/setname - change a bot's name
/setdescription - change bot description
/setabouttext - change bot about info
/setuserpic - change bot profile photo
/setcommands - change the list of commands
/deletebot - delete a bot
Bot Settings
/token - generate authorization token
/revoke - revoke bot access token
/setinline - toggle inline mode
/setinlinegeo - toggle inline location requests
/setinlinefeedback - change inline feedback settings
/setjoingroups - can your bot be added to groups?
/setprivacy - toggle privacy mode in groups
/newgame - create a new game
/listgames - get a list of your games
/editgame - edit a game
/deletegame - delete an existing game
در این آموزش مـیخواهیم یک API به منظور مدیریت از طریق برد رزبری پای Raspberry Pi تولید کنیم. دستور زیر را وارد مـیکنیم.
سپس ربات درخواست مـیکند کـه یک اسم به منظور این ربات درون نظر بگیرید. دقت کنید کـه این اسم با Username متفاوت است. بعد هر اسمـی کـه مـیخواهید وارد کنید.
سپس ربات درخواست Username مـیکند. چنانچه نام کاربری یـا همان Username تکراری باشد، قبول نمـیکند. مراحل را که تا آنجایی ادامـه مـیدهد کـه نام کاربری یکتا و منحصر بـه فرد انتخاب شود. البته دقت کنید کـه در انتهای نام کاربری از واژه bot حتما استفاده شود.
در اینجا من از اسم خودم استفاده مـیکنم. arvand_bot
همانطور کـه در تصویر مشاهده مـیکنید. من از این نام کاربری درون یک پروژه دیگری به منظور ساخت ربات استفاده کردهام. بعد یک نام کاربری دیگر وارد مـیکنم. arvand_digispark_bot
تا اینجا ربات مورد نظر من ساخته شد و تلگرام یک API درون اختیـار من قرار داد کـه در تصویر زیر مشاهده مـیکنیم. به منظور ایجاد هر ارتباطی با این ربات، بـه این API نیـاز داریم.
تنظیمات ربات تلگرام درون برد رزبری پای Rpi
این API بسیـار اهمـیت دارد. البته درون حال حاضر هنوز هیچ برنامـهای به منظور این ربات تعریف نکردهایم. حالا حتما API را درون برد رزبری پای وارد کنیم. بسته بـه پروژهای کـه تعریف کردهایم، از زبانهای برنامـه نویسی مختلفی مـیتوانیم استفاده کنیم. من درون ادامـه از این API درون برنامـهای کـه توسط نود رد Node Red نوشتهام، استفاده مـیکنم. اگر با نرم افزار نود رد node Red آشنایی ندارید. بـه آموزشهای نود رد Node Red کـه توسط همکارانم نوشته شده است، مراجعه کنید.
بسیـار خب، من مـیخواهم با ارسال دستور زیر یک ال ای دی را توسط برد رزبری پای روشن کنم.
وارد محیط نرم افزار نود رد Node Red مـیشویم. از نوار سمت چپ، نود تلگرام کامند Telegram Command را جستجو مـیکنیم. سپس بـه صورت گرفتن و رها (Drag and Drop) آن را روی صفحه Flow قرار مـیدهیم. همانند تصویر زیر
بر روی نود کامند تلگرام دبل کلیک مـیکنیم. که تا پنجره تنظیمات این نود باز شود. سطر دوم گزینـه کامند Command مقدار /On را وارد مـیکنیم. درون سطر پایینی قسمت Bot روی آیکون بـه شکل مداد کلیک مـیکنیم. همانند تصویر زیر درون قسمت Bot Name نام کاربری رباتی کـه ساختهایم را وارد مـیکنیم. سپس درون سطر پایینی Token کد API کـه توسط بات فادر ارسال شد را وارد مـیکنیم.
پس از انجام این تنظیمات، مجددا از نوار سمت چپ نود Trigger را جستجو و انتخاب مـیکنیم. سپس بـه صورت گرفتن و رها (Drag and Drop) آن را روی صفحه Flow قرار مـیدهیم. این قسمت بسیـار مـهم است. نود کامند تلگرام کـه در مرحله قبلی وارد کردیم، دارای دو خروجی مـیباشد. از خروجی بالایی با نشانـه گر موس کلیک مـیکنیم و به سمت ورودی نود Trigger آن را ادامـه داده و رها مـیکنیم.
پس از آن روی نود تریگر Trigger دبل کلیک مـیکنیم. که تا پنجره تنظیمات این نود باز شود. سطر اول گزینـهی Send روی حالت Number و عدد ۱ قرار مـیدهیم. از سطر پایینی گزینـه Then را روی حالت Wait to be reset قرار مـیدهیم. سپس روی آیکون Done درون بالا سمت چپ جهت تایید تنظیمات انجام شده، کلیک مـیکنیم. همانند تصویر زیر
مجددا از نوار سمت چپ نود Function را جستجو و انتخاب مـیکنیم. سپس بـه صورت گرفتن و رها (Drag and Drop) آن را روی صفحه Flow قرار مـیدهیم. از خروجی نود قبلی (تریگر Trigger) بـه ورودی این نود متصل مـیکنیم. سپس با دبل کلیک وارد پنجره تنظیمات این نود مـیشویم.
حالا دستور زیر را جهت بازخورد درون پنجره function و سطر شماره ۱ وارد کنید. همانند تصویر زیر
msg.payload = { "chatId": تلگرام رز ی 105850915, "type": "message", "content": "روشن شد" };
msg.payload = { "chatId": 105850915, "type": "message", "content": "روشن شد" };
تا اینجا مشخص کردیم کـه برد رزبری پای چطور از تلگرام فرمان دریـافت کند. حالا حتما مشخص کنیم کـه این فرمان دریـافت شده از تلگرام، چه کاری انجام دهد. بـه این منظور از نوار سمت چپ نود rpi gpio را جستجو و انتخاب مـیکنیم. دقت کنید کـه دو نوع نود با این مشخصات داریم. یکی به منظور ورودی بـه gpio برد رزبری پای Raspberry Pi و دیگری به منظور خروجی از پینهای gpio مـیباشد. همانند تصویر زیر نود خروجی را انتخاب مـیکنیم. سپس بـه صورت گرفتن و رها (Drag and Drop) آن را روی صفحه Flow قرار مـیدهیم.
سپس از خروجی نود تریگر trigger بـه ورودی نود gpio متصل مـیکنیم. روی نود gpio دبل کلیک مـیکنیم که تا پنجره تنظیمات باز شود. از سطر اول GPIO مقدار را روی GPIO17 تنظیم مـیکنیم. و سطر دوم Typeبر روی دیجیتال باقی مـیماند. از آنجایی کـه مـیخواهیم یک ال ای دی را با فرمان پین GPIO روشن کنیم. بـه مقدار دیجیتال نیـاز داریم. سپس تنظیمات را با آیکون Done ذخیره مـیکنیم.
و درون انتها حتما خروجی نود فانکشن Function را جهت ارسال فرمان بازخورد بـه ربات تلگرام، بـه یک نود تلگرام متصل کنیم. به منظور این منظور از نوار سمت چپ نود sender را جستجو مـیکنیم. سپس نود Telegram Sender را به صورت گرفتن و رها (Drag and Drop) آن را روی صفحه Flow قرار مـیدهیم. از خروجی نود فانکشن بـه ورودی نود تلگرام اتصال مـیدهیم. بعد از دبل کلیک روی آن وارد پنجره تنظیمات مـیشویم. از آنجایی کـه در نود تلگرام درون ابتدای برنامـه تنظیمات ربات تلگرام را ذخیره کردیم. درون اینجا فقط کافیست از لیست رباتهای تلگرام، ربات مربوطه را انتخاب کنیم.
وقتی تمامـی این مراحل را انجام دادید. بر روی آیکون Deploy درون بالا سمت چپ صفحه کلیک کنید. درون این صورت کلیـه تنظیمات نود رد بر روی برد رزبری پای Raspberry Pi ذخیره خواهد شد.
پس از انجام اینکارها وارد تلگرام و رباتی کـه ساختهایم مـیشویم. arvand_digispark_bot و استارت را مـیزنیم. سپس دستور /On را وارد مـیکنیم. بلافاصله ال ای دی متصل بـه پینهای GPIO رزبری پای روشن مـیشود.
در مرحله بعدی بازخورد این عمل مشخص مـیشود. ربات پیـام روشن شد را ارسال مـیکند. همانند تصویر زیر
به این صورت برد رزبری پای Raspberry Pi را بـه ربات تلگرام متصل کردیم. تعداد این دستورات را مـیتوانیم از همـین روش و با افزایش نودها Node خروجیهای مختلفی از پایـههای GPIo داشته باشیم و همچنین دستورات متنوع تری درون ربات تلگرام تعریف کنیم.
چنانچه درون مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی درون انتهای همـین پست، بـه صورت ثبت نظر سوالتان را مطرح کنید. من درون سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
در پایـان نظرات و پیشنـهادات خود را با ما درمـیان بگذارید و با اشتراک گذاری این آموزش درون شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
[ارتباط اینترنت اشیـاء iot با برد رزبری پای Raspberry Pi و ... تلگرام رز ی]نویسنده و منبع: توسط اروند طباطبایی | تاریخ انتشار: Mon, 20 Aug 2018 01:56:00 +0000