آموزش اتصال آردوینو ESP8266 به ربات پیام رسان بله

blog
۱۳۹۹-۰۲-۰۷
4 دقیقه

در این آموزش از دسته آموزش اردوینو می‌خواهیم با استفاده از ربات پیام رسان بله پروژه اینترنت اشیاء بسازیم تا برق وسایل مختلف منزل را به راحتی از راه دور و تنها با استفاده از دکمه‌های ربات کنترل کنیم! همچنین دمای محیط را با استفاده از ربات اندازه گیری می‌کنیم!

در آموزش اتصال ربات تلگرام به آردوینو – قسمت اول و آموزش اتصال ربات تلگرام به آردوینو – قسمت دوم، در خصوص نحوه‌ی ساخت ربات به کمک Botfather و هم چنین برقراری ارتباط با سرورهای تلگرام برای اتصال دستگاه‌های IOT را با این پیام‌رسان محبوب به همراه سورس کامل آن را نیز منتشر کردیم. همچنین در آموزش اتصال ربات تلگرام به آردوینو ESP8266 – ربات تلگرام در خانه، نگاهی کاربردی‌تر به مقوله ربات تلگرام داشتیم.

در این آموزش‌ها شما یاد خواهید گرفت که چگونه به‌طور عملی یک ربات تلگرام برای پروژه اینترنت اشیاء خود بسازید. همچنین پس از فیلتر شدن تلگرام، در اینترنت اشیاء و اتصال به ربات تلگرام بدون محدودیت و فیلتر، نحوه اتصال ESP8266 به سرور تلگرام بدون استفاده از پراکسی را توضیح دادیم.

خب دوستانی نظر دادند که چرا ما این آموزش را با یک پیام رسانی وطنی که قابلیت ربات هم داره انجام نمیدید و صد البته نظر اونها هم منطقی و هم پسندیده بود, پس لازم دونستیم این آموزش را هم  مثل همیشه بصورت رایگان اینجا منتشر کنیم.

 

برای ساخت ربات جدید و راه اندازی آن در پیامرسان بله نیز، تا حد زیادی مراحل شبیه به راه اندازی ربات در تلگرام می‌باشد، بنابراین توصیه می‌کنم حتماً مقالات بالا را مطالعه کنید.

با این آموزش از سیسوگ همراه باشید.

 

تغییرات کتابخانه ZeusTgBot

API ربات بله، تا حد زیادی با API ربات تلگرام یکسان است ولی علی رغم ادعای بله مبتنی بر سازگاری API آن با ربات تلگرام، در برخی موارد متدها کاملاً یکسان نبوده و تطابق کامل وجود ندارد. خوشبختانه متدهایی که در کتابخانه زئوس بات وجود دارند، با متدهای مشابه آن در بله مطابقت دارند و تنها تفاوت در آدرس API می‌باشد.

آدرس API ربات تلگرام به‌صورت زیر است:

و آدرس API ربات بله نیز به این شکل می‌باشد:

بنابراین در پروژه ZeusTgBot که از صفر توسط تیم سیسوگ نوشته شده است، تفاوت تنها در جایگذاری و ساخت آدرس API می‌باشد. اما چالش بعدی، اتصال ESP8266 از طریق SSL می‌باشد.

 

اتصال ایمن ESP8266 از طریق SSL

یکی از چالش‌های مهم برای اتصال بردهای الکترونیکی به اینترنت، مبحث اتصال ایمن از طریق SSL یا همان HTTPS می‌باشد. یک ارتباط ایمن نیازمند پیش نیازهای متفاوتی از جمله تنظیم بودن ساعت کلاینت و سرور، داشتن fingerprint معتبر و… می‌باشد. در صورتی که هریک از پارامترهای اتصال ایمن برقرار نباشد، ممکن است اتصال با موفقیت صورت نگیرد. مهیا کردن این ویژگی‌ها بر روی سخت افزار می‌تواند کمی پیچیده باشد. اما به کمک کتابخانه‌های ESP8266 به راحتی می‌توان یک ارتباط ایمن برقرار ساخت.

 

روش های موجود

