همگی با تلگرام و رباتهای آن آشنایی داریم. حتی در وبسایت دیجی اسپارک مطالب مختلفی درباره ارتباط برد آردوینو با ربات تلگرامی نوشته شده است. اما با توجه به تحریمات پیش آمده، دسترسی به این پیام رسان محبوب کمی محدودتر شده است. با این حال برنامه نویسان بومی پیام رسانی را ساختهاند که قابلیت ربات در آن را منظور کردهاند. ربات پیام رسان بله Bale App به ربات تلگرامی خیلی شباهت دارد. برای آشنایی بیشتر با پیام رسان بله به وبسایت Bale.ai مراجعه کنید. در این آموزش روش اتصال برد آردوینو به این پیام رسان را آموزش خواهیم داد. در ادامه این آموزش با دیجی اسپارک، مرجع تخصصی آردوینو به زبان فارسی همراه باشید.
نحوه ساخت ربات در بله
پیام رسان بله Bale محیطی مشابه با پیام رسان تلگرام دارد. برای اینکه از این پیام رسان به برد آردوینو ارتباط برقرار کنیم، لازم به ساخت ربات داریم. طبق مستندات وبسایت توسعه دهندگان بازوی بله در اولین مرحله باید با بازوی پدر به نشانی @botfather در بله گفتوگو کنید. بازوی خودتان را بسازید و token مربوطه را دریافت کنید. دقت داشته باشید که توکن بسیار اهمیت دارد و همان بخشی است که برای ارتباط با پیام رسان به آن نیاز داریم. برای اطلاعات بیشتر میتوانید به وبسایت توسعه دهندگان بازوی بله مراجعه کنید.
آماده سازی پروژه
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
ارتباط برد Wemos D1 Mini با ربات بله
برای کنترل برد ویموس از طریق ربات پیام رسان بله، کافیست کدهای زیر را کپی کرده و داخل نرم افزار آردوینو قرار دهید. با آپلود این برنامه روی برد خود و ارسال ۰ و ۱ به بات ساخته شده خواهید دید که ال ای دی داخلی خاموش و روشن خواهد شد. به این روش با یک برنامه چت ساده، میتوانیم با اشیا مختلف چت کنیم و آنها را در بستر اینترنت کنترل کنیم.
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک دانشجوکیت digispark daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
خیلی عالی دمت گرم
خواهش میکنم
قربان شما
با سلام و عرض ادب ،
بسیار عالی بود . من با nodemcu ch340 استفاده کردم و البته یه پیغام خطا دریافت نمودم مبنی بر اینکه ‘class axTLS::WiFiClientSecure’ has no member named ‘setInsecure’ که از دستور client.setInsecure(); گرفته شده بود . خط مذکور رو پاک کردم و برنامه بدون مشکل و اعلام خطا بارگذاری شد و استفاده شد . اگر در خصوص چرایی صدور این خطا و همچنین فرق بود و نبود این خط دستور کمی توضیح دهید ممنون میشوم . با تشکر
سلامو تشکر
بله این خط برای بورد های esp8266 میباشد و برای باقی بورد ها این تابع تعریف نشده است و کار این تابع این است که گواهی های امنیتی را نادیده بگیرد و اتصال را بدون آنها انجام دهد
سلام
ببخشید من توی هیچ کدوم از پروژه های تلگرام و همین بله متوجه نشدم که کد رو کجا آپلود کنم ؟! و ماژول wifi رو کدوم پایه ها بزنم !
سلام
برنامه باید روی یک ماژول وای فای دار (میتواند آردوینو به همراه ماژول esp8266 باشد یا یک بورد بصورت مستقل )
در این پروژه ما از wemos d1 mini استفاده کردیم
اگر ماژول وای فای دارید ابتدا نحوه کار با آن را مطالعه کنید
یک سوال دارم اینکه میتونم با یک بورد اردوینو هم مدیریت با sms با ماژول sim808 و همین ماژول wifi کار کنم ؟!
یعنی هر ۲ تا ماژول دستور بگیرند فکر کنم باید پایه های تعیین شده رو تغییر بدم از کدنویسی تا روی هم نباشن ؟
من پلتفرم کامل مدیریت هردو ماژول رو روی تلگرام و سرور طراحی کردم فقط سر هم کردن دستگاه مونده
بله هیچ مشکلی نداره و شما میتونید این کار را انجام بدید
بله خب باید حواستون به پایه های تعیین شده برای هر ماژول باشه
سلام درود ممنون بابت این اموزش خوبتان
در پیام رسان بله مثل اموزشی های قبلی که با بات تلگرام داده بودید ایا امکان این هست که حالت تایپ و اینا در بالای بازو بله قرار داد که یعنی بنویسد ربات در حال نوشتن پیام است از و موارد دیگری که در بات بود را قرار داد
سلام
خیر این موارد روی بات بله پیاده سازه نشده اند
بعد بله را در خصوص پایتون هم ایا مدلی کدی هست که بشود رزبری پای را با کد پایتون به مسنجر بله وصل اش کرد که مثلا ارسال عکس و و فیلم را داشته باشد
سلام
بله چنین امکانی وجود دارد و فقط باید بجای آدرس سرور تلگرام از آدرس https://tapi.bale.ai استفاده کنید
سلام ممنون بابت آموزش خوبتان
یه مشکل در خصوص پیام رسان بله دارم اونم در مورد این است که برنامه runمی شود و به بات متصل می شود ولی مشکل اساسی که دارم در این است که پس از چند روز ارسال و دریافت و فرمان دادن پس قطع و وصل شدن اینترنت برد مجددا برد دستورات قبلی که دریافت کرده و اجرایش کرده میاد و از ابتدای اولین دستور روز اول بررسی می کنه و اجرا می کند برای رفع این مشکل ایا راهی هست ؟؟ ممنون
با سلام و سپاس
این مشکل از طرف پیامرسان بله هستش که پیام هایی که خوانده میشوند برای ما حذف نمیشوند و شما اگه راه حلی دارید میتونید به کتابخونه نوشته شده کمک کنید تا توی این زمینه بهبود پیدا کنه.
سلام
خیلی خیلی تشکر از آقا آرش عزیز بابت ایجاد این پست و از همه مهم تر که با صبر و حوصله به تموم سوالات کاربران پاسخ میدن و تا نتیجه نهایی (البته موفقیت آمیز) همراه کاربر هستن
من این پروژه رو راه اندازی کردم و به یه مشکلی برخوردم و با راهنمایی آرش جان برطرف شد که گفتم باهاتون به اشتراک بذارم
ممکنه حین compile کد با خطای Error compiling for board …. مواجه بشید.
اول بردهای دیگه رو تست کنید:
LOLIN …
generic esp 8266 module
NodeMCU 0.9 ESP12 Module
NodeMCU 0.9 ESP12E Module
اگر بازم نشد و خطا داد نرم افزار arduino رو به آخرین ورژن آپدیت کنید و مجددا کامپایل کنید.
سلام
خیلی ممنون از نظر لطف شما
خواهش میکنم
آیا در پیام رسان بله هم مثل پیام رسان تلگرام میشه بر اساس چک کردن id کاربر ربات پاسخگو باشه برای امنیت پروژه؟
سلام
بله این امکان وجود دارد. api بله خیلی شبیه به تلگرام ساخته شده است
سلام مهندس من میخوام یه متغیر عددی رو ارسال کنم به ربات از چه دستوری باید استفاده کنم؟
مثلا یه متغیر v دارم که float هست چطور این متغیر رو بفرستم داخل ربات؟
سلام
شما میتوانید از توابع زیر برای پیدا کردن کاراکتر های داخل پیام دریافت شده استفاده کنید:
substring()
charAt()
startsWith()
endsWith()
متوجه نشدم مهندس یکم واضح تر توضیح میدید ببینید الان من با دستور
float t = dht.redTemperature();
دارم دما رو دریافت میکنم میخوام این متغیر رو بفرستم داخل ربات چطور این کار رو انجام بدم؟
به این شکل مینویسم خطا میده
bot.sendMessage (chat_id,t);
شما بصورت float در حال ارسال متن هستید در صورتی که باید بصورت string ارسال بشه
شما میتونید از این کد استفاده کنید:
bot.sendMessage (chat_id,String(t));
مهندس من یه سنسور dht11 دارم که به Wemos متصل هست مقدار متغیر دما هم در یه متغیر به نام t که float هم هست ذخیره شده میخوام این مقدار داخل ربات نمایش داده بشه مثلا کاربر دستور dama رو که ارسال کرد Wemos مقدار متغیر دما رو برگشت بده به ربات من نحوه ارسال و دریافت از ربات رو کامل متوجه شدم مشکلم اینه که چطور یه متغیر رو به ربات ارسال کنم.
متغیر ارسالی باید بصورت string باشه
بسیار عالیه
مشکل کاپایل کردن دارم همه برد های مربوطه رو تست کردم و اردوینو هم به اخرین نسخه ارتقا دادم ولی بازم این مشکل برام وجود دارع Multiple libraries were found for “BaleBot.h”
In file included from C:\Users\ilyajk\Documents\Arduino\libraries\BaleBot-ESP8266-master\examples\FlashLED\FlashLED.ino:3:0:
C:\Users\ilyajk\Documents\Arduino\libraries\BaleBot-ESP8266-master\src/BaleBot.h:10:26: fatal error: ArduinoJson.h: No such file or directory
#include
^
compilation terminated.
Used: C:\Users\ilyajk\Documents\Arduino\libraries\BaleBot-ESP8266-master
Multiple libraries were found for “ESP8266WiFi.h”
Used: C:\Users\ilyajk\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266WiFi
Multiple libraries were found for “EEPROM.h”
Used: C:\Users\ilyajk\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\EEPROM
exit status 1
Error compiling for board LOLIN(WEMOS) D1 R2 & mini.
به نظر میرسه با کتابخونه ها به مشکل برخوردید
آیا همه کتابخونه ها خونده شدن؟
سلام من میخواستم ۴ تا رله رو فرمان بدم دستورات رو چطوری وارد کنم
با سلام
کاربر گرامی سوال شما خیلی کلی است. اگر برنامه نویسی C را نمیدانید، پیشنهاد میشود دوره آموزش برنامه C را بگذرانید و سپس اقدام به راه اندازی این مدارها کنید.
ایا می شود با پیام رسان سروش هم کتابخانه ای نوشته شود و با بات سروش هم وصل کرد و از آن استفاده کرد اگر بشود خیلی خیلی عالی می شود
بات سروش در حال حاضر بصورت آزمایشی شروع به کار کرده
بزودی برای آن هم کتابخانه ارائه خواهد شد
سلام وقت تون بخیر من این پروژه رو با nodemcu esp12e v1.0 انجام دادم همه کارها مرتب انجام میشه اما led bultin روشن نمیشه پین d1 رو هم خروجی قرار دادم روی آن یک led قرار دادم اما باز هم کار نکرد لطفا راهنمایی کنید؟
با سلام و سپاس
آیا در ربات پاسخی مبنی بر اینکه چراغ خاموش یا روشن شده است میبینید؟
بله پاسخ کامل دریافت میشه ارتباط کامله روشن شد و خاموش شد رو دریافت میکنه ، فقط قسمت مدار ایراد دارم نمیتونم ال ای دی یا رله روشن کنم
آیا بصورت عادی کد های زیر جواب میدهند؟
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
سلام خسته نباشید
ی مشکل جدی داره بعد چند ساعت ک استفاده نمیشه ازش انگار میره تو حالت استندبای دیگه کار نمیکنه اول فکر کردن چون هیچ جریانی نمیکشه خاموش میشه ی برنامه چشمک زن نوشتم ی ال ای دی اضافه کردم بهش ک چشمک بزنه خاموش نشه جواب داد ولی به همراه ال ای دی رله هم هر از گاهی خاموش روشن میکرد ک فایده نداشت لطفا کمک کنید ک چجوری با روشن نگرش دارم
سلام و سپاس
منظورتون خود برد هستش که استندبای میشه یا ارتباط با ربات؟
سریال مانیتور را چک کردید که خروجیش چیه؟
نمیدونم ارتباطش با اپلیکیشن قطع میشه یا خود برد استند بای میشه زیاد زمان میبره تا همچین اتفاقی بیوفته
دقیقا نمیدونم برد استند بای میشه یا ارتباطش با ربات قطع میشه.
زمان میبره تا همچین اتفاقی بیوفته با سریال مانیتور چک نکردم .
مشکل مشابه این اتفاق نیوفتاده ؟
چیکار میشه کرد ک این موضوع حل بشه ؟؟؟
مشکل مشابهی من ندیدم
اگه بتونید یه مدتی توسط سریال مانیتور چکش کنید بهتره
سلام مهندس خوبی شما
مهندس سپاس از زحمات شما
ی مشکل اساسی دارم
کد و ک اپلود میکند وقتی استارت و میفرستم جواب نمیده باید چند بار ارسال کنه تا شروع به کار کنه
بعضی وقت ها ک اصلا هر چقدر هم بفرستم هیچ عملی صورت نمیگیره
و گاهی هم که جواب میده بعد چند ساعت باز ربات هیچ دستوری و نمیگیره
سلام و سپاس
بیشتر این مشکلات برای سرور های بله هستش و بعضی مواقع چنین اتفاقی می افته و از دست ما خارجه
سلام خسته نباشید
رله مدار بی دلیل خاموش روشن میشه اینقدر این اتفاق میوفته تا کلا برقشو قطع کنم ممنون میشه راهنمای کنید
سلام و سپاس
منظورتون را متوجه نمیشم
یعنی بدون هیچ دستوری خودش خاموش میشه به مدت طولانی و بعد وصل میشه؟
خسته نباشید
میشه که اطلاعات رو از برد arduino با ار تباط سریال منتقل کنم به برد esp8266_01 و بعد اطلاعات رو بفرستم به پیام رسان بله ؟
لطفا راهنمایی کنید که دستور خواندن رو در برد esp چطور بنویسم ؟
سلام و سپاس
شما میتونید هر برنامه ای خواستید روی بورد خودتون آپلود کنید کنید.
منظورتون از دستور خواندن چیه؟
آقای کد خدایی
اطلاعاتی که میفرستم از طرف arduino ,ومی خوام از طرف esp8266 که می خوام بخونمش از دستور Serial.read استفاده می کنم ولی نمی دونم چرا esp رسیت میشه ؟
گفتم شاید دستور خواندن دیگه ایی داشته باشه ؟
از این مطلب استفاده کنید:
https://www.instructables.com/id/Serial-Communication-Between-Arduino-and-ESP-01/
با سلام وعرض ادب
من برنامه رو درست اپلود کردم و توسریال مانیتور
WiFi connected
***********:IP address
رو نمایش می دهد و بات بله رو هم با بات فادر درست کردم ولی نه وقتی start/و ۱و۰ رو می فرستم هیچ چیزی رو نمی فرسته توکن که از بات فادر دریافت کردم رو هم در برنامه اضافه کرد
سلام و سپاس
آیا توکن به درستی وارد شده است
توکن باید بین دبل کوتیشن ها وارد شود
داخل سریال مانیتور پیغام دیگیری موجود نیست؟
توکن رو به درستی وارد کرد وداخل پرت سریال چیز دیگه ی نمی نویسه
سلام توی این روش یک مشکل وجود داره . وقتی برد مجدد به منبع تغذیه وصل میشه ربات میره تمام دستور های قبلی رو مجدد اجرا میکنه. لطفا نمونه سورس کد ربات که در اون این مشکل رفع شده باشه رو توی سایت بزارید باتشکر
سلام
متاسفانه این مشکل بخاطر سرور های بله پیش آمده است که پیام هایی که از قبل خوانده شده اند همچنان در سرور باقی میمانند که در تلگرام به این شکل نیست
در نسخه های بعدی این مشکل مرتفع میگردد
چجوری میشه بجای ال ای دی برد یه رله رو متصل کرد؟
هیچ تفاوتی ندارد و هر ماژولی که دیتای ۰ و ۱ قبول کند را میتوانید به پین تعریف شده متصل کنید
ببخشید می توان این مدار را روی ربات پیام رسان سروش بست؟
میشه جواب بدین
متاسفانه خیر ولی در بزودی آموزش این پیامرسان نیز قرار داده خواهد شد
سلام .
میخواستم بدونم که کد ها را باید فقط روی node mcu آپلود کرد .
و نیاز به کدنویسی ربات بله هست ؟ یا باید ربات بله را مثل ربات تلگرام درست کنیم.و توکن ربات بله را داخل کد ها قرار دهیم . و داخل node mcu آپلود کنیم .
و بعد start ربات بله را بزنیم همه چیز درست میشه ؟؟
سلام
بله پروسه شبیه به تلگرام هستش و باید اول یک بات داخل خود نرم افزار بله ساخته و توکن را داخل کد آردوینو وارد کنید
سلام مجدد .
من میخواهم بجای ال ای دی از ماژول رله استفاده کنم .
و اینکه چجوری میشه لحظه ای کرد ماژول رله را . چون من میخواهم به عنوان درب بازکن استفاده کنم .
ایا در کد ها باید تغییری ایجاد کنم ؟
چه تغییری ؟
لطفاً کامل توضیح دهی.
ممنون.
شما میتونید در برنامه اردوینو (قسمت چک کردن پیام)بصورت blink بنویسید و در اخر digitalWrite(x,LOW); بزنید
سپاس از همراهی شما
سلام ببخشید من با ساخت ربات در پیام رسان بله مشکل دارم بعد این که @botfather رو باز میکنم و /newbot رو انتخاب میکنم پاسخی در یافت نمیکنم میشه لطفا راهنمایی کنید
با سلام
اخیرا این پیام رسان با مشکلاتی مواجه شده است. به همین دلیل مشکلات سمت پیام رسان را نمیتوانیم بررسی کنیم. بایستی با پشتیبانی پیام رسان بله در ارتباط باشید.
سلام مهندس
من داخل پیامرسان بله ربات را که میسازم توکن را بهم میده
اما بعدش ربات که ساختم را چجوری پیدا کنم ؟؟
با سلام
بایستی آنرا داخل پیام رسان جستجو کنید.
سلام
من داخل پیامرسان که اسم ربات را جستجو میکنم هیچی نمیاد
سلام شرمنده این کد برای من تو خط۵۰ ارور میده و میگه در این محدوده وای فای تعریف نشده مشکل چیه
با سلام
لطفا ارور را ارسال کنید. تا بتوانیم بررسی داشته باشیم.
برام از بله هیچی نمایش داده نمیشه نه وقتی که استارت میزنم نه ۰و۱ توکنشم چند بار عوض کردم دوباره جاگذاری کردم درست نشد مشکل از چیه
با سلام
متاسفانه اپلیکیشن پیام رسان بله، در بسیاری از مواقع به درستی کار نمیکند.
استاد از تلگرام هم امتحان مردم نمیدونم چرا رباتش جواب نمیده نه برد نه ربات کار نمیکنه بیش از ۱۰۰بار امتحان مردم خواهشا کمک کنید دیونه شدم
این پست مربوط به پیام رسان بله است، در خصوص تلگرام، اگر امکان اتصال برد را به سرور تلگرام دارید، در همان آموزش مطرح کنید تا قدم به قدم برای رفع مشکل پیش برویم.
استاد بله و تلگرام هردو اینجوری هستن کار نمیکنه لطفا راهنمایی کنید بیش از ۱۰۰ بار امتحان کردم
سلام، من کد رو با موفقیت روی برد آپلور کردم و برد به وای فای وصل شد ولی وقتی از ربات بله پیام /start رو میفرستم، برد هیچ پیامی به من نمی فرسته، میدونید مشکل از کجاست؟
با سلام
اخیرا مشکلاتی سمت پیام رسان بله مشاهده شده است.
بر روی json v6 کامپایل نمی شود
با سلام
در صورت استفاده روی برد دیگر، بایستی در کدها تغییرات ایجاد کنید.
سلام من میخواستم ۴ تا رله رو کنترل کنم میخواستم بدونم چطوری باید پین تعریف بکنم ممنون میشم راهنمای بفرمایید
با سلام
پاسخ شما در سوال قبلی ارسال شده است.