اولین روش، تست اتصال بدون استفاده از SSL است. اگر بدون استفاده از https و با http به سرور بله درخواستی ارسال نمایید، این سرور به طور خودکار شما را به SSL منتقل می‌کند. یعنی Force HTTPS Redirection بر روی این سرور فعال می‌باشد. بنابراین شما تنها باید از طریق ارتباط ایمن به این سرور درخواست ارسال نمایید. بنابراین به سراغ گزینه بعدی می‌رویم. گزینه بعدی، استفاده از کتابخانه WiFiClientSecureBearSSL خواهد بود. در این روش برای اتصال ایمن، شما نیاز به اثرانگشت یا fingerprint دارید. معمولاً این اثرانگشت‌ها تنها برای یک آدرس خاص ساخته شده و دارای زمان انقضا می‌باشند. پس از این زمان شما می‌بایست مجدداً اثر انگشت جدیدی را برای ارتباط ایمن تولید کنید. اما خوشبختانه کتابخانه فوق، قابلیتی دارد که با استفاده از آن، می‌توانید بدون استفاده از اثرانگشت به https متصل شوید، اما این روش از امنیت کمتری برخوردار است. شما می‌توانید از هر دو روش برای اتصال استفاده کنید. برای این کار کافی است در فایل ZeusTgBot.cpp یکی از این دو خطوط را کامنت و دیگری را از حالت کامنت خارج کنید.

 

اثر انگشت را نیز می‌توانید به‌دست آورده و در فایل ZeusTgBot.h ویرایش کنید.

 

نحوه راه اندازی ربات

راه اندازی ربات بسیار ساده است! کتابخانه جدید، بر پایه کتابخانه ZeusTgBot سیسوگ و با زبان آردوینو نوشته شده است. شما می‌توانید فایل برنامه اصلی main.ino را در ویرایشگر آردوینو یا ویرایشگر حرفه‌ای سیسوگ باز کنید. سپس نام کاربری و رمز عبور وای فای خود را به همراه توکن رباتی که از بات فادر بله دریافت کردید، در قسمت زیر جایگذاری کنید:

این کتابخانه هم برای ربات بله و هم برای تلگرام به همراه پروکسی قابل استفاده است. برای استفاده از ربات بله، تنها کافی ست تا هنگام ساختن شی‌ء جدید از روی کلاس ZeusTgBot ، پارامتر دوم را که isBale است، مقدار ture وارد کنید.

همچنین برای راه اندازی سنسور دما، شما می‌بایست کتابخانه آن را نیز به آردوینو اضافه کنید. این کار بسیار ساده است و در ادامه خواهید خواند.

 

دریافت دمای محیط

قبلاً در سیسوگ راه‌اندازی سنسور دما DS18b20 با آردوینو و پروتکل onewire (تک سیمه) توضیح داده شده است. شما از طریق این آموزش، می‌توانید کتابخانه Dallas را به آردوینو اضافه کنید. در پیام رسان بله، شما می‌توانید با ارسال دستور  دما  به ربات هوشمند سیسوگ، دمای محیط را به‌دست آورید.

 

تصاویری از ربات در محیط بله

وقتی کاربر برای اولین بار ارتباط با ربات را در محیط بله با دستور استارت ‎/start شروع می‌کند، با پیامی مشابه زیر مواجه می‌شود:

آموزش ساخت ربات بله

کاربر به راحتی می‌تواند با استفاده از دکمه‌های تغییر وضعیت، وضعیت روشن یا خاموش بودن هریک از چراغ‌های متصل به ESP8266 را تغییر دهد.چراغ‌ها به طور پیش فرض خاموش هستند. پس از فشردن هر کلید، مشاهده خواهید کرد که ربات پیام جدیدی را ارسال نکرده و همان پیام قبلی را برای شما ویرایش می‌کند تا از شلوغی بیش از حد جلوگیری شود!

با هر بار فشردن کلیدها، همچنان همان دکمه‌های زیر پیام در ربات بله در دسترس هستند و می‌توانید مجدداً وضعیت لامپ‌ها را کنترل کرده و حالت دلخواه خود را فعال کنید.

 

اینترنت اشیا و کنترل لوازم منزل با ربات بله

 

توجه داشته باشید که منظور از لامپ‌ها، در واقع دستگاه‌های متفاوتی است که شما می‌توانید از راه دور کنترل کنید. در این پروژه برای نمایش صحت عملکرد ربات، از LED استفاده شده است. شما می‌توانید تعداد دستگاه‌های بیشتری را با منوها دلخواه خود توسط این ربات کنترل کنید.

 

ویدئو عملکرد مدار

اطلاعات
53
1
لینک و اشتراک
profile

Digi Boy

متخصص الکترونیک

به دانش فزای و به یزدان گرای، که او باد جان تو را رهنمای (فردوسی)

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
فاضل اعصامی گفت :
۱۴۰۳-۰۶-۲۵ ۲۱:۲۰

سلام برای esp32cam قابل استفاده است؟
چطور میشه عکس با متد POST فرستاد؟
تشکر

profile
Zeus ‌ گفت :
۱۴۰۳-۱۰-۰۱ ۱۷:۴۷

فکر نمیکنم مشکلی باشه

profile
مهدیار اسماعیلی گفت :
۱۴۰۳-۰۵-۲۵ ۰۱:۴۱

————— CUT HERE FOR EXCEPTION DECODER —————
فکر کنم در ورژن جدید board manager node mcu v1
این خطا میاد
قبلا نمیومد
چکار کنم؟

profile
نیما گفت :
۱۴۰۳-۰۴-۲۶ ۱۹:۰۹

سلام مهندس
تشکر بابت کتابخانه ی عالیتون
همه چی عالی کار میکنه
فقط یه راهنمایی کنید منو
وقتی سیستم هنگ میکنه بعد از روشن شدن همه ی دستورات قبل رو دوباره میخاد اجرا کنه
چطوری میتونم بعد از روشن شدن ماژول همه ی دستورات قبل رو پاک کنم یا نادیده بگیرم

profile
رضایی گفت :
۱۴۰۲-۱۲-۱۲ ۱۵:۰۰

سلام خسته نباشید ببخشید این فایل کتابخانه ناقص هستش همه فایل هاش جابجا هستن و وقتی میخوام فایل زیپ رو اضافه کنم ارور میده و نصب نمیشه

profile
Shadow گفت :
۱۴۰۲-۱۲-۱۴ ۰۸:۴۹

فایل تست شد و سالم هست. دوباره تست کنید لطفا

profile
محمد گفت :
۱۴۰۲-۱۱-۱۲ ۱۵:۵۳

سلام و احترام
چگونه میشه درب منزل رو باهاش باز کرد برای یک ثانیه یه خروجی ها رو تنظیم کنیم ؟
و هنگ که نمیکنه ؟

profile
محمد گفت :
۱۴۰۲-۰۸-۱۹ ۱۶:۲۹

با سلام و عرض خسته نباشد . من دانشجو هستم و برای یک پروژه نیازداشتم که این کد را روی برد esp32 اجرا کنم . اگه امکان داره من رو راهنمایی کنید .

profile
armin گفت :
۱۴۰۲-۰۶-۱۴ ۱۲:۲۶

سلام میتوانم ماژول esp8266 به اردوینو متصل کنم و استفاده کنم

profile
Shadow گفت :
۱۴۰۲-۰۶-۱۴ ۱۴:۳۰

سلام بله باید پین TX روی ESP8266 به پین RX آردیونو متصل کنید و پین RX روی ESP8266 رو به پین TX روی برد آردیونو متصل کنید.

profile
Ali khalili گفت :
۱۴۰۲-۰۴-۱۷ ۱۹:۲۲

سرور بله که نمیتونه به ESP وصل بشه
آدرس وب‌هوک ربات بله را چی ثبت کردید؟
چطور وقتی کاربر توی ربات یه کلیک میزنه، اطلاعاتش به ماژول منتقل میشه؟

profile
امین گفت :
۱۴۰۱-۰۵-۱۵ ۱۸:۵۲

سلام آقا یه کمکی بکنید. این سیستم کار میکرد حدود یک هفته عالی هم بود اما الان چند روز هست هر یک دقیقه این ارور رو میده
[HTTPS] GET… failed, error: connection failed
و هر چند دقیقه هم مازول رو ریست می‌کنه. مشکل از کجاست

profile
امین گفت :
۱۴۰۱-۰۵-۱۵ ۰۸:۲۱

سلام همه چیز کار می‌کنه اما حدودا نیم ساعت یک بار این ها رو رو پورت سریال میفرسته و ماژول زو ریست میکنه لطفاً راهنمایی کنید.
User exception (panic/abort/assert)
————— CUT HERE FOR EXCEPTION DECODER —————

Unhandled C++ exception: OOM

>>>stack>>>

ctx: cont
sp: 3ffffa90 end: 3fffffc0 offset: 0000
3ffffa90: 4025b5be 3fff0250 00002200 00000000
3ffffaa0: 000000fe 00000000 00000000 00000000
3ffffab0: 00000000 00000000 00000000 00000001
3ffffac0: 00007fff 00000000 c030c02c 00000000
3ffffad0: 00000000 402088ff 000005d8 4020da46
3ffffae0: 00000000 402088ff 00000020 4020da65
3ffffaf0: c02ac026 c00ec004 000005d8 4020d000
3ffffb00: c09dc09c 00000001 3fff9034 402088ff
3ffffb10: 00000000 c00dc003 3fff000a 40208570
3ffffb20: 00000000 00000000 3ffffb50 3fff1f7c
3ffffb30: 00000000 3ffe9b3a 3fff9034 40208d65
3ffffb40: 00000019 3ffefae4 00000001 4020d238
3ffffb50: 00000000 00000000 000001bb 4020db6e
3ffffb60: 00000000 3fff298c 3fff9034 40207d96
3ffffb70: 3fffbdd4 00000320 00000020 3ffe98d2
3ffffb80: 000001bb 3fff1f7c 3fff9034 3ffe98d2
3ffffb90: 000001bb 3fff1f7c 3fff9034 40208ef1
3ffffba0: 402110c8 d389e425 402110c8 d389e425
3ffffbb0: 3ffffcf0 00000319 3ffffc60 4021017e
3ffffbc0: 00000000 0000031e 3fffba02 4020a421
3ffffbd0: 00000000 00000319 3ffffc60 4020ae56
3ffffbe0: 3ffe8c40 0000031e 3fffba09 4020e58c
3ffffbf0: 0000167b 0000167b 3ffe85e4 401007db
3ffffc00: 4020b180 3ffe8c3e 3ffef9e0 3ffffd7c
3ffffc10: 3fffb09c 00001616 00000001 401007db
3ffffc20: 3ffffcf0 3ffef9e0 3ffffc40 3ffffd7c
3ffffc30: 3ffffcf0 3ffffc60 3fffb09c 4020af92
3ffffc40: 00000000 3ffef93c 3ffffce4 4020afc2
3ffffc50: 3ffffcf0 3ffef93c 3fff07fc 40205fac
3ffffc60: 3fff07fc 3fff1f7c 000c000f 80000000
3ffffc70: 400101bb 00001388 3fffbf6c 0046004f
3ffffc80: 80000000 70747468 00000073 05000000
3ffffc90: 3fff29c4 0020002f 80000000 3fff082c
3ffffca0: 0011001f 80000000 00000000 3ffffce0
3ffffcb0: 00000000 00000000 00000000 00000000
3ffffcc0: ffffffff 00000000 00000000 3ffe000a
3ffffcd0: 00000000 00000010 00000000 00000000
3ffffce0: 00000000 00000000 031e031f 00000000
3ffffcf0: 00000000 000c000f 00000000 3fffb09c
3ffffd00: 0319031f 8a002264 3fff3244 005a005f
3ffffd10: 80000000 0000000f 3ffffd70 4020c064
3ffffd20: 3fff85f0 3ffef9e0 3ffffd70 4020c170
3ffffd30: 3ffffd50 3fff85f0 00000100 3ffef93c
3ffffd40: 00000000 3fff85f0 00000100 402065f3
3ffffd50: 40210dcc 000001d0 3fff8c24 00000800
3ffffd60: 40210dcc 00000001 3fff86f4 00000400
3ffffd70: 3fff2c24 000f000f 80000000 00000000
3ffffd80: 3fff238c 00000000 3fff2cdc 000f000f
3ffffd90: 80000000 000001ce 3ffffdd0 4020c064
3ffffda0: 3ffffde8 3ffffdf4 3fff8820 3ffffdd0
3ffffdb0: 4020db79 3ffffea8 3ffef7a4 3ffffeb4
3ffffdc0: 3ffe8a9d 3ffffea8 3ffef7a4 40201609
3ffffdd0: 3fff27b4 01ce01cf 80000000 3fff268c
3ffffde0: 011d011f 80000000 30383737 38393635
3ffffdf0: 09000032 34323337 39313132 09000033
3ffffe00: 00000000 33333a32 00000000 00000000
3ffffe10: 3f003a32 00000000 00000000 4020bf7d
3ffffe20: 00000000 00000000 3fff0032 00000000
3ffffe30: 00000000 3fff2a2c 00000000 00000000
3ffffe40: 3fff2a2c 00000000 3fff238c 01ce01cf
3ffffe50: 80000000 3fff2564 011d011f 80000000
3ffffe60: 00000001 00000000 3ffffe90 4020c170
3ffffe70: 00000000 3ffe97a1 40201164 3ffe9781
3ffffe80: 3ffef93c 3ffe97a1 40201164 40206904
3ffffe90: 3fff2a54 0013001f 80000000 636c

profile
علیرضا گفت :
۱۴۰۰-۰۹-۰۶ ۲۳:۰۱

باید یک فایل با نام .htaccess (البته نقطه اول باید باشه) بسازید و این متنو داخلش بنویسید تا جواب بده ( باری من اینطور بود)

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

ممنون از راهنمایی دوست عزیزم از بوشهر علی اضغر حق شناس

profile
محمد احمدی گفت :
۱۴۰۲-۰۵-۱۰ ۱۱:۳۸

درود بر شما
پسوند فایل چی باید باشه و محل قرارگیری فایل ؟

profile
Digi Boy گفت :
۱۴۰۰-۰۹-۰۸ ۰۹:۲۴

دوست عزیز، فایلی که شما فرمودید مربوط به تنظیمات سمت سرور هست، ما به کمک خود ESP8266 مستقیماً به سرور بله متصل شدیم و این وسط سرور دیگه ای نداشتیم که بخواهیم تنظیماتش رو تغییر بدیم! احتمالاً دیدگاهتون مربوط به مقاله “ربات تلگرام بدون فیلتر” نبوده و اشتباه اینجا نفرستادید؟

profile
علیرضا گفت :
۱۴۰۰-۰۹-۰۸ ۲۲:۳۸

1-بله صحیح میفرمایید اما این کد برای سرور بله و برای سرور تلگرام هر دو قابل استفاده است
2- اگر این فایل در سرور میانجیمون قرار بگیره تمام کتابخونه و کد آردوینو قابل استفاده است برای تلگرام
3- پست دور زدن تلگرام با vscode نوشته شده و این کدی که در پست الان هست بسیار عالیست برای Arduino IDE

profile
Digi Boy گفت :
۱۴۰۰-۰۹-۱۰ ۱۱:۰۵

از دو مقاله ترکیب خوبی ساختید!

profile
خلیل گفت :
۱۴۰۰-۰۸-۲۴ ۱۳:۴۲

چرا جواب من را نمیدهید؟

profile
Digi Boy گفت :
۱۴۰۰-۰۸-۲۵ ۱۲:۳۹

دوست عزیزم، مطالب و کامنت ها واقعا زیاده و نویسنده های زیادی هم هستند که باید پاسخ بدن، برای همین ممکنه یکی دو روز طول بکشه!

profile
خلیل گفت :
۱۴۰۰-۰۸-۲۳ ۱۳:۴۱

سلام خوبین

من هر کاری میکنم خطا میده و وصل نمیشه و در سریال مانیتور اردیونو مینویسه

[HTTPS] GET… failed, error: connection failed
[HTTPS] begin…
Send:{“offset”:”0″,”limit”:”1″}

profile
Digi Boy گفت :
۱۴۰۰-۰۸-۲۵ ۱۲:۳۶

سلام.
شما با یه URL دیگه چک کنید ببینید اتصال به اینترنتتون برقرار هست؟
به وای فای متصل شده؟ وای فایتون اینترنت داره؟!
setFingerprint رو کامنت کردید و client->setInsecure(); رو فعال کردید؟
خیلی عوامل میتونه باشه، باید توی قسمتای مختلف کدتون دیباگ اضافه کنید تا توی پنجره سریال ببینید مشکل از کجا میتونه باشه.

profile
mohmmadreza گفت :
۱۳۹۹-۰۹-۰۳ ۰۲:۰۰

با سلام ایا در استفاده از دکمه ها در برنامه برای ربات پحدودیت در تعداد وجود دارد ؟

profile
Digi Boy گفت :
۱۳۹۹-۰۹-۰۴ ۱۵:۲۶

درود بر شما.
خیر، اما خوب چون هر پردازش درخواست توسط ESP8266 کمی زمان می‌برد، ممکن است درخواست‌های پشت سر هم شما در ربات، در سرور بله جمع شود و بعد یکی یکی توسط ESP8266 خوانده و اجرا شود. اگر این امر باعث ایجاد باگ احتمالی نشود، مشکلی وجود ندارد.
بهتر است کد را جوری تغییر دهید که ربات تنها به یک مدیر (یک حساب کاربری در بله یا user_id) پاسخ بدهد و دیگر درخواست‌ها را یا رد کند، یا پاسخ دیگری بدهد.

profile
مهدی گفت :
۱۳۹۹-۰۷-۱۰ ۲۲:۰۹

سلام و با تشکر از شما
اگر ممکن هست لینک دانلود همه کتابخانه های مورد نیاز این پروژه رو بزارید ممنون میشم
#include
#include
#include
#include
#include “OneWire.h”
#include

با سپاس فراوان

profile
Digi Boy گفت :
۱۳۹۹-۰۷-۱۳ ۰۹:۳۱

درود بر شما.
شما کتابخانه Dallas را به آردوینو اضافه کنید، بهترین روش برای اضافه کردن اون، افزودن از طریق خود مدیر کتابخانه آردوینو است. در آموزش بالا، پاراگراف “دریافت دمای محیط”، لینک به آموزش کامل راه اندازی سنسور دما داده شده است که این مورد را به‌صورت کامل به شما آموزش می‌دهد. فکر نمی‌کنم به کتابخانه دیگری نیاز باشد. اگر باز مشکلی بود، بفرمایید.
لینک:
https://sisoog.com/2019/07/راه‌اندازی-سنسور-دما-ds18b20-با-آردوینو/

profile
مجتبي گفت :
۱۳۹۹-۰۵-۳۱ ۱۷:۲۹

سلام، روزتون بخیر
;(Zeus_TgBot Bot(Bot_Key, true, true این خط در نرم افزار آردوینو ارور میده، ولی من دوتا true حذف کنم ارور نمیده ولی بات بله راه اندازی نمیشه..
اینم ارورش
exit status 1
‘(no matching function for call to ‘Zeus_TgBot::Zeus_TgBot(const char [52], bool, bool
با تشکر

profile
Digi Boy گفت :
۱۳۹۹-۰۷-۰۶ ۰۹:۵۲

درود بر شما، احتمالاً شما دارید از فایل‌های کتابخانه قبلی که برای تلگرام بوده استفاده می‌کنید.

profile
عرفان گفت :
۱۳۹۹-۰۴-۲۴ ۲۰:۲۳

سلام وقتتون بخیر
ممنون از کتابخانه عالی شما ببخشید من برای یک پروژه درسی باید علاوه بر تغییر وضعیت لامپ ها درخواست پول هم در ربات بکنم ولی مشکل دارم من درباره api پرداخت بله تحقیق کردم به انگار باید provider_token برای بله ارسال کنیم در واقع یک sendInvoice .
در تالار گفت و گو توسعه دهندگان بله گفتند باید با ارسال زیر می تواند پرداخت ساخت :

https:‎//tapi.bale.ai/bottoken/sendInvoice \
-H ‪’Content-Type:‎ application/json’‬ \
-d ‘{
“chat_id‏”:userid,
“title‏”:‎”text_title”,
“description‏”:‎”text_desc”,
“provider_token”:‎”6037997220200000″,
“payload‏”:‎”string”,
“prices”:‎[
{
“label‏”:‎”label”,
“amount”:‎ 10
}
]}’

ببخشید من در حد متوسط هستم من نتونستم این کار را انجام بدم اگر میشه راهنمایی کنید ؟؟؟
باز هم ممنون

profile
Digi Boy گفت :
۱۳۹۹-۰۴-۲۸ ۰۸:۵۰

درود بر شما.
فرمت بالا در قالب CURL می‌باشد.
-d اطلاعاتی است که شما می‌بایست به سرور بله ارسال کنید. دیگر ویژگی‌ها قبلاً در کتابخانه ما تنظیم شده‌اند.
برای مثال در همین درخواستی که ارسال کردید، chat_id‌ با مقدار userid (که یک متغیر است و باید با مقدار خود جایگزین کنید) و title با مقدار text_title ارسال شده است.
اگر شما به سورس کتابخانه ما نگاه کنید، در تابع
Zeus_TgBot::sendMessage
پارامترهای chat_id و text را برای سرور بله ارسال کرده‌ایم.
به همین صورت، شما دیگر پارامترهای ضروری مثل description، provider_token، payload و … را ارسال کنید.

profile
ساتیار گفت :
۱۳۹۹-۰۴-۲۳ ۰۰:۲۳

سلام
ممنون از کتابخانه خوبی که نوشتید بسیار کاربردی و کامل دقیق بود . فقط من برای پروژه خود در سورس کتابخانه تغییراتی انجام دادم ولی یک مشکل دارم من می خوام به جای استفاده از کلید هایی که Call DATA بر می گردانند با زدن دکمه ها در ربات Text مورد نظر ارسال شود همانند ربات های اماده بله !
برای این کار باید در اون api که کتابخانه ارسال می کند بعد از reply_markup ، به جای inline_keyboard ، عبارت keyboard ارسال شود ولی هر چقدر کتابخانه را بازبینی کردم نتوانستم این عبارات را جایگزین کنم ! لطفا به من کمک کنید .
با تشکر ساتیار

profile
Digi Boy گفت :
۱۳۹۹-۰۴-۲۴ ۱۰:۳۳

درود بر شما.
در کتابخانه ZeusTgBot
تابعی به نام
Zeus_TgBot::sendMessage
وجود دارد.
payload همان آپشن هایی است که برای ارسال پیام از آن استفاده می کنید.
برای مثال chat_id به این صورت به آن اضافه شده است:
payload[“chat_id”] = chat_id;
و یا کیبرد به این نحو تعریف شده است:
JsonObject &replyMarkup = payload.createNestedObject(“reply_markup”);
DynamicJsonBuffer keyboardBuffer;
replyMarkup[“inline_keyboard”] = keyboardBuffer.parseArray(reply_markup);
اگر این فانکشن را مطالعه کنید، با ساز و کار و نحوه تنظیم آپشن ها آشنا خواهید شد.

profile
محمد رضا گفت :
۱۳۹۹-۰۳-۱۴ ۱۱:۵۳

با سلام ممنون بابت آموزش خوبتان خیلی عالی بود
فقط ممکن است در اینده امکان ارسال عکس را نیز به توابع اصلی کتابخانه اضافه نمایید که مانند کتابخانه تلگرام که امکان ارسال عکس را نیز در بله داشته باشیم
و یک نکته ای دیگر که هست من این ربات بله را که می سازم در یک گروه add می نماییم اما مشکلی که هست وقتی که از گروه به ربات پیام ارسال می نماییم دستور ارسالی توسط ربات دریافت می شود ولی ربات به دستور دریافتی از طریق همان پروفایل خودش پاسخ دستور را می دهد در واقع پاسخ در گروه ریسو نمی شود این روش به اشترک گذاشتن یک ربات برای جمعی از کاربران بسیار مناسب است که هر زمان ادمین خواست می توانست عضوی را حذف یا اضافه بنمایید ممنون می شوم راهنمایی ام نمایید که چطور این مورد را می توان حل کرد.

profile
Digi Boy گفت :
۱۳۹۹-۰۳-۱۷ ۰۹:۲۸

درود بر شما.
برای این کار کافی است تا طبق مستندات وب سایت بله، فایل تصویر را همراه با درخواست به سرور بله ارسال نمایید.
در کتابخانه‌ای که ما نوشتیم، برای ارتباط با اینترنت از کتابخانه HTTPClient کمک گرفته شده است. این کتابخانه مثال‌های بسیار زیادی دارد و توابع ارسال فایل نیز دارد. همچنین پیاده سازی آن در آردوینو راحت می‌باشد.

در ربات تلگرام و ربات بله، دو پارامتر به نام‌های chat_id و sender_id وجود دارد.
sender_id در واقع آی دی شخصی است که پیام را به ربات ارسال کرده است و chat_id محل چت است. این محل می‌تواند درون گفتگوی خصوصی باشد و یا درون یک گروه. بنابراین اگر می‌خواهید ربات به پیام‌ها درون گروه پاسخ دهد، باید برنامه را اصلاح کرده و chat_id را جایگزین کنید.

profile
mohmmadreza گفت :
۱۳۹۹-۰۶-۲۴ ۱۵:۱۱

سلام این مورد حل شد فقط یه مسئله چطوری می شود عکس ارسال ارسال کرد توی بله ؟؟؟؟؟؟؟

profile
Digi Boy گفت :
۱۳۹۹-۰۷-۰۶ ۰۹:۳۹

اگر خود کتابخانه HTTPClient متد های برای آپلود فایل نداشت، فکر میکنم این کتابخانه نیز بتواند به شما کمک کند:
https://github.com/nhatuan84/esp32-upload-download-multipart-http/

profile
mohmmadreza گفت :
۱۳۹۹-۰۶-۲۳ ۲۲:۵۹

سلام ممکن است راهنمایی کنید که کجا را باید تغییر داد که بتوانم ربات را در گروه add نماییم

profile
Digi Boy گفت :
۱۳۹۹-۰۷-۰۶ ۰۹:۳۷

درود بر شما، از متد
Zeus_TgBot::sendMessage
الگو برداری کرده و آن را مطابق API بله تغییر دهید تا بتوانید پارامتر های لازم برای اضافه کردن در گروه را برای سرور بله ارسال نمایید.

profile
درخت گفت :
۱۳۹۹-۰۲-۲۲ ۰۹:۴۸

با سلام. موقع کامپایل چنین خطایی میده. در حالیکه فایل دکر شده تو مسیر کتابخونه ها هم هست.
Arduino: 1.8.12 (Windows 8.1), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200”

In file included from sketch\ArduinoJson.h:10:0,

from sketch\ZeusTgBot.h:14,

from sketch\ZeusTgBot.cpp:7:

ArduinoJson.hpp:10:45: fatal error: ArduinoJson/DynamicJsonBuffer.hpp: No such file or directory

#include “ArduinoJson/DynamicJsonBuffer.hpp”

^

compilation terminated.

exit status 1
ArduinoJson/DynamicJsonBuffer.hpp: No such file or directory

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

profile
درخت گفت :
۱۳۹۹-۰۲-۲۲ ۱۰:۱۰

مشکل از من بود حل شد.

profile
علی گفت :
۱۳۹۹-۰۲-۱۸ ۰۷:۱۰

البته من قبلا باپیامرسان گپ یه کارهایی کرده بودم ولی ادامه ندادم چون به موردی که در بالا گفتم برخوردم و دیگه وقت تحقیقات بیشتر نداشتم…

profile
علی گفت :
۱۳۹۹-۰۲-۱۸ ۰۷:۰۸

بسیار عالی و جذاب. فقط یک سوال برای هر کاربر یا به اصطلاح مشتری نیاز هست ربات جدید ساخته بشه یا با همون ربات ساخته شده همه کاربران میتونن متصل بشن. منظورم اینه که میشه این ربات بستر ارتباط چند نفر با مثلا بورد کنترل دمای خانه خودشون باشه یا باید برای هر کدوم ربات جدید تعریف بشه.

profile
Digi Boy گفت :
۱۳۹۹-۰۲-۲۳ ۱۱:۴۴

درود بر شما.
در سورس نمونه‌ای که ما برای شما قرار دادیم، ربات روی خود برد اجرا می‌شود. بنابراین اگر قرار باشد شما دو یا چند ESp8266 برای خانه‌های مختلف بکار ببرید، مسلماً این روش نیاز گوی شما نخواهد بود. اما همیشه در برنامه نویسی راه‌های بسیار زیادی وجود دارد. برای مثال شما می‌توانید با تهیه سرور، مدیریت ربات را به یک سرور واحد بسپارید و اینترنت اشیا را به ESP8266. که همه این‌ها نیازمند بررسی و تغییراتی در کد هست. همچنین بحث امنیت را نیز باید در نظر بگیرید. برای مثال در پروژه فعلی، چون برنامه برای هدف آموزشی نوشته شده، هرکسی که ربات را اجرا کند، می‌تواند مدیریت را در دست بگیرد، اما به راحتی شما می‌توانید دسترسی افراد مختلف به ربات را نیز (با توجه به user_id) محدود کنید.

profile
محمد رضا گفت :
۱۳۹۹-۰۲-۱۳ ۰۰:۵۶

سلام
پدرم در امد هزارتا ارور داد از کتابخونه هایی که اصلا وجود نداشت خلاصه که من نامید شدم لطفا راهنمایی کنید
سپاس

profile
Digi Boy گفت :
۱۳۹۹-۰۲-۱۳ ۰۹:۰۱

درود بر شما.
دوست عزیز، لطفاً متن خطا رو بفرستید، اگر بتونم کمک می‌کنم.

profile
سبحان گفت :
۱۳۹۹-۰۲-۱۰ ۱۶:۲۴

سلام با esp8266 و فایربیس کار کردید
چطوری میشه از طریق esp8266 یک push notification برای گوشی فرستاد؟
قسمت esp مد نظرم هست

profile
Digi Boy گفت :
۱۳۹۹-۰۲-۱۷ ۱۵:۵۲

سلام.
معمولا سرویس های پوش نوتیفیکیشن دارای API هستند که شما با استفاده از توابع کتابخانه ای کلاینت ESP8266 به راحتی می توانید با این سرویس ها ارتباط برقرار کنید.

profile
درخت گفت :
۱۳۹۹-۰۲-۱۰ ۱۰:۵۱

سلام و سپاس.

profile
Digi Boy گفت :
۱۳۹۹-۰۲-۱۳ ۰۹:۱۰

درود و سپاس متقابل!

profile
حسین گفت :
۱۳۹۹-۰۲-۰۷ ۲۲:۵۹

مثل همیشه عاااااااااااااالی
خیلی منتظرش بودم

واقعا خسته نباشید

profile
Digi Boy گفت :
۱۳۹۹-۰۲-۰۹ ۰۹:۵۴

خیلی ممنون، قابل شما رو نداره! لطفا ما رو به دوستانتون معرفی کنید.

profile
دانیال گفت :
۱۳۹۹-۰۲-۰۷ ۱۸:۴۱

vaqean dametun Garme

profile
Digi Boy گفت :
۱۳۹۹-۰۲-۰۹ ۱۰:۰۴

kheili mamnon!

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله