آردوینو آموزش آردوینو اینترنت اشیا IOT برد Nodemcu خانه هوشمند پروژه های آردوینو

آموزش مدیریت منزل از هر مکان با ربات تلگرام و برد NodeMCU

Telegram---bot--Arduino-relay-nodemcu--iot
نوشته شده توسط اروند طباطبایی

تصور کنید هنگامی که روز کاری تمام شده است و با خستگی روزانه در حال حرکت به سمت منزل هستید. ترافیک عبور و مرور هم در ساعت اوج خود است. به منزل میرسید و با عدم تعادل دمای هوای منزل روبرو می‌شوید. یا اینکه تمایل دارید تا قبل از رسیدن شما به منزل کلیه گلدان‌ها آبیاری شوند. برای این منظور نیاز به MCU قدرتمند با پایه‌های متنوع خواهید داشت. پیرو پست مدیریت وسایل برقی با ربات تلگرام و سیستم چت آنلاین آردوینو ، ۴ وسیله برقی را میتوانستید از هر مکانی کنترل کنید. در این پست شیوه مدیریت ۸ وسیله برقی البته با ربات تلگرام و برد NodeMCU دارای صفحه کلید آموزش خواهم داد. البته با برد قوی‌تر Node MCU بر پایه تراشه ESP8266 و شیلد توسعه که توانایی اتصال بیش از ۳۲ رله را دارد. همانطور که قبلا در پست ارتباط برد رزبری پای با ربات تلگرام توضیح داده‌ام. تلگرام فقط یک شبکه اجتماعی برای کاربران نیست، بلکه توانایی ارتباط M to M و ماشینی را دارد. در وب نسل ۳ از این مدل ارتباط ماشین به ماشین زیاد خواهیم دید. در ادامه آموزش چت با شیئ توسط ربات تلگرام و بردهای آردوینو ، با مرجع تخصصی اینترنت اشیاء دیجی اسپارک همراه باشید.

 


مدیریت وسایل با ربات تلگرام و آردوینو


برای چت با شیئ، کافیست کدهایی که من نوشته ام را روی یک برد آردوینو Arduino آپلود کنید. پس از انجام این آموزش میتوانید با چت کردن در ربات تلگرام و آردوینو وسیله برقی ۸ کانال را کنترل کنید. به عنوان مثال در یک اتاق خواب، چراغ سقفی، تهویه و پریز اتاق را با این برنامه مدیریت کنید. البته من از برد NodeMCU استفاده کرده‌ام. برای ساخت ربات تلگرام در این پست توضیحی نمی‌دهم. در دو پست قبلی آموزش ارتباط ربات تلگرام با بردهای آردوینو در پروژه IOT و ارتباط برد رزبری پای با ربات تلگرام توضیحات کامل برای ساخت ربات تلگرام را داده‌ام. پس کافیست توکن ربات تلگرام را در کدهایی که در این آموزش قرار دارد، قرار دهید. بعد از آپلود و برقراری اتصالات می‌توانید با ربات چت کنید و چراغ اتاق‌ها را خاموش و روشن کنید.

 


وسایل مورد نیاز


برد NodeMCU بر پایه ESP8266

ماژول رله برای اتصال به وسایل برقی

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

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

 

 


اتصالات برد NodeMCU بر پایه ESP8266


برای فرمان دادن ربات تلگرام و آردوینو نیازمند رله هستیم. در این آموزش از رله ۸ کاناله استفاده می‌کنیم. پایه‌های ماژول رله ۸ کانال را با دقت به برد Node MCU متصل کنید. پایه VCC به تغذیه برد Node MCU و پایه GND به اتصال زمین برد Node MCU وصل می‌شوند. ۸ پایه فرمان به رله‌ها به ترتیب به پین‌های D1 تا D8 وصل کنید. در این آموزش از شیلد توسعه برد اینترنت اشیاء Node MCU Base Shield و برد Node MCU استفاده شده است. که میتوانید به صورت شیلد برد Node MCU را روی آن قرار دهید و اتصالات را همانند من از روی آن به رله وصل کنید. به همین سادگی، به تصویر زیر توجه کنید. سپس با سوکت XH اتصال باتری لیتیوم پلیمر را برقرار کنید.

کنترل وسایل برقی با برد Nodemcu برپایه ESP8266 و ربات تلگرام آردوینو - دیجی اسپارک

 نکته جالب توجه در این آموزش این است. که میتوانید با یک دستور به طور همزمان به چند رله فرمان دهید. از آنجایی که شیلد Nodemcu دارای پین‌های توسعه می‌باشد. علاوه بر امکان افزودن رله‌های بیشتر، امکان مدیریت چند رله با یک پین هم دارد.

 

مدیریت وسایل برقی با Nodemcu بر پایه ESP8266 اتصالات به رله - دیجی اسپارک


کدنویسی ربات تلگرام و آردوینو


 

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

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

 

 

پس از وارد کردن کدها و کامپایل روی آردوینو یوزنیم و  پسورد وای فای + توکن ربات تلگرام را در کدها وارد کنید. سپس روی برد آپلود کنید. پس از آن همانند تصویر زیر وارد ربات تلگرام که ساخته‌اید بشوید و Start را بزنید. ربات یک متنی را بر میگرداند و سپس بر روی دستور /hi_digi کلیک کنید. سپس ۸ دستور که در کدهای بالا تعریف شده است به صورت صفحه کلید در ربات برای شما نمایش داده می‌شود.

Keyboard-telegram-bot-iot-project--digispark

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 


برنامه تلگرام برد Nodemcu CP2102


در تاریخ ۹ شهریور ۱۳۹۷۹ توسط یکی از کاربران فعال دیجی اسپارک، جناب آقای سیدزاده، کدهای این آموزش برای برد Nodemcu با تراشه CP2102 بهینه سازی شدند. جهت دانلود برنامه مدیریت وسایل برقی با ربات تلگرام آردوینو و برد Nodemcu CP2102 کلیک کنید.

 

 

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۵۸۲ دیدگاه

  • با سلام و درود
    من واقعاً مشکل ساختن chai_id دارم برای ایجاد محدودیت برای ربات لطفا کمک کنید
    با سپاس

    • با سلام
      ضمن تشکر از توجه شما، کدها اسکرول عرضى دارند. با موس کلیک کنید و سپس کلید جهت چپ روى کیبورد را نگه دارید، کدها را خواهید دید.

      • سلام خدمت شما استاد گرامی
        لطفا یک ایمیل به بنده بزنید
        شاید بتوانیم راه حلی برای مورد اتصال برد با تلگرام در شرایط فیلترینگ بیابیم

  • سلام از سورس دکمه شیشه ای واسه اون یکی کد هم میشه استفاده کرد؟ با برد mini d1 منظورم هستش

    • با سلام
      بله میتوانید استفاده کنید، کدهاى برد wemos D1 Mini و برد Node MCU یکسان هستند، حتى آدرس دهى پین ها هم یکسان است، براى تنوع در این آموزش از برد دیگرى استفاده کردم.

        • با سلام
          هر دو برد بر پایه تراشه ESP8266 طراحی شده اند. البته توسط دو برند مختلف، که هر دو کارایی یکسان دارند. ولی بسته به نوع مصرف و نیازها در پروژه باید انتخاب شوند. برد Wemos دارای ابعاد کوچکتر می‌باشد. هر دو برد دارای شیلدها و بردهای توسعه دهنده متنوع هستند. اینکه در این آموزش از Node MCU استفاده کردم، با توجه به شیلد معرفی شده، امکان خروجی ۳۸ رله را هم دارد. که متناسب با این باید تغذیه مناسبی هم برای برد در نظر گرفت.

          • سلام ممنون از پاسخ گویی تون
            یه سوال دیگه؟ روی node mcu میشه ال سی دی هم تعریف کرد؟
            مثلا ی ال سی دی بذاری وضعیت تک تک پورت ها مشخص باشه

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

    • با سلام
      ضمن تشکر از توجه شما، در این حد که گفتید نه! ولى مشکلات در هر مرحله از راه اندازى را میتونید از همین طریق مطرح کنید. تیم فنى دیجى اسپارک در کنار شما هستند تا تمامى مشکلات رفع شود.

  • سلام و خسته نباشید
    اگه بخوایم به صورت جدا مثلا اردوینو نانو و ماژول esp8266 را به هم متصل و به ربات تلگرام وصل کنیم امکانش هست؟

    • با سلام
      بله میتوانید این کار را انجام دهید. ولی باید در کدها تغییرات ایجاد کنید. پایه‌هایی را که مورد استفاده قرار داده‌اید، باید تعریف شوند.

  • سلام
    تشکر.امکان این هست که بشه ۸ رله جدا بشه و در جاهای مختلف منزل کار گذاشته بشه؟یعنی ۸ رله جدا
    سپاس

    • با سلام
      ضمن تشکر از توجه شما، بله این قابلیت را دارد. شما میتوانید حتى تعداد بیشترى رله استفاده کنید. ترکیبى از ماژول رله تک کانال و دو کانال و … داشته باشید.

      • سلام.تشکر زیاد.عذر میخوام سوالاتم شاید کمی مبتدیانه باشه.من برای چراغهای منزل میخواستم استفاده کنم.هر اتاق ۱ رله باشه
        یعنی ۸ رله از هم جدا میشند؟چون توی تصویر که میبینم ظاهرا رله ها ثابت شدند روی برد
        میشه بفرمایید به چه شکل

          • به نظر من واسه روشنایی از رله های جدا جدا استفاده نشه بهتره اخه ممکنه تو مسافت افت ولتاژ و جریان ایجاد بشه و رله تحریک نشه بهتره سیم کشی ۲۲۰ روشنایی رو تغیر بدن و همه رو به جا ختم کنن
            بازم شما تجربتون بیشتره !
            میشه بگین کدوم بهتره؟

            • بله نظر شما هم درست است. البته چنانچه امکان سیم کشی نباشد هم میتوان از چند برد Node MCU و رله در مکان‌های مختلف استفاده کرد. در کل سیم کشی با طول زیاد برای ارتباط از میکرو به رله کار منطقی نمیباشد.

  • با سلام و ادب
    در موقع اپلود این ارور میده.مربوط به چی هست
    led_wifi_with_telegram:12: error: missing terminating ” character
    ” // توکن ربات تلگرام

    ^

    led_wifi_with_telegram:15: error: missing terminating ” character

    UniversalTelegramBot bot(BOTtoken, client);

    ^

    led_wifi_with_telegram:11: error: expected unqualified-id before numeric constant

    ۴۰۶۷۳۲۷۰۳:AAFPVISCSf3DIMH-vFeWM1fk4eZGiPi-tas

    ^

    led_wifi_with_telegram:15: error: expected primary-expression before ‘,’ token

    UniversalTelegramBot bot(BOTtoken, client);

    ^

    led_wifi_with_telegram:15: error: ‘client’ was not declared in this scope

    UniversalTelegramBot bot(BOTtoken, client);

    ^

    Multiple libraries were found for “UniversalTelegramBot.h”
    Used: C:\Users\ALI\Documents\Arduino\libraries\UniversalTelegramBot-1.0.0
    Not used: C:\Users\ALI\Documents\Arduino\libraries\Universal-Arduino-Telegram-Bot-master
    exit status 1
    missing terminating ” character

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

  • سلام مجدد
    مشگل از ارتباط با تلگرام بود.حل شد
    و الان با تلگرام هم ارتباط برقرار کردم.فقط پین in را به هر کدام از پینهای ۱ تا ۸ میزنم رله عمل میکنه و چراغ سبز روشن میشه.ولی با دستور ان اف هیچ عکس العملی از رله انجام نمیگیره.روی پین ۲ ۱و و ۴ و ۸ تست کردم

    • با سلام
      این مشکل نشان خراب بودن کدهاست، دقت داشته باشید که موقع کامپایل و آپلود روی برد نوع بورد را درست انتخاب کرده باشید و اینکه کدها را موقع کپی و پیست کردن حتما از کلیدهای میانبر در نوار بالایی کدها روی سایت استفاده کنید.

      • با سلام و تشکر از وقت گذاشتن و جواب سریع
        متاسفانه من دوباره تلاش کردم و نشد.فقط برنامه که در حال کمپایله به ۲۸ درصد حدود ۳ یا ۴ ثانیه رله خاموش میشه ولی وقتی به ۱۰۰ درصد رسید دوباره رله روشن میمونه و دیگه به هیچ وجه خاموش نمیشه.چند تا عکس هم خدمتتون ضمیمه میدم.ممنون میشم
        ۵v toVCC
        G to GND
        D1 to IN

        http://up.upinja.com/8uepj.jpg
        http://up.upinja.com/l5gbg.jpg
        http://up.upinja.com/8r0fp.jpg
        http://up.upinja.com/dgw0a.jpg
        http://up.upinja.com/6zusd.jpg

        • خواهش میکنم
          با توجه به عکس شماره ۵ ارتباط شما با شبکه و ربات تلگرام برقرار است. که در عکس شماره ۱ هم مشخص است، صفحه کلید لود شده است. اینکه رله روشن میماند، به این دلیل است که شما از برد Wemos D1 Mini استفاده کرده‌اید و این کدها مربوط به Node MCU است. همچنین چون میخواهید از یک رله استفاده کنید، باید کدهای برنامه را برای ۱ رله تغییر دهید. تمامی قسمت‌هایی که دارای حروف D2 تا D8 هستند را از برنامه حذف کنید.

  • با تشکر فراوان
    من همه کدهای مربوط به D2 تا D4 پاک کردم و لود کردم.ولی هیچ تغییری نکرد.برد هم به node mcu .9 تغییر دادم و دوباره لود کردم بازم تغییری نکرد

    • نه نباید نوع برد را تغییر بدهید، شما چون از برد wemos استفاده میکنید باید از همان برد به هنگام کامپایل کردن استفاده کنید. لطفا جهت رفع مشکل با فروشگاه تماس بگیرید.

  • سلام برای نصب کامند تلکرام در نود-رد برای برد رزبری میشه کمی راهنمایی کنید
    از کجا باید این گروه کامند را در node-red نصب کنم

  • سلام
    من دراتصال آردوینو به مشکل برخوردم و این ارور نمایش میده.
    لطفاً راهنمایی بفرمایید.ممنون
    Arduino: 1.8.3 (Windows 7), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)”

    C:\Users\home\Desktop\sketch_jul13a\sketch_jul13a.ino:3:34: fatal error: UniversalTelegramBot.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

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

    • با سلام
      ضمن تشکر از توجه شما، این ارور مربوط به عدم نصب کتابخانه است. لطفا از لینک کیت آغاز به کار مدیریت وسایل منزل با ربات تلگرام در قسمت دانلودها فایل کتابخانه قرار دارد. با نصب و وارد کردن کتابخانه در IDE آردوینو مشکل شما حل خواهد شد. اگر مشکل دیگری بود از همین طریق اعلام کنید.

      • باسلام و تشکر از راهنمایی تون
        یک ارور دیگه برخورد کردم و ممنون میشم راهنماییم بفرمایید
        تشکر

        In file included from C:\Users\home\Desktop\sketch_jul13b\sketch_jul13b.ino:5:0:

        C:\Program Files\Arduino\libraries\TelegramBotMaster/UniversalTelegramBot.h:27:25: fatal error: ArduinoJson.h: No such file or directory

        #include

        ^

        compilation terminated.

        Using library ESP8266WiFi at version 1.0 in folder: C:\Users\home\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi
        Using library TelegramBotMaster in folder: C:\Program Files\Arduino\libraries\TelegramBotMaster (legacy)
        exit status 1
        Error compiling for board NodeMCU 1.0 (ESP-12E Module).

        • سلام مجدد
          ضمن تشکر از توجه شما، کتابخانه ArduinoJson هم در همان صفحه محصول لینک دانلود این کتابخانه هم موجود است. از همان جا دانلود و مسیر دهی کنید.

          • بازم شرمنده ولی هربار جلوتر میرم ارور تازه میخورم و برام نامفهومه
            ممنون از پاسخگویی تون

            C:\Program Files\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiSTA.cpp: In function ‘void wifi_wps_status_cb(wps_cb_status)’:

            C:\Program Files\Arduino\libraries\ESP8266WiFi\src\ESP8266WiFiSTA.cpp:593:14: error: ‘WPS_CB_ST_UNK’ was not declared in this scope

            case WPS_CB_ST_UNK:

            ^

            exit status 1
            Error compiling for board NodeMCU 1.0 (ESP-12E Module).

            • با سلام
              مشکلى ندارد، تا زمان رفع مشکل ادامه دهید، این ارور مربوط به کدها میباشد، لطفا هنگام کپى کردم کدها از سایت حتما با استفاده از کلید میان بر در بالاى کدها اقدام کنید، تا کدهاى برنامه سالم منتقل شوند.

  • سلام
    آقا آموزشتون بینظیره من همین الان توی آپارت دیدم، واقعا ازتون تشکر میکنم. وای که چقدر ذوق دارم بسازمش

        • سلام مجدد
          پیرو مشکل شما بنده این کدها را از روی سایت کپی کردم و هم با برد NodeMCU CP2102 و هم با برد NodeMCU CH340 آپلود شدند. مشکل از سیستم شما و یا بخشی از کدها است. چنانچه نسبت به آپلود موفق نشدید جهت دریافت سرویس ریموت آنلاین با فروشگاه تماس بگیرید.

  • سلام.ببخشید یه سوال داشتم.چجوری باید کل قسمت گیرنده رو به اینترنت وصل کرد؟یعنی چجوری باید رمز اینترنت و اینا رو زد؟

    • با سلام
      ضمن تشکر از توجه شما، کاربر گرامی لطفا دقت داشته باشید که در کدها ذکر شده است، که کجا اسم مودم و کجا پسوورد مودم را وارد کنید.

  • وقت بخیر
    با راهنمایی شما نصب کردم این خطا ر و داد
    Arduino: 1.8.3 (Windows XP), Board: “NodeMCU 0.9 (ESP-12 Module), 80 MHz, 115200, 4M (3M SPIFFS)”

    Build options changed, rebuilding all
    In file included from C:\Documents and Settings\Zabari_pc\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiGeneric.h:27:0,

    from C:\Documents and Settings\Zabari_pc\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:28,

    from C:\Documents and Settings\Zabari_pc\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,

    from C:\Documents and Settings\Zabari_pc\Desktop\test_t\22\sketch_jul18a\sketch_jul18a.ino:1:

    c:\documents and settings\zabari_pc\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\functional:48:28: fatal error: bits/c++config.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board NodeMCU 0.9 (ESP-12 Module).

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

    • با سلام
      ضمن تشکر از توجه شما، این ارور مربوط به عدم نصب بودن کتابخانه ESP8266WiFiSTA.h می‌باشد. برای نصب از منو Sketch > Include Library > Manage Libraries اقدام کنید. در پنجره باز شده، اسم فایل را وارد و نصب کنید. اگر مشکل همچنان باقی بود، از همین طریق اعلام بفرمایید.

      • دوباره این خطا رو داد
        Arduino: 1.8.3 (Windows XP), Board: “NodeMCU 0.9 (ESP-12 Module), 80 MHz, 115200, 4M (3M SPIFFS)”

        Build options changed, rebuilding all
        In file included from C:\Documents and Settings\N_a_v_i_d\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiGeneric.h:27:0,

        from C:\Documents and Settings\N_a_v_i_d\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:28,

        from C:\Documents and Settings\N_a_v_i_d\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,

        from C:\Documents and Settings\N_a_v_i_d\Desktop\ardo_test\ardo_test.ino:1:

        c:\documents and settings\n_a_v_i_d\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\functional:48:28: fatal error: bits/c++config.h: No such file or directory

        #include

        ^

        compilation terminated.

        exit status 1
        Error compiling for board NodeMCU 0.9 (ESP-12 Module).

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

        • با سلام
          لطفا کدهایی را که در کامپایلر آردوینو قرار داده‌اید. عینا کپی کرده و در همین قسمت ارسال کنید؛ تا بررسی شود.

          • بازم ممنون از لطفتون
            #include
            #include
            #include

            // Initialize Wifi connection to the router
            char ssid[] = “****************”; // یوزر نیم مودم یا روتر وای فای
            char password[] = “**************”; // پسوورد روتر یا مودم وای فای

            // Initialize Telegram BOT
            #define BOTtoken “******************************” // توکن ربات تلگرام

            WiFiClientSecure client;
            UniversalTelegramBot bot(BOTtoken, client);

            int Bot_mtbs = 1000;
            long Bot_lasttime;
            bool Start = false;

            const int relay1 = D1;
            const int relay2 = D2;
            const int relay3 = D3;
            const int relay4 = D4;
            const int relay5 = D5;
            const int relay6 = D6;
            const int relay7 = D7;
            const int relay8 = D8;
            int relaystatus = 0;

            void handleNewMessages(int numNewMessages) {
            Serial.println(“handleNewMessages”);
            Serial.println(String(numNewMessages));

            for (int i=0; i Bot_lasttime + Bot_mtbs) {
            int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

            while(numNewMessages) {
            Serial.println(“got response”);
            handleNewMessages(numNewMessages);
            numNewMessages = bot.getUpdates(bot.last_message_received + 1);
            }

            Bot_lasttime = millis();
            }
            }

            • با سلام مجدد
              کدهایی که شما ارسال کرده‌اید مشکل دارند. همچنین دقت داشته باشید که بجای ستاره‌ها حتما باید موارد مرتبط با تلگرام و وای فای خود شما وارد شوند. لطفا جهت بررسی دقیق‌تر کدها را در یک فایل متنی ذخیره کنید و در سرویس‌های آپلود اشتراکی قرار دهید و لینک مربوطه را ارسال کنید.

  • سلام یه مشکل بر خوردم
    اونم اینه با هر بار قطع وصل برق اصلی یا تغذیه برد
    وای فای متصل نمیشه
    و باید ماژول رله رو قطع کنم تا متصل شه
    من اشتباه وصل کردم ؟ یا مشکل از جای دیگس؟
    ممنون

    • با سلام
      جهت اتصال اتوماتیک به وای فای از کد زیر استفاده کنید.
      if (WiFi.status() != WL_CONNECTED) { // FIX FOR USING 2.3.0 CORE (only .begin if not connected)
      WiFi.begin(ssid, password); // connect to the network
      }
      while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(“.”);
      }

  • امکانش هست که تغذیه رله رو اشتباه وصل کرده باشم
    چون با قطع +۵ رله مدار با هر بار قطع و وصل برق خودکار به وای فای وصل میشه

        • اگر هم از دو برد استفاده کنید، مشکلی ندارد. احتمالا مدار دوم یه مشکل ساده دارد. از لحاظ سخت افزاری بررسی کنید و همچنین با یک برد MCU دیگر هم به صورت دستی به رله فرمان دهید، مشکلات رله ساده است، میتوانید پیدا کنید.

          • سلام مجدد
            بدون وای فای تست گرفتم روشن شد
            و هیچ مشکلی نداره
            ولی با وای فای لحظه کانکت شدن led های روی برد روشن میشن و دیگه خاموش نمیشن
            ممنون از پاسخگویی تون بررسی میکنم

            • سلامت باشید، بررسى بفرمایید و نتیجه را اعلام کنید. بنده هم تا بحال با چنین مشکلى مواجه نشده ام.

              • پس از سعی و تلاش فراوان موفق نشدم:|
                فکر کنم ایراد از سمت رله است
                چون قطعاتش smd هستش دستش نزدم
                راستی مهندس یه سوال؟
                میشه کاری کرد وقتی متن خاصی در تلگرام تایپ شد و ارسال شد روی حافظه eeprom ذخیره بشه؟

                • به نظرم مار درستى کردید، دست بردن توى اینجور مدارها ریسک دارد. باید منتظر بمونیم تا اگر کاربران دیگرى چنین مشکلى داشته اند راجع بهش توضیح بدهند.
                  در مورد حافظه EEPROM همانطور که میدانید هر برد میزان مشخصى ظرفیت دارد و همچنین تعداد دفعات ذخیره و پاکسازى حدود ١٠٠ هزار مرتبه عنوان شده است. اینکه با ربات تلگرام بتوان چنین کارى انجام داد، دور از دسترس نیست ولى منطقى هم نیست. راه حل منطقى و بهتر لاگ گرفتن روى ممورى است. در این زمینه بررسى خواهم کرد، اگر تقاضا باشد، حتما در دستور کار قرار خواهم داد.

                  • سلام ممنونم!
                    راستی برای اینکه گزینه های رو بتونم فارسی کنم نیاز به کتابخونه خاصی داره ؟

                    • خواهش می‌کنم. در این زمینه هنوز آپدیتی را معرفی نکرده‌ام. به زودی معرفی خواهم کرد.

  • سلام مجدد وسپاس از پاسخگویی شما.
    ایراد از ویدوز بود فکر کنم چون برنامه رو رو سیستمهایی که xp داشتن کامپایل کردم ولی قبل از تماس با پشتیبانی روی وین ۷ تست کردم و دیگه اون خطا رو نداد .
    ولی یه خطای دیگه آخر کامپایل میده اونک اینه که متوجه نشدم . زحمتش با شما . ببخشید
    Arduino: 1.8.0 (Windows 7), Board: “NodeMCU 0.9 (ESP-12 Module), 80 MHz, 115200, 4M (3M SPIFFS)”

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::UniversalTelegramBot(String, Client&)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::UniversalTelegramBot(String, Client&)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:25: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::UniversalTelegramBot(String, Client&)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::UniversalTelegramBot(String, Client&)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:25: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendGetToTelegram(String)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendGetToTelegram(String)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:30: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendMultipartFormDataToTelegram(String, String, String, String, String, int, bool (*)(), unsigned char (*)())’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendMultipartFormDataToTelegram(String, String, String, String, String, int, bool (*)(), unsigned char (*)())’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:147: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendPhotoByBinary(String, String, int, bool (*)(), unsigned char (*)())’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendPhotoByBinary(String, String, int, bool (*)(), unsigned char (*)())’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:499: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::checkForOkResponse(String)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::checkForOkResponse(String)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:542: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendSimpleMessage(String, String, String)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendSimpleMessage(String, String, String)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:356: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendChatAction(String, String)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendChatAction(String, String)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:554: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendPostToTelegram(String, ArduinoJson::JsonObject&)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendPostToTelegram(String, ArduinoJson::JsonObject&)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:68: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendPostMessage(ArduinoJson::JsonObject&)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendPostMessage(ArduinoJson::JsonObject&)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:454: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendMessage(String, String, String)’:

    C:\Users\Omid\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.cpp:377: multiple definition of `UniversalTelegramBot::sendMessage(String, String, String)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:377: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendMessageWithReplyKeyboard(String, String, String, String, bool, bool, bool)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::sendMessageWithReplyKeyboard(String, String, String, String, bool, bool, bool)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:392: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendMessageWithInlineKeyboard(String, String, String, String)’:

    C:\Users\Omid\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.cpp:430: multiple definition of `UniversalTelegramBot::sendMessageWithInlineKeyboard(String, String, String, String)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:430: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendPostPhoto(ArduinoJson::JsonObject&)’:

    C:\Users\Omid\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.cpp:475: multiple definition of `UniversalTelegramBot::sendPostPhoto(ArduinoJson::JsonObject&)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:475: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::sendPhoto(String, String, String, bool, int, String)’:

    C:\Users\Omid\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.cpp:512: multiple definition of `UniversalTelegramBot::sendPhoto(String, String, String, bool, int, String)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:512: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::getMe()’:

    C:\Users\Omid\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.cpp:266: multiple definition of `UniversalTelegramBot::getMe()’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:266: first defined here

    libraries\UniversalTelegramBot\UniversalTelegramBot.cpp.o: In function `UniversalTelegramBot::getUpdates(long)’:

    C:\Users\Omid\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/JsonObject.hpp:314: multiple definition of `UniversalTelegramBot::getUpdates(long)’

    sketch\UniversalTelegramBot.cpp.o:sketch/UniversalTelegramBot.cpp:290: first defined here

    collect2.exe: error: ld returned 1 exit status

    exit status 1
    Error compiling for board NodeMCU 0.9 (ESP-12 Module).

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

    • تشکر فراوان از استاد گرامی مشکل بنده حل شد لایب تلگرام رو از خود نرم افزار دانلود کردم ومشکل حل شد.
      مایه افتخار ما هستید و بازم از زحماتتان تشکر میکنم . پیروز باشیدپ

      • خواهش میکنم، به همچنین حمایت شما کاربران باعث افتخار ماست.
        شاد و پیروز باشید.

  • سلام مهندس یک چیزی رو تست میکنید؟
    میخوام بدون ایراد از سمت منه یا برنامه!
    مودم وای فای خاموش که بشه کل رله های قطع میشن!!!!
    من اومدم روی برد باتری بک اپ گذاشتم که اگه برق قطع شد خروجی رو حفظ کنه!
    ولی با خاموش شدن مودم بهم میریزه سیستم

    • سلام مجدد
      برای این موضوع وضعیت High و Low در کدها را معکوس کنید. مشکل حل خواهد شد. اگر هم به آنچه مد نظرتان است نرسیدید، خروجی رله‌ها را از حالت Normally Open ببندید.

      • فقط با خاموش شدن مودم این اتفاق میوفته و خروجی ها از دست میره برق مدار از طریق باتری وصل هستش!
        نمیشه کاری کرد وقتی ارتباطش با نت قطع میشه رله تغیر وضیعیت نده؟

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

  • سلام من همه کارهارو دقیق انجام دادم ولی نمیدونم چرا در انتهای کار بهم ارور میده. بعد از برنامه ریزی هم بردم ۳ با رله های ۳و۸ خاموش روشن میشه و یهو ارور روی قسمت پایین کامپایلر ظاهر میش. و این هم اروری که بهم میده:

    Arduino: 1.8.2 (Windows 10), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)”

    Archiving built core (caching) in: C:\Users\hesam\AppData\Local\Temp\arduino_cache_796215\core\core_esp8266_esp8266_nodemcuv2_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_cd969a87b9c5c4ef98bd910b2ecd9809.a
    Sketch uses 298189 bytes (28%) of program storage space. Maximum is 1044464 bytes.
    Global variables use 40892 bytes (49%) of dynamic memory, leaving 41028 bytes for local variables. Maximum is 81920 bytes.
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    Exception in thread “Thread-75” java.lang.NullPointerException
    at cc.arduino.contributions.libraries.LibrariesIndexer.rescanLibraries(LibrariesIndexer.java:114)
    at cc.arduino.contributions.libraries.LibrariesIndexer.setLibrariesFolders(LibrariesIndexer.java:106)
    at processing.app.BaseNoGui.onBoardOrPortChange(BaseNoGui.java:682)
    at processing.app.Base.onBoardOrPortChange(Base.java:1297)
    at processing.app.Editor$DefaultExportHandler.run(Editor.java:2165)
    at java.lang.Thread.run(Thread.java:745)

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

    • با سلام
      ضمن تشکر از توجه شما، این ارور بیشتر مربوط به عدم ارتباط سال با پورت Com می‌باشد. کابل را تغییر دهید، از پورت USB دیگری استفاده کنید. البته به هنگام کامپایل کردن وضعیت رله‌ها تغییر می‌کند و قطع و وصل می‌شوند. در حالت کلی این ارور مربوط به عدم ایجاد ارتباط سالم با برد بوجود می‌آید.

  • سلام مهندس طباطبایی و ممنونم از پاسخگویی شما
    تمام کارهایی که گفتید رو انجام دادم اما مجدد برنامه ریزی نشد. برد رو از ماژول خارج کردم و دوباره امتحان کردم و اینبار پروگرم شد و کار هم کرد. اما دوباره روی ماژول پروگرام نشد. برق برد رله رو قطع کردم نشد. سیم های ارتباطی به برد رله رو قطع کردم و پروگرام شدبعد از قطع برق ارتباط برقرار نمیشه و باید حتما سیم اتصال به برد رله رو قطع و وصل کنم وگرنه ارتباط برقرار نمیشه در صورتی که بعد از اتصال برد رله همه نئع تستی ازش گرفتم و موردی نداره و کاملا سالم داره کار میکنه. ایراد یکم گیجم کرد.. مثل اینکه برد رله برای ارتباط به مودم و برنامه ریزی ایجاد خطا میکنه. ولی بعد ز یرنامه ریزیی و ارتباط و اتصالدرستکار میکنه
    البته اینم میشه گفت که شاید شیلد ارتباطی مورد داره نه برد رله .

    • سلام مجدد، خواهش میکنم. در این زمینه یک بار هم برای بنده چنین اتفاقی افتاد و با جدا کردن ماژول از اتصالات رله، کدها آپلود شدند. البته من خیلی دقیق نشدم تا علت را ببینم چیه ولی حدس من بر این است، از آنجایی که به هنگام آپلود کدها، رله‌ها تحریک میشوند، تغذیه برد برای آپلود کد و تحریک رله‌ها به صورت همزمان باعث بروز خطا در کامپایلر می‌شود. پیشنهاد میکنم که از جک آداپتور شیلد Node MCU تغذیه را تامین کنید، سپس آپلود را از طریق پورت USB انجام دهید. به احتمال زیاد مشکل مرتفع خواهد شد. اگر نشود، باید به صورت اصولی و دقیق بررسی کنم.

  • مجدد سلام. مهندس بدون ماژول و روی برد برد تست کردم با led به همون شکل بود و برای اتصال مجدد به وای فای باید یخش خروجی ولتاژ برد از بخش رله یا led جدا بشه وگرنه ارتباط مجدد برقرار نمیشه

        • من متوجه نشدم، روی ماژول‌های رله جامپر وجود دارد که با جدا کردن آن برق از رله‌ها جدا شده و فقط به ال ای دی‌های پشت رله‌ها اتصال دارد. آیا این کار را انجام دادید؟ یا فقط پایه تغذیه برد را جدا کردید؟

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

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

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

    • سلام من هم دقیقا همین مشکل رو داشتم پس از تست فراوان فهمیدم ایراد از سمت رله هستش
      اخه من از چند ماژول رله استفاده میکنم ! و فقط یکیش این مشکل رو داره اونو جداش کردم تمام مشکلات حل شد!!!

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

    • با سلام
      ضمن تشکر از توجه شما، استفاده از خدمات دیجى اسپارک رایگان است. براى شروع کافیست بردها و ملزومات هر آموزش را تهیه کنید و در هر مرحله که نیاز به راهنمایى داشتید، از همین طریق اقدام به رفع عیب کنید.

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

    • با سلام
      ضمن تشکر از توجه شما، اگر برد به واى فاى متصل شده و آى پى هم دریافت شده است، شرایط تایید میباشد. توکن ربات تلگرام را دقیقا بررسى کنید، همچنین اینکه پس از اتصال با وارد کردن استارت در ربات و اجراى دستور /hi_digi کیبورد ساخته شده را نمایش خواهد داد. اگر چنین نمیشود، مراحل را فقط در کدهاى آردوینو چک کنید.

      • ممنون از محبتتان . بله مشکل همین بود رفع شد .
        فقط یه سوال دیگه جسارتم رو ببخشید
        الان رباط به یکی از ایدیهام جواب میده ولی به ای دی دیگه ام جواب نمیده.
        اگه راهنمایی بفرمایید ممنون میشم

        • خواهش میکنم، در این روش شما روی هر تلگرامی که ربات ساخته شده را راه اندازی کنید؛ میتوانید به MCU فرمان دهید.

          • بازم ممنون . خوب اگه بخوام از دو یت چند ایدی مختلف دستور بدم چیکار باید بکنم ؟ ممنون میشم یکم ریز تر توضیح بدید .شرمنده

            • یکی از روش ها برای ایجاد امنیت در این سیستم شرط سازی بر اساس چت آی دی است. که قرار است در آموزش‌های بعدی شیوه شرط گزاری را آموزش دهیم. از این رو با کدهای حال حاضر شما می‌توانید با هر چت آی دی از طریق ربات به MCU فرمان دهید.

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

  • سلام
    یه سوال جناب طباطبایی
    اینکه میشه با این سخت افزار همزمان از طریق آدرس لوکال هم دستور داد؟
    اگه میشه لطفا راهنمایی بفرمایید.

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

  • سلام
    تشکر بسیار برای این آموزش…
    بنده خیلی مبتدی هستم.
    چند نکته داشتم که شاید خودش بشه یک آموزش جدا که اگر این کار رو انجام بفرمایید عالی میشه…

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

    یک کلید کولر را در نظر بگیرید. که با ۳ رله انجام پذیر است. ولی فقط از طریق تلگرام قابل کنترل میباشد.
    چطور میشه برای هر رله یک کلید فشاری(دکمه) قرار داد که وضیعت رله را تغییر بده. یعنی هم با تلگرام قابل خاموش روشن شدن باشه هم در محل با کلید فشاری (دکمه)…
    در این صورت میشه یک قاب برای کل پکیج ساخت و جای کلید کولر استفاده کرد.
    روشنایی پذیرایی هم همیشه ۴ یا ۶ کلید داره که با این کار میشه یک قاب شیک هم برای اون ساخت.
    فکر میکنم اینطوری یکم کاربردی تر میشه…

    خیلی خیلی متشکرم…

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

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

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

  • سلام دوستان،در این آموزش اگه یک وسیله که به رله وصل شده رو بخوام مدیریت کنم که هر وقت از کار افتاد(مثلا یک لامپ سوخت) بشه تشخیص داد،به چه روشی میشه تشخیص داد این موضوع رو؟یک راه استفاده از ماژول های اندازه گیریه جریا هست،راهه دیگه ای به نظرتون وجود داره؟

    • با سلام
      ضمن تشکر از توجه شما، بنده اولین پاسخ را میدهم و منتظر پاسخ کاریران دیگر هم خواهیم بود. در حالت کلى با جریان عبورى مدار بایستى این موضوع را بررسى کرد، که یکى از ابزارها استفاده از ماژول جریان سنج است. جالت دیگر که صرفا اتصال رله را تایید میکند، مدار فیدبک میباشد. ولى اینجور موارد باعث هوشمند شدن سیستم میشوند و بسته به نوع حساسیت از روش هاى مختلف توجیه پذیر میتوان استفاده کرد.

  • سلام. چگونه ربات تلگرام بسازیم؟ اینی که آموزش دادید در رابطه با ساخت ربات به صورت پیشرفته نیست. آیا رباتی که شما ساختید را ما می توانیم استفاده کنیم؟ به چه صورت میشه ربات فعال کرد؟ آیا این ربات امنیت داره؟

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

  • سلام. این ارور چیه. همه مراحل صحیح انجام دادم. امکان داره کد صحیح به ما بگید.

    Build options changed, rebuilding allsketch_aug06a:19: error: ‘D1’ was not declared in this scope

    const int relay1 = D1;

    ^

    sketch_aug06a:20: error: ‘D2’ was not declared in this scope

    const int relay2 = D2;

    ^

    sketch_aug06a:21: error: ‘D3’ was not declared in this scope

    const int relay3 = D3;

    ^

    sketch_aug06a:22: error: ‘D4’ was not declared in this scope

    const int relay4 = D4;

    ^

    sketch_aug06a:23: error: ‘D5’ was not declared in this scope

    const int relay5 = D5;

    ^

    sketch_aug06a:24: error: ‘D6’ was not declared in this scope

    const int relay6 = D6;

    ^

    sketch_aug06a:25: error: ‘D7’ was not declared in this scope

    const int relay7 = D7;

    ^

    sketch_aug06a:26: error: ‘D8’ was not declared in this scope

    const int relay8 = D8;

    ^

    C:\Users\Hadi\Desktop\sketch_aug06a\sketch_aug06a.ino: In function ‘void setup()’:

    sketch_aug06a:211: error: ‘D1’ was not declared in this scope

    pinMode(D1, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug06a:215: error: ‘D2’ was not declared in this scope

    pinMode(D2, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug06a:219: error: ‘D3’ was not declared in this scope

    pinMode(D3, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug06a:223: error: ‘D4’ was not declared in this scope

    pinMode(D4, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug06a:227: error: ‘D5’ was not declared in this scope

    pinMode(D5, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug06a:231: error: ‘D6’ was not declared in this scope

    pinMode(D6, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug06a:235: error: ‘D7’ was not declared in this scope

    pinMode(D7, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug06a:239: error: ‘D8’ was not declared in this scope

    pinMode(D8, OUTPUT); // initialize digital ledPin as an output.

    ^

    Multiple libraries were found for “UniversalTelegramBot.h”
    Used: C:\Users\Hadi\Documents\Arduino\libraries\UniversalTelegramBot
    Not used: C:\Users\Hadi\Documents\Arduino\libraries\UniversalTelegramBot-1.0.0
    Not used: C:\Users\Hadi\Documents\Arduino\libraries\Universal-Arduino-Telegram-Bot-master
    exit status 1
    ‘D1’ was not declared in this scope

    • با سلام
      ضمن تشکر از توجه شما، لطفا کدها را به هنگام کپی کردن از کلید میانبر بالای کدها استفاده کنید. نکته بعدی اینکه کتابخانه UniversalTelegramBot.h چند بار نصب شده است. برای رفع این مشکل از منو Sketch>include library کتابخانه را مجددا نصب کنید.

  • با سلام
    من تمام مراحل را به‌درستی رفته ام ولی برد node mcu به مودم وصل نمیشه لطفا کمک کنید با تشکر از شما

    • با سلام
      ضمن تشکر از توجه شما، اگر اسم مودم یا روتر شما دارای حروف بزرگ است، حتما حروف را دقیقا یکسان بنویسید.

  • با سلام
    باطری لیتیومی مخصوص برد رو چطوری شارژ کنم آیا با usb کامپیوتر میشه برد رو به تلگرام وصل کرد ممنون از شما

    • با سلام
      ضمن تشکر از توجه شما، باتری لیتیوم پلیمر دارای مدار کنترل شارژ داخلی است و برای شارژ یک سلول باتری میتوانید از همان پین‌های آردوینو یا NodeMCU استفاده کنید. با اتصال USB به برد، شارژ می‌شوند.

  • سلام ممنون از شما
    مشکلی که من دارم با رله هست
    خروجی ای اس پی نود ام سی یو ۳٫۳v هست
    و نمیتونه رله رو روشن خاموش کنه فکر کنم… ال ای دی روی رله ها عمل میکنن ولی خودش نه
    چکار میتونم بکنم ممنون

    • با سلام
      ضمن تشکر از توجه شما، البته بردهای NodeMCU متفاوت هستند، ورژن ۰٫۹ که من در این آموزش استفاده کرده‌ام، به صورت پیش فرض دارای پایه ۵ ولت می‌باشد. چنانچه برد شما فقط پایه ۳٫۳ ولت می‌باشد؛ میتوانید از ترانزیستور و ترکیب چند قطعه ساده این کار را انجام دهید. یکی از کاربران در قسمت نظرات پست آموزش راه اندازی برد اینترنت اشیاء NodeMCU تراشه ESP32 در آردوینو راه حل جامعی ارایه داده است. لطفا مطالعه کنید.

  • هر کاری میکنم این ارور میده. درایور به طور خودکار نصب شد. پورت انتخاب کردم. کتابخانه یه بار حذف کردم و دوباره نصب کردم اما دوباره مشکل ساز شد. اروری که میده اینه:

    sketch_aug08a:19: error: ‘D1’ was not declared in this scope

    const int relay1 = D1;

    ^

    sketch_aug08a:20: error: ‘D2’ was not declared in this scope

    const int relay2 = D2;

    ^

    sketch_aug08a:21: error: ‘D3’ was not declared in this scope

    const int relay3 = D3;

    ^

    sketch_aug08a:22: error: ‘D4’ was not declared in this scope

    const int relay4 = D4;

    ^

    sketch_aug08a:23: error: ‘D5’ was not declared in this scope

    const int relay5 = D5;

    ^

    sketch_aug08a:24: error: ‘D6’ was not declared in this scope

    const int relay6 = D6;

    ^

    sketch_aug08a:25: error: ‘D7’ was not declared in this scope

    const int relay7 = D7;

    ^

    sketch_aug08a:26: error: ‘D8’ was not declared in this scope

    const int relay8 = D8;

    ^

    C:\Users\Hadi\AppData\Local\Temp\arduino_modified_sketch_871546\sketch_aug08a.ino: In function ‘void setup()’:

    sketch_aug08a:211: error: ‘D1’ was not declared in this scope

    pinMode(D1, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug08a:215: error: ‘D2’ was not declared in this scope

    pinMode(D2, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug08a:219: error: ‘D3’ was not declared in this scope

    pinMode(D3, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug08a:223: error: ‘D4’ was not declared in this scope

    pinMode(D4, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug08a:227: error: ‘D5’ was not declared in this scope

    pinMode(D5, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug08a:231: error: ‘D6’ was not declared in this scope

    pinMode(D6, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug08a:235: error: ‘D7’ was not declared in this scope

    pinMode(D7, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_aug08a:239: error: ‘D8’ was not declared in this scope

    pinMode(D8, OUTPUT); // initialize digital ledPin as an output.

    ^

    exit status 1
    ‘D1’ was not declared in this scope

    در ضمن بی زحمت یه بار دیگه نحوه اتصالات لطف کنید بگید. چون چراغ برد رله یه لحظه ۲تاش روشن میشه، یع لحظه یکی، یه لحظه ۳ تا

    • سلام مجدد
      این ارور مربوط به کدها میباشد، دقت کنید که سطرهای ۱۷ تا ۲۴ را درست وارد کرده باشید. وقتی از حالت استاندارد ++C خارج شوند این ارورها را دریافت میکنید. نمونه کد سالم:
      const int relay1 = D1;
      const int relay2 = D2;
      .
      .
      .

  • خیلی عالی …
    فقط یه سوال این ماژول اگر مودم خاموش روشن بشه ^ اتومات برای وصل شدن ریست میشه ؟
    یا باید دستی خاموش روشنش کرد ؟

    • با سلام
      ضمن تشکر از توجه شما، برای این منظور کدهای زیر را در برنامه قرار دهید.

      if (WiFi.status() != WL_CONNECTED) { // FIX FOR USING 2.3.0 CORE (only .begin if not connected)
      WiFi.begin(ssid, password); // connect to the network
      }
      while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(“.”);
      }

  • سلام
    من شیلد توسعه ندارم اون موقع چجوری باید رله به node mcu وصل کنم به خصوص برقشو؟ باتشکر

    • با سلام
      ضمن تشکر از توجه شما، برای این منظور میتوانید مستقیما اتصالات را به پایه‌های برد Node MCU متصل کنید. تغذیه هم بستگی دارد، اگر از ورژن ۰٫۹ استفاده می‌کنید، دارای تغذیه ۵ ولت می‌باشد که به رله متصل کنید. اگر از ورژن دیگری استفاده می‌کنید، تغذیه ۳٫۳ ولت دارد، که در این صورت، جهت دریافت راه حل اعلام کنید.

      • سلا
        با تشکر از جوابتان. تغذیه رله من پنج ولت است .. تمامی اتصالات رله به برد را به درستی وصل کردم، فقط نمیدونم چجوری برق رله را باید تامین کنم(ممنون میشم سطح جواب خود را در حد کسی که رشته اش الکترونیک و برق نیست جواب بدهید)

        • خواهش میکنم، لطفا بفرمایید که از ماژول رله استفاده می‌کنید یا از رله به تنهایی؟ پیشنهاد بنده این است که حتما از ماژول رله استفاده شود. تغذیه روی ماژول مشخص است یک پایه VCC است که به پین ۵ ولت و پایه دیگر GND به زمین مدار یا همان GND روی برد اتصال می‌دهید.

          • سلام
            از ماژول رله استفاده میکنم.پایهGND را به برد وصل کردم ،فقط موندم پایه vcc را باید به کدوم پایه node mcu وصل کنم. با تشکر

            • اگر از NodeMCU ورژن ۰٫۹ استفاده می‌کنید، دارای پایه ۵V است. به آن وصل کنید. ولی اگر از NodeMCU ورژن ۱٫۰ استفاده می‌کنید، پایه ۵ ولت ندارد. باید با ترانزیستور اتصالات را از پایه ۳٫۳ ولت بگیرید.

  • سلام
    تشکر از جوابتان
    از چه نوع ترانزیستور باید استفاده کنم
    برای ارسال عکس api چجوری باید بنویسم؟

  • با سلام و عرض ادب و احترام
    آموزش های شما بسیار مفید , عملی و آموزنده می باشند.
    آقای مهندس در صورت امکان لینک های مرتبط و پیش نیاز آموزش ها را به صورت زنجیره ای قرار دهید.
    یعنی در هر صفحه آموزشی جدید فقط یک لینک وجود داشته باشد و آن لینک نیز آدرسی دیگر.
    تا از سردرگمی و پیچیدگی آموزش ها جلوگیری به عمل آید.
    یا می توانید با کد گذاری در ابتدای هر لینک مرتبط , آن ها را نوبت دهی و اولویت بندی کنید .
    به عنوان مثال ۱٫مدیریت وسایل برقی با ربات تلگرام و سیستم چت آنلاین آردوینو.
    ۲٫ارتباط برد رزبری پی آی با تلگرام و غیره….
    با تشکر.

    • با سلام
      ضمن تشکر از توجه و پیشنهاد شما، در درجه اول دیجی اسپارک متعلق به کاربران دائمی است، از اینرو کمی زمان میبرد تا کاربران شیوه کار با سایت را کاملا یادبگیرند. در مورد پیشنهاد شما، دیگر کاربران هم نظراتی داده‌اند، در حال بررسی هستیم و به زودی تغییراتی مرتبط ایجاد خواهیم کرد.

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

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

  • درود و خسته نباشید
    می خواستم بپرسم امکانش هست رله های دستگاه رو علاوه بر کنترل از طریق رباط تلگرام به صورت تحریک دستی هم فعال و غیر فعال کرد؟ یعنی پایه هایی تعریف کرد که با اتصال اونها به vcc یا gnd ، رله فعال بشه ؟؟؟
    سوال دوم اینکه اگر میشه به چه طریق ؟
    تشکر.

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

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

    • سلامت باشید جناب آقای بیداد، از توجه شما ممنونم. امیدوارم بتوانیم بیشتر از گذشته تاثیر گذار باشیم.

  • با سلام
    من با کدهای شما و کدهای دیگر توکن تلگرام را EEprom ذخیره کردم ولی تو تعریف #define BOTtoken برای فراخوانی با توکن ذخیره شده در مموری مشکل دارم خواهشمندم راهنمایی بفرمایید.
    void readEeprom(){
    for(int i = offset; i<50; i++ ){
    botToken[i] = EEPROM.read(i);
    Serial.print("Wrote: ");

    }
    Serial.println(botToken);
    EEPROM.commit();
    }

    • با سلام
      ضمن تشکر از توجه شما، دقیقا مشکل شما کجاست؟ اگر اروری دریافت می‌کنید، آنرا ارسال کنید، در حال حاضر فرصت اینکه این کدها را با کدهای آموزش ترکیب و تست کنم، وجود ندارد. لطفا ارورها را ارسال کنید تا پس از بررسی، راه حل مناسب ارایه شود.

  • ببخشید در حین اپلود این کد این ارور به من میدهد.
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).
    به چه دلیل است؟

    • با سلام
      به چند دلیل این مشکل بوجود می‌آید. ارتباط کابل با بورد دچار اختلال است. پورت‌های سریال آردوینو اشغال هستند و… ابتدا برد را بدون هیچ اتصالات اضافی فقط از طریق کابل USB اتصال دهید و کدها را آپلود کنید، اگر مشکل رفع نشد، مجددا پیام بگذارید.

  • سلام میدونم جاش نیست ولی همینجا میپرسم چون شما زود و جامع جواب میدی
    من https://daneshjookit.com/%D9%86%D9%88%D8%B9-%D8%B3%D9%86%D8%B3%D9%88%D8%B1/2494-%D8%B3%D9%86%D8%B3%D9%88%D8%B1-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%AD%D8%B1%DA%A9%D8%AA-pir-sr505.html?search_query=pir&results=4 سنسور تشخیص حرکتو خریدم ولی مشکل داره خودش هی صفر و یک میشه یه بار درست شد باز دوباره صفر و یک میشه مشکل هم از کد ها نیس از سنسوره میگن حالت تثبیت شدنه ولی خیلی زمان اینجوری میمونه مشکلش چیه؟ تنظیمات خاصی داره؟!

    • با سلام
      ضمن تشکر از توجه شما، ای کاش این سوال را در محل مناسب مطرح میکردید. در همان صفحه کالا هم میتوانستید مطرح کنید. نکته قابل توجه درباره این سنسورها حساسیت بسیار بالای آن‌ها است. اینکه میفرمایید صفر و یک میشود، به این دلیل است که سنسور PIR کوچکترین حرکات را هم تشخیص می‌دهد. درضمن کار کردن با این سنسور بسیار ساده است.

  • با عرض سلام ،
    من بدون شیلد توسعه ، جریان لازم رو هم به usb برد nodemcu و هم به پایه های vin , ground برد و نیز پایه مثبت رله ها رسوندم و منفی رو هم از گروند دیگه برد به برد رله متصل کردم و چند حالت دیگه هم تست کردم اما جواب نداند. مگر شیلد توسعه جز تامین ولتاژ ۵ ولت (که من هم آنرا تامین نمودم )چه امکانی داره که با بردnodemcu تنها نمیشه؟
    آیا راهی هست که بدون شیلد توسعه ، آموزش فوق رو عملی نمود؟
    با تشکر از مطالب مفید و سایت خوبتون

    • با سلام
      ضمن تشکر از توجه شما، لطفا دقت داشته باشید که برد Nodemcu استفاده شده در این آموزش از ورژن ۰٫۹ میباشد که به صورت پیشفرض دارای پایه ۵ ولت می‌باشد. دیگر مدل‌های موجود در بازار ایران فاقد پایه ۵ ولت هستند. از این رو برای تغذیه ماژول رله ۵ ولت باید کمی تغییرات ایجاد کنید. نکته دیگر اینکه، با فرض درست بودن اتصالات شما، از داخل سریال مانیتور آردوینو تست کنید که برد شما به شبکه متصل میشود یا خیر، همچنین روش دیگر برای تست مدار شما، استفاده از کد دیگری برای تحریک رله است.

    • درود بر شما
      ضمن تشکر از توجه شما، لطفا متن آموزش را با دقت مطالعه کنید، در پاراگراف دوم، کاملا نوشته شده است. ” برای ساخت ربات تلگرام در این پست توضیحی نمی‌دهم. در دو پست قبلی آموزش ارتباط ربات تلگرام با بردهای آردوینو در پروژه IOT و ارتباط برد رزبری پای با ربات تلگرام توضیحات کامل برای ساخت ربات تلگرام را داده‌ام.”

  • سلام
    موقع آپلود کردن کد با ارور زیر مواجه میشن درحالی که قبلا با این مشکل مواجه نبودم . متشکر می شوم راه حلی بدهید.
    Arduino: 1.8.3 (Linux), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)”

    Archiving built core (caching) in: /tmp/arduino_cache_853037/core/core_esp8266_esp8266_nodemcuv2_CpuFrequency_80,UploadSpeed_115200,FlashSize_4M3M_1ae4198b732f331202b153fd64577f95.a
    Sketch uses 297877 bytes (28%) of program storage space. Maximum is 1044464 bytes.
    Global variables use 40588 bytes (49%) of dynamic memory, leaving 41332 bytes for local variables. Maximum is 81920 bytes.
    An error occurred while uploading the sketch
    error: cannot access /dev/ttyUSB0

    error: espcomm_open failed
    error: espcomm_upload_mem failed

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

    • با سلام
      ضمن تشکر از توجه شما، پایه‌های Rx و Tx را جدا کنید. همچنین تغییر کابل USB و پورت USB هم در صورت نیاز پیشنهاد میشود.

    • با سلام
      ضمن تشکر از توجه شما، همین آموزش برای این کار مناسب است. که البته با بردهای مختلف قابل اجرا است.

  • سلام مهندس اروند من کد اپلود کردم خب توکن ربات رو هم زدم میرم داخل ربات start رو میزنم اتفاقی نمیوفته .

  • سلام من یه esp8266 -12 رو دارم که یه برنامه رو ریختم توش حالا ندارم و میخوام از روی esp8266 بردارمش . امکانش هست ؟؟ چطور؟

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

  • سلام مهندس اروند میشه به nodemcu یه ماژول dht11 اضافه کرد و تو منوی تلگرام یه کلید به نام temp اضافه کرد که وقتی بزنیم دما و رطوبت رو بهمون بده .

    • با سلام
      ضمن تشکر از توجه شما، به نظرم مشکلی ندارد. باید از کتابخانه مربوطه استفاده کنید و مقادیری مربوطه را با دستور مثلا temp یا هر چیز دیگری، فراخوانی کنید.

      • مهندس اروند میشه یه ایمیل و یا ایدی بدید‌. من یه کار خییلی مهم دارم
        که میتونم هر چقدر هزینش هم بشه بدم

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

          • مهندس اینم میشه مثلا ماژول ov7670 رو بزنیم به nodemcu خب بعد یه برنامه بنویسیم که تصویر انلاین بده مثل همین پروژه از راه دور

    • داداش این کارو که میگم بکن تا اضافه کنی ابتدا اینارو بزن با عنوان کتاب خونه

      #include “DHT.h”
      #define DHTPIN D0
      #define DHTTYPE DHT11
      DHT dht(DHTPIN, DHTTYPE);

      سپس

      اینو ریپلیس کن
      String keyboardJson = “[[\”1\”, \”1-off\”],[\”2\”, \”2-off\”],[\”3\”, \”3-off\”],[\”4\”, \”4-off\”],[\”5\”, \”5-off\”],[\”6\”, \”6-off\”],[\”7\”, \”7-off\”],[\”8\”, \”8-off\”],[\”sens\”]]”;

      بعد قبل از ووید ست آپ اینو اضافه کن
      if (text == “sens”) {
      float humidity = dht.readHumidity();
      float temperature = dht.readTemperature();
      String dht11msg = “”;
      if (isnan(humidity) || isnan(temperature)) {
      dht11msg = dht11msg + “isnan\n”;
      }
      dht11msg = dht11msg + “dht11 temperature ” + temperature + ” degC and humidity ” + humidity + ” % ” + “\n”;
      bot.sendMessage(chat_id, dht11msg, “”);
      }

      تمام شد با زدن دکمه سنس تو صفحه کلید مقدارشو نشون میده

        • مهندس میخواستم بدونم میشه ov7670 رو بزنی به nodemcu بعد یه اپ براش نوشت که تصویر انلاین بده اما مثل همین پروژه از راه دووور

          • خیر، پین‌های برد NodeMCU و ظرفیت داخلی آن اجازه این کار را نمی‌دهد، مگر اینکه ورژن جدیدتری از این برد ارایه شود.

        • اگر از همین طریق به صورت یک فایل متنی ارسال کنید که دیگر کاربران هم استفاده کنند، ممنون میشوم.

  • با سلام و درود
    چجوری میتونم وقتی لامپ روشن یا خاموش شد ربات به یک اکانت دیگر هم پیام خاموش یا روشن لامپ را بدهد تا او هم متوجه شود؟

  • با عرض سلام و درود دوباره و ضمن تشکر از توجه و زحمات بی دریغ شما
    خط های ۳۴ تا ۳۸ مربوط به خصوصی سازی و ایجاد امنیت بر اساس چت آیدی تلگرام است. در حالت عادی وقتی چراغی را روشن می نماییم پیغام ان در ربات نمایش داده می شود اما من میخواهم این پیام هم مثلا به اکانت پدر خود علاوه بر ربات هم ارسال شود تا از وضعیت خانه خبر دار باشد؟

    • با سلام
      ضمن تشکر از توجه شما، البته کدهای مربوط به چت آیدی در آموزش کنترل در ورودی با اینترنت اشیاء IOT و چت آیدی ربات تلگرام Arduino ارایه شده است. دقت کنید که در این حالت شما چت آیدی هر دو اکانت را وارد میکنید، سپس از هردو اکانت به رباتی که ساخته‌اید پیام ارسال می‌کنید. حال اگر برد به ربات تلگرام پیام ارسال کند، هر دو چت آیدی تعریف شده، قابلیت دیدن کدها را دارند. در مورد چت آیدی لطفا در پست مربوطه سوالات تکمیلی را مطرح کنید.

  • با سلام و ضمن تشکر از سایت خوب شما
    من کتاب خانه ها را نصب کردم ولی باز هم با ارور Arduino: 1.6.7 (Windows 7), Board: “Arduino Yún”

    D:\project\sketch_oct17a\sketch_oct17a.ino:1:25: fatal error: ESP8266WiFi.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling.

    This report would have more information with
    “Show verbose output during compilation”
    enabled in File > Preferences.
    مواجه شدم لطفا میشه بگید مشکل از کجاست ممنون میشم.

    • با سلام و تشکر از توجه شما
      نوع برد را در نرم افزار درست انتخاب کرده‌اید؟ همچنین ارور کتابخانه ESP8266WiFi.h همچنان پا برجاست.

      • با سلام
        برد رو چک کردم و کتاب خانه ها را هم نصب کردم ولی ظاهرا کتاب خانه ESP8266WiFi.h پاک شده و کتاب خانه های دیگر هم مشکل پیدا کرده. لطفا کمک کنید ممنون از شما.

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

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

  • سلام
    بنده تمام مراحل آموزش رو انجام دادم و بدون خطا برنامه آپلود شد و به اینترنت هم کانکت میشه
    ولی با دستور
    /start پیغامی از نود به تلگرام فرستاده نمیشه
    ممنون میشم اگه راهنمایی کنید

      • سلام مجدد
        توکن رو تایپ کرده بودم و این علامت | تو کیبورد لپ تاپ با تلگرام تفاوت داشت! و با کپی پیست مشکل برطرف شد
        واقعا ممنون از آموزش فوق العادتون⚘⚘

        ببخشید من یه تراشهmcu-32s هم دارم که کنار پایه ها بجای D0 و D1 و … نوشته شده GPIO1 و …
        که این برنامه روی اون چیپ پروگرام نمیشه و خطا میده
        تو این برنامه چه تغییری باید انجام بدم تا بتونم رو چیپ mcu-32s هم آپلود کنم؟

        • سلامت باشید.
          در مورد برد nodemcu شما نمیدانم دقیقا چه ورژنی است. ولی اینکه برنامه روی برد آپلود نمیشود مربوط به چیز دیگری است. ممکن است درایور آن متفاوت باشد. قبل از اقدام به آپلود چک کنید که توسط نرم افزار آردوینو شناخته شده است یا خیر.در مورد nodemcu بر پایه esp32 لطفا آموزش راه اندازی برد اینترنت اشیاء NodeMCU تراشه ESP32 در آردوینو را مطالعه بفرمایید.

          • سلام
            ببخشید ما در این دو دستور چه چیزی رو در سریال مانیتو نمایش میدیم
            من این دو خط رو حذف کردم و تغییری مشاهده نکردم
            Serial.println(“handleNewMessages”);
            Serial.println(String(numNewMessages
            من میخواستم یه کامنت به برنامه اضافه کنم که با اتصال mcu به وای فای یه پیغام به صورت خودکار به تلگرام بفرسته ولی نتونستم.
            بعد از اتصال وای فای پیام رو ارسال کردم ولی خطا میده
            قبل از ارسال متن چه دستوری باید اضافه کنم؟

            while (WiFi.status() != WL_CONNECTED) {
            Serial.print(“.”);
            delay(500);
            }
            bot.sendMessage(chat_id, “ارتباط شما وصل شد .”);

            }

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

  • سلام
    خسته نباشید
    من بعد از کامپایل با این ارور مواجه شدم
    Arduino: 1.8.5 Hourly Build 2017/08/28 06:33 (Windows 7), Board: “Arduino Uno WiFi”

    Build options changed, rebuilding all
    C:\Users\KaitoShop.KaitoShop-PC\Documents\Arduino\sketch_oct30a\sketch_oct30a.ino:1:25: fatal error: ESP8266WiFi.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino Uno WiFi.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    لطفا راهنمایی بفرمایید
    ممنونم

      • سلام
        ممنونم
        الان این پیغامو میده
        Arduino: 1.8.1 (Windows 7), Board: “Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None”

        sketch_oct30a:19: error: ‘D1’ was not declared in this scope

        const int relay1 = D1;

        ^

        sketch_oct30a:20: error: ‘D2’ was not declared in this scope

        const int relay2 = D2;

        ^

        sketch_oct30a:21: error: ‘D3’ was not declared in this scope

        const int relay3 = D3;

        ^

        sketch_oct30a:22: error: ‘D4’ was not declared in this scope

        const int relay4 = D4;

        ^

        sketch_oct30a:23: error: ‘D5’ was not declared in this scope

        const int relay5 = D5;

        ^

        sketch_oct30a:24: error: ‘D6’ was not declared in this scope

        const int relay6 = D6;

        ^

        sketch_oct30a:25: error: ‘D7’ was not declared in this scope

        const int relay7 = D7;

        ^

        sketch_oct30a:26: error: ‘D8’ was not declared in this scope

        const int relay8 = D8;

        ^

        C:\Users\KaitoShop.KaitoShop-PC\Documents\Arduino\sketch_oct30a\sketch_oct30a.ino: In function ‘void setup()’:

        sketch_oct30a:211: error: ‘D1’ was not declared in this scope

        pinMode(D1, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_oct30a:215: error: ‘D2’ was not declared in this scope

        pinMode(D2, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_oct30a:219: error: ‘D3’ was not declared in this scope

        pinMode(D3, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_oct30a:223: error: ‘D4’ was not declared in this scope

        pinMode(D4, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_oct30a:227: error: ‘D5’ was not declared in this scope

        pinMode(D5, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_oct30a:231: error: ‘D6’ was not declared in this scope

        pinMode(D6, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_oct30a:235: error: ‘D7’ was not declared in this scope

        pinMode(D7, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_oct30a:239: error: ‘D8’ was not declared in this scope

        pinMode(D8, OUTPUT); // initialize digital ledPin as an output.

        ^

        exit status 1
        ‘D1’ was not declared in this scope

        This report would have more information with
        “Show verbose output during compilation”
        option enabled in File -> Preferences.
        اگر لطف بفرمایید کمک کنید ممنون میشم

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

          • سلام
            من از برد
            ESP8266MOD
            استفاده میکنم
            اگر مورد انتخابی اشتباه است بنده را راهنمایی فرمایید
            سپاس فراوان

            • سلام مجدد
              بنده در مورد این برد اطلاعات دقیقی پیدا نکردم. دقت داشته باشید که این کدها در این آموزش برای برد Nodemcu است و چنانچه روی هر برد دیگری میخواهید آپلود کنید، باید تغییرات در آدرس دهی پایه‌ها را انجام دهید. همچنین اگر برد شما صرفا یک تراشه ESP است نمیتوانید کلیه پایه‌ها را آدرس دهی کنید.

  • با سلام و خسته نباشید و تشکر از زحمات شما
    من ابتدا که برد را روشن میکنم درست کار میکند ولی حدود ۲۴ ساعت بعد جواب نمیدهد و رله ها هم خاموش و روشن نمیشود در ضمن کیت وسایل در سایت موجودی ندارد.

    • با سلام
      ضمن تشکر از توجه شما، احتمالا نیاز به ریست وای فای دارید. این کار را بکنید و اگر با این روش مشکل حل شد، اعلام کنید تا راهکار مربوطه را ارایه دهم. در مورد موجودی فروشگاه لطفا از همانجا اقدام کنید.

  • سلام مجدد
    با ریست کردن مودم درست نمیشه ولی برد رو که جابه جا می کنم درست میشه اینم می خاستم بدونم که کلید های روی برد برای چیه تشکر از شما

  • سلام
    منظورم اینه که جای برد را کمی عوض می کنم ولی خیلی به مودم نزدیک نمی کنم.

    • سلام مجدد
      خیلی عجیبه، بنده تابجال چنین مشکلی نداشته‌ام، به نظر نمی‌آید که این مشکل روال باشد. از دیگر کاربران که در این خصوص تجربه دارند تقاضا دارم تا در این مورد نظراتشان را به اشتراک بگذارند.

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

      if (WiFi.status() != WL_CONNECTED) { // FIX FOR USING 2.3.0 CORE (only .begin if not connected)
      WiFi.begin(ssid, password); // connect to the network
      }
      while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(“.”);
      }

  • سلام خسته نباشید واقعا عالی بود فقط اگه ممکنه همین پروژه رو با برنامه اندروید مخصوص خود node mcu راه اندازی کنید من خیلی مشکل دارم با این کار ممنون

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

  • سلام
    سپاس از وقتی قرار می دهید و آموزش خوبتون
    یه سوالی داشتم
    آیا امکان تعریف چند مودم هم وجود دارد؟
    مثلا در برنامه سه مودم معرفی بشه که به هرکدوم که سیگنال داشت کانکت بشه

    • با سلام
      ضمن تشکر از توجه شما، بنده این کار را به صورت عملی نکرده‌ام ولی فکر نمیکنم محدودیتی ایجاد کند. باید بررسی کنم. از دیگر کاربران هم که تجربه عملی دارند، تقاضا دارم تا در این بحث شرکت کنند.

  • سلام
    خطای error: espcomm_upload_mem failed
    چه زمانی داده میشه ؟
    برای رفع این خطا باید چه کنیم ؟

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

  • باتشکر از پاسخهای مفید شما. من همه مراحل رو انجام دادم و موفق به ارسال فرمان و دریافت جواب از ربات شدم.
    فقط یه نکته هست که وقتی من از متن فارسی در جواب فرمانهایی که به ربات می فرستم استفاده میکنم. ربات به اون دستور جواب نمیده. البته دستور اجرا میشه فقط پاسخی با زبان فارسی ارسال نمیشه.
    اگر در ساخت کیبورد هم متن فارسی استفاده بشه بازهم این مشکل هست.

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

      • تشکر از پیگریهای شما. من حتی اون مواردی رو که شما در فیلم اموزشی هم نشان دادین نتونستم بگیرم. این کلمات فارسی برای شما ارسال میشدن؟؟

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

  • با سلام
    جناب مهندس اروند طباطبایی از زحمات شما در نشر دانش و بالا بردن سطح اطلاعات هموطنان که خود تلاشی بزرگ در جهت خودکفایی و استقلال است صمیمانه تشکر میکنم. امیدوارم مسئولان هم قدر شما را بدانند. سایتتان بسیار حرفه ای و عالی است. موفق باشید.

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

  • سلام من کتابخونه ها رو نصب کردم اما موقع کامپایل کردن کد ها این اررور رو دریافت میکنم:
    fatal error: ESP8266WiFi.h: No such file or directory
    ompilation terminated.
    ممکنه چند تا کتابخونه با این اسم نصب کرده باشم؟ میشه راهنمایی کنید چیکار کنم؟ برد من nodeMCU 32 هست تست کردم مشکلی نداره و درایورش نصبه.

  • اونطور که من فهمیدم کتابخونه ی esp8266wifi فقط رو برد های generic esp8266 و wemos کار میکنه. چون من مطمئن هستم که نصبش کردم اما بردی که من دارم nodeMCU 32 هست و ارور نصب نبودن کتابخونه رو دریافت میکنم. اما برای امتحان از منو tools وقتی برد های generic esp8266 یا انواع wemos رو انتخاب میکنم میبینم در ابتدای کد ها که esp8266wifi رو اضافه کردم قرمز میشن و علامت چک رو که میزنم دیگه ارور این کتابخونه رو دریافت نمیکنم. در ضمن کتابخونه universalTelegramBot رو هم به دو روش نصب و امتحان کردم اما این یکی دیگه با هیچ بردی قرمز نشد. یعنی همون ارور no such file or directory
    به نظرتون این مشکل راه حلی داره؟

    • با سلام
      در خصوص بخش اول بنده به صورت عملی بررسی نکرده‌ام، ممکن است اینطور باشد. بخش دوم سوال شما، کتابخانه را نصب کرده‌اید و همچنان ارور دریافت میکنید؟ در این صورت کتابخانه‌ها با اسم مشابه نصب شده است، یعنی فایل مورد نظر این کدها نمیباشد.

  • با سلام استاد
    من برای اپلود روی برد Node Mcu
    به این ارورر(( An error occurred while uploading the sketch )) بر خردم
    Uploading 226352 bytes from C:\Users\YEKTA\AppData\Local\Temp\arduino_build_564193/Mcu960827.ino.bin to flash at 0x00000000
    An error occurred while uploading the sketch
    warning: espcomm_send_command: didn’t receive command response
    warning: espcomm_send_command(FLASH_DOWNLOAD_BEGIN) failed
    error: espcomm_upload_mem failed

      • باسلام وتشکر از شما
        طبق گفته شما تمام پین هارو جدا کردم همون خط رو میده
        Uploading 226352 bytes from C:\Users\YEKTA\AppData\Local\Temp\arduino_build_315664/Mcu960827.ino.bin to flash at 0x00000000
        warning: espcomm_send_command: didn’t receive command response
        warning: espcomm_send_command(FLASH_DOWNLOAD_BEGIN) failed
        error: espcomm_upload_mem failed
        error: espcomm_upload_mem failed

          • با سلام استاد
            تشکر از شما دقیقا این کار هارو انجام دادم نتیجه نگرفتم
            ناچار سفارش جدید از دانشجو کیت زدم منتظرم تا کالاجدید برسد
            تا با بردهای جدید تست کنم مشکل روبا کمک شماپیدا کنم

  • سلام خسته نباشید.
    من هرکاری کردم با برد nodeMCU 32 نتونستم به تلگرام وصل بشم. در آخر برد زیر رو خریدم:
    https://daneshjookit.com/%D9%88%D8%A7%DB%8C-%D9%81%D8%A7%DB%8C-wifi/2742-%D8%A8%D8%B1%D8%AF-nodemcu-%D9%BE%D8%A7%DB%8C%D9%87-esp8266-%D8%AA%D8%B1%D8%A7%D8%B4%D9%87-cp2102-wifi.html
    الان یک هفته هست که دارم همین برنامه ای که تو این صفحه گذاشتید رو روش پروگرم میکنم. سریال مانیتور رو که باز میکنم میبینم تو قسمت connecting گیر کرده. اکسس پوینت رو عوض کردم و سعی کردم به اکسس پوینت گوشیم متصل بشم. فقط دو بار متصل شد و ربات تلگرامم هم راه افتاد اما بعد از دو بار دیگه متصل نمیشه. فکر میکنید دلیلش چی باشه؟ کابل USB هم عوض کردم به درگاه های دیگه PC هم زدم. انگار نمیخواد راه بیفته.

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

      • با سلام مجدد. تمام مواردی که گفتید رو امتحان کردم. اما جواب نگرفتم. تنها چیزی که از اول مشکوک بودم اما نمیخواستم قبول کنم ایراد از اونجاست، این بود که بُرد من nodeMCU با تراشه cp2102 و بادریت ۹۶۰۰ بود. قبل از خرید برد یه لحظه به این موضوع شک کردم که ممکنه این برنامه روش جواب نده اما بدون توجه خریدم. بعد از یک هفته تلاش برای به نتیجه رسیدن خسته شدم و دیگه مطمئن شدم که مشکل از همین بادریت هست. مدرکش هم این که وقتی برنامه رو با بادریت ۱۱۵۲۰۰ آپلود میکنم و سریال مانیتور رو که باز میکنم کاراکتر ها به هم ریخته نمایش داده میشن. وقتی هم که از تو برنامه بادریت رو به ۹۶۰۰ تغییر میدم، آپلود برنامه به %۷۰ که میرسه ارور میده. اینم بگم یه برد nodeMCU 32 هم دارم که اون خیلی سریع به WIFI وصل میشه اما چون کتابخونه ESP8266wifi رو پشتیبانی نمیکنه نمیشه این برنامه رو روش آپلود کرد. از اینجا فهمیدم WIFI خونه مشکلی نداره، دوباره یه برد nodeMCU اینبار با تراشه CH340G از دانشجو کیت خریدم. به محض این که برنامه رو آپلود کردم به wifi وصل شد و به ربات تلگرام هم همینطور. پس دوستان دقت کنید اگه میخواهید این پروژه رو انجام بدید یا از برد های wemos استفاده کنید یا node با تراشه CH340G
        متشکرم.

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

  • سلام . من وقتی برنامه رو کام بایل میکنم به این خطا بر میخورم
    Build options changed, rebuilding all
    In file included from C:\Users\Alireza.M\Documents\Arduino\libraries\UniversalTelegramBot-1.0.0\examples\ESP8266\ChatAction\ChatAction.ino:10:0:

    C:\Users\Alireza.M\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.h:27:25: fatal error: ArduinoJson.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).
    چه کنم ؟

  • این خطا روچطور رفع کنم ؟ فایل های کتاب خونه telegram , arduinojso رو هم از هر طریقی که بگین جایگزین کردم ولی همچنان خطای زیر رو میده
    Build options changed, rebuilding all
    libraries\arduino_597862\UniversalTelegramBot.cpp.o:(.text._ZN11ArduinoJson9JsonArray7invalidEv[_ZN11ArduinoJson9JsonArray7invalidEv]+0x8): undefined reference to `__cxa_guard_acquire’

    libraries\arduino_597862\UniversalTelegramBot.cpp.o:(.text._ZN11ArduinoJson9JsonArray7invalidEv[_ZN11ArduinoJson9JsonArray7invalidEv]+0xc): undefined reference to `__cxa_guard_release’

    libraries\arduino_597862\UniversalTelegramBot.cpp.o: In function `ArduinoJson::JsonArray::invalid()’:

    C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_acquire’

    C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_release’

    libraries\arduino_597862\UniversalTelegramBot.cpp.o: In function `ArduinoJson::JsonObject::invalid()’:

    C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_acquire’

    C:\Users\Alireza.M\Documents\Arduino\libraries\arduino_597862\src/UniversalTelegramBot.cpp:283: undefined reference to `__cxa_guard_release’

    collect2.exe: error: ld returned 1 exit status

    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

    • با سلام
      خب این ارور مربوط به عدم نصب کتابخانه نیست. ولی یک مشکلی هست که بنده هم تابحال با چنین مشکلی برخورد نکرده‌ام. لطفا سورس کتابخانه‌های مربوط به این کدها را از مسیر C:\Users\Alireza.M\Documents\Arduino\libraries\ پاک کنید و مجددا نصب کنید. سپس موارد را اطلاع دهید.

  • سلام جناب ممهندس طباطبایی
    ضمن تشکر از زحمات جنابعالی، من این پروژه رو استفاده کردم و خیلی خوب جواب داد و بسیار عالی نیز بود من در زمینه IOT برای ارتباط اینترنتی با NodeMcu از سایتهای متعددی که پروتکلهای مختلفی دارند استفاده کرده ام مثلا IFTTT.com یا ADAFRUIT و بعضی پروتکلها مانند MQTT ، مشکل عمده در این ارتباطات داشتن یک سرور است که در ایزان باشد و واسط ارتباط مثلا پروتکل MQTT شود و با توجه به تحریمها این سرورها که عمدتا در خارج هستند برای کاربران ایرانی محدودیت دارند شما در پروژه خودتان به احتمال قوی از سرور خودتان برای رابط تلگرام با NODEMCU استفاده نموده اید اگر امکان دارد توپولوژی این ارتباط و همچنین nethodهای WiFiClientSecure.h و UniversalTelegramBot.h را که در این برنامه استفاده نموده اید و همچنین کدهایی را که در سرور خودتا ن RUN کرده اید و پروتکل مورد استفاده تان را توضیح بفرمایید تا امکان طراحی و استفاده از مبانی آن برای ایجاد پروژه های دیگر در دسترس باشد.
    از لطف شما بسیار سپاسگزارم.
    اسدی

    • با سلام
      ضمن تشکر از توجه و دقت شما همچنین توضیحات دقیقی که ارایه کردید. در این خصوص، امکان ارایه اطلاعات فنی سروری که خودمان روی آن کار می‌کنیم؛ وجود ندارد. چنانچه لازم باشد در آینده از این سرور به کاربران علاقمندی همچون شما، سرویس ارایه خواهیم داد.

    • با سلام
      ضمن تشکر از توجه شما، بله میشه، چرا نشه؟! در حالت کلی پاسخ سوال شما، مثبت است. ولی در عمل نیاز به انتخاب پروتکل ارتباطی و… می‌باشد. که بر اساس نوع پروژه باید انتخاب شود.

  • با سلام مجدد من متوجه شدم که اگر /hi_digiرا نزنم به سایت شما وصل نمی شم و مستقیم مثلا با وارد کردن عدد ۴ یا ۴۴ می توانم به nodemcuفرمان بدهم بدون اینکه تبلیغات شما را در تلگرام داشته باشم پس سایت شما در این بین دخیل نیست و من مستقیم به تلگرام وصل می شوم و این خیلی خوب است که بدون واسطه ارتباطتلگرام و nodemcu برقرار بشه حالا اگه ممکنه بفرمایید از توی تلگرام اگه بخواهم یه app بنویسم که درون آن app به تلگرام وصل شم و یه رله رو تو nodemcu فرمون بدم چجوری میشه به تلگرام در app فرمون داد
    خیلی از لطفتون ممنونم

    • با سلام
      ضمن تشکر از توجه شما، در خصوص hi_digi درست می‌فرمایید. این ربات به جای دیگری متصل نمی‌شود. شما میتوانید از هر طریق دیگری با ربات تلگرام ارتباط برقرار کنید. مثلا وب سرویس مورد نظر را روی سرور دیگری داشته باشید و از طریق یک رابط کاربری مانند اپلیکیشن موبایل این موارد را نمایش و برای مدیریت آن‌ها رابط کاربری منحصر به فردی را طراحی کنید.

  • با سلام
    من برای اینکه باتری رو حذف کنم (به علت شارژ کردن متعدد) اومدم پاور رله رو به VUSB/GND متصل کردم و بخوبی کار میکند اگر پایه D8 روی Shield متصل نباشد. در صورتی که اون متصل باشد بوت نمیشود و چراغ شماره ۸ و ۳ ماژول رله روشن میماند.
    چکاری انجام دهم تا پایه D8 نیز کار کند ؟ تشکر.

    • با سلام
      ضمن تشکر از توجه شما، منظورتان از اینکه پایه ۸ متصل باشد، بوت نمیشود، چیست؟ یعنی اگر برق را قطع کنید، مجددا مدار لود نمی‌شود؟ پایه D8 در این کدها درست است و کار می‌کند.

  • با سلام خدمت شما و همکارانتان
    می خاستم بگم من برد رو به مدت ۴ روز که روشن گذاشتم ۱گیگ از حجم اینترنت رو مصرف کرده می خاستم بدونم میشه مصرفش رو کمتر بکنم؟

    • با سلام
      ضمن تشکر از توجه شما، بفرمایید که چه دیتایی توسط این برد منتقل می‌شده است که چنین حجمی از ترافیک را مصرف کرده است. اگر از کدهای همین آموزش استفاده کرده‌اید، این موارد هرگز چنین حجمی مصرف نمی‌کنند.

  • سلام مهندس
    وقت بخیر
    با وصل شدن برق node mcu در لحظه اول دو بار خروجی های تراشه که به رله وصل کردیم روشن و خاموش میشود
    چطور میتونم این مشکل رو حل کنیم؟

    • با سلام
      ضمن تشکر از توجه شما، در این خصوص چون خیلی برای بنده مشکل ساز نشده بود، راه حلی هم ندارم. از دیگر کاربران که در این خصوص راه حل مناسبی دارند، تقاضا دارم تا در این بحث شرکت کنند.

    • با سلام
      ضمن تشکر از توجه شما، کدهای ارایه شده در این آموزش فقط بر روی Node MCU کارایی خواهند داشت، چنانچه نیاز به استفاده در آردوینو دارید، تغییراتی نیاز است.

  • با عرض سلام و خسته نباشید با توجه به فی.ل.تری.نگ تلگرام اپ اندروید یا ویندوزی هست که بشه جایگزین اون کرد؟
    ممنون میشم معرفی کنید و تغییری که در این کد باید بدیم رو آموزش بدید

  • سلام من تمام پیکر بندی ها رو انجام دادم ولی خطای کامپایل دارم
    Arduino: 1.8.5 (Windows 7), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, 115200, 4M (3M SPIFFS)”

    C:\Users\osame\Documents\Arduino\sketch_jan15a\sketch_jan15a.ino:3:34: fatal error: UniversalTelegramBot.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    مشکل من چیه ممنون

  • سلام و تشکر بابت اموزهای عالیتون
    خواستم بپرسم چطور میتونم با برد اردینو uno و از طریق ربات تلگرام دمای یک محیط رو دریافت کنم وقتی درخواست استعلام دما رو میدم
    میخوام ارتباط اردینو با اینترنت بیسیم باشه و برد هم uno باشه
    ممنون میشم راهنمایی کنید.

    • با سلام
      ضمن تشکر از توجه شما، برای این منظور پیشنهاد میکنم که از بردهای ویموس Wemos یا بردی بر پایه وای فای استفاده کنید که موارد ساده‌تر باشد. برای دریافت دما از طریق تلگرام ابتدا باید همانند همین آموزش یک کلید منحصر به فرد تعریف کنید که در اثر ارسال اون پیام، پارامتر سنسور دما ارسال شود. برای دریافت پارامتر سنسور دما هم به سادگی باید پایه مربوطه را در کدها تعریف کنید و کتابخانه dht را هم استفاده کنید. سپس اون پارامتر در لوپ ارسال پیام متنی قرار خواهد گرفت.

  • سلام مهندس طباطبایی.
    با توجه به بررسی های مکرر اینجانب چند تا مشکل برای این بنده حقیر پیش آمده است.
    ماژول wifi متصل می شود به مودم و ای پی ادرس در داخل مودم مشاهده می شود ولی در ربات تلگرام زمانی که /start میزنم هیچ اتفاقی نمی افتتد.
    لطفا اگر امکان داره مراحلی که شما فکر میکنید مشکل داره نام و توضیح دهید ممنون می شم.

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

      • ممنون از پاسخ شما .
        در رباتی که بنده ساختم /start میزنم.
        مورد دوم توکن که من ۳ بار آن را بررسی کردم .
        احتمال در ساخت ربات تنظیم خاصی باید انجام دهم با توجه به لینک آموزش ساخت ربات تلکرام که شما ارائه داده بودین در کامت های بالا

          • سلام مجدد، بله، ابتدا باید ربات را بسازید، چون به توکن آن برای قرار دادن در کدهای آردوینو نیاز دارید. در حقیقت با اون توکن است که می‌توانید ارتباط سخت افزار و ربات تلگرام را برقرار کنید.

        • سلام مجدد
          در خصوص مورد اول درست است. برای توکن هم اگر اطمینان دارید، باید به قسمت سخت افزاری و برد آردوینو مراجعه کنیم، در سریال مانیتور آردوینو چه پیامی مشاهده میکنید؟

  • سلام
    با خاموش شدن مودم ، پس از مدت زمان حدود ۱ دقیقه ماژول ریست می شود و برنامه را از خط اول اجرا می کند
    به چه شکل میشه این مشکل رو حل کرد.؟

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

      • سلام و تشکر
        چه چیزی رو بصورت دقیق توضیح بدم.؟
        در ضمن راهی نیست که بدون ریست مجددا به تلگرام متصل بشه.؟

        • سلام مجدد
          منظورم این بود که اگر برنامه را توسعه داده‌اید و موارد دیگری اضافه کرده‌اید، اعلام بفرمایید. برای اتصال مجدد و ادامه از همان مرحله قبلی باید موارد در قسمتی از سخت افزار لاگ شوند و از لاگ خوانده شود. این سوال شما با کدهای این آموزش همخوانی ندارد، مگر اینکه موارد زیادی را به ربات اضافه کرده باشید.

  • سلام ممنون بابت اموزش های خوبتون.
    سوال من اینه که آیا میشه به جای ربات از کانال تلگرام استفاده بشه. یعنی ماژول esp8266 در یک کانال پیام بفرسته

    • با سلام
      ضمن تشکر از توجه شما، برای این منظور میتوانید پیام‌های ربات را به کانال فوروارد کنید یا اینکه ربات را به عنوان ادمین‌های کانال اضافه کنید. که البته کمی نیاز به تنظیمات در تلگرام دارید.

      • سلام
        من داخل اینترنت گشتم و مطالب در این مورد با سی شارپ بود ولی ایا میشه داخل همین کدهای آردوینو بتونم پیام رو از طریق ربات به کانال تلگرام بفرستم. کار برنامه من اینطوره که با زدن یک دکمه فشاری یک عدد رو به ربات بفرسته و بعد ربات اونو به کانال تلگرام ارسال کنه. ممنون میشم راهنمایی بفرمایید

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

          • ممنون بابت پاسخ دهی
            اگه امکانش هست در مورد این قسمت یک توضیح بدید ممنون میشم
            if (millis() > Bot_lasttime + Bot_mtbs) {
            int numNewMessages = bot.getUpdates(bot.last_message_received + 1);

            while(numNewMessages) {
            Serial.println(“got response”);
            handleNewMessages(numNewMessages);
            numNewMessages = bot.getUpdates(bot.last_message_received + 1);
            }

            Bot_lasttime = millis();
            }

            • با سلام مجدد، خواهش می‌کنم، پاسخ گویی به شما کاربران باعث افتخار بنده است.
              برای تحلیل یک نکته را در نظر داشته باشید، که این زبان از نوع زبان سطح بالا است و بسیار به زبان قابل فهم انسان نزدیک است. از اینرو با کمی دقت در کدها میتوانید موارد را متوجه شوید. البته ترتیب دستورات بستگی به کتابخانه مورد استفاده و اصول آن دارد. bot.getUpdates(bot.last_message_received + 1 ربات آپدیت میشود با بررسی پیام قبلی که ربات دریافت کرده است. Serial.println(“got response”); در سریال مانیتور بازخورد را نمایش میدهد. به این صورت، اگر دیگر کاربران در خصوص تحلیل کدها، روشی دیگر یا خلاقیتی دارند، میتوانند در ادامه همین کامنت مطرح کنند تا همگان استفاده کنند.

            • یعنی اگه شرط( if (millis() > Bot_lasttime + Bot_mtb
              نباشه چه اشکالی داره؟ این شرط چرا گذاشته شده؟ ممنون میشم پاسخ بدید

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

  • سلام چرا برای من متن انگلیسی رو به تلگرام میفرسته اما متن فارسی رو نمی فرسته. مثلا led is on رو تو تلگرام ارسال میکنه ولی وقتی به فارسی مینویسم ” ال ای دی روشن” ارسال نمی شه؟

      • سلام ممنون بابت پاسخ دهی سریع تون
        حالا که پشتیبانی نمی کند از فونت ها باید چکاری انجام بدم
        ممنون

        • سلام مجدد، خواهش میکنم. بنده هنوز راه حل منطقی برای این کار پیدا نکرده‌ام، از دیگر کاربرانی که در این زمینه تجربه دارند، تقاضا دارم تا در این بحث شرکت کنند.

  • با سلام
    ممنون از مطالب جذابتون……
    ببخشید من یک سوال داشتم اونم اینه که چه طور میشه در برنامه نویسی آردوینو حرفه ایی شد؟
    پیشنهادتون در این باره چیه؟

    • با سلام، ضمن تشکر از توجه شما، در این خصوص باید زبان برنامه نویسی ++C را بیاموزید. ربطی هم به آردوینو ندارد. ولی روشی که در حال حاضر ما در دیجی اسپارک پیش گرفته‌ایم، روش عملی است و تلاش شده که در آموزش‌ها از دستورات و توابع مختلف برنامه نویسی استفاده شود. تا کاربران در هر آموزش موارد جدیدی را بیاموزند.

  • چطور می توان با استفاده از این شیلد ، از یک GPIO ۴ خروجی مستقل گرفت برای چهار رله گرفت و بتوان این چهار رله را مستقلا مدیریت کرد.نحوه آدرسی دهی میشه بفرمایید؟

    • با سلام و تشکر از توجه شما، خروجی گرفتن که کار خاصی نیاز ندارد، پین‌ها را متصل کنید. برای آدرس دهی هم سطرهای ۱۹ تا ۲۷ را بررسی کنید. سپس سطرهای ۲۱۱ تا ۲۴۱ را بررسی کنید. اگر بازهم نیاز به راهنمایی داشتید، از همین طریق اقدام کنید.

    • باسلام.منظور بنده دقیقا ۴ خروجی و ورودی کاملا مستقل است . از یک GPIO که روی برد esp8266 قرار دارد و بطور معمول می توان یک خروجی یا ورودی گرفت .آیا با کمک این برد از همین GPIO می توان ۴ خروجی و ورودی کاملا مستقل و همزمان برای ۴ عملیات مستقل گرفت؟ مثلا در کد شما D4 برای یک رله استفاده شده است اما با کمک این برد گسترش ، می توان دو خروجی برای دو رله مجزا و دو ورودی سنسور D22 استفاده کرد؟
      کدی که شما در بالا بیان کردید تفاوتی با یک کد معمولی ندارد.یا لا اقل من متوجه نشده ام.

  • سلام
    برای رفع مشکل هنگ تراشه در بعضی مواقع میشه برنامه ای نوشت که خودشو ریست کنه موقع هنگ
    مثل واچ داگ ( سگ نگهبان ) تو میکروکنترلرها

    • با سلام
      از توجه شما تشکر می‌کنم. لطفا توضیحات بیشتری ارایه دهید تا کاربران دقیق‌تر متوجه شوند. همچنین اگر تجربه عملی دارید از همین طریق اعلام کنید.

  • سلام خسته نباشید

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

    حالا میخوام تعدادی برد Node MCU بر پایه ESP8266 خریداری کنم که همراهش شیلد توسعه برد یا Node MCU Base Shield V.1 هم باشه ولی نمیدونم از لحاظ ابعاد فیزیکی (فاصله پین هدر ها) کدوم یکی از Node MCU های زیر به Shield میخوره…

    لطفا راهنمایی بفرمایید:

    ۱٫ برد Node MCU بر پایه ESP8266 با تراشه CH340G
    یا
    ۲٫ برد Node MCU بر پایه ESP8266 با تراشه CP2102

    ممنون از سایت خوب و توضیحات کامل تون

    • با سلام و تشکر از توجه شما
      در این خصوص باید اطلاعات هر کالا را بررسی کنید. ولی شیلد به کار رفته در این آموزش فقط با برد Node MCU CH340 از لحاظ ابعاد سازگاری دارد.

  • باسلام من وقتی کد را آپلود میکنم این پیغام را میدهد.
    Arduino: 1.8.1 (Windows 10), Board: “NodeMCU 0.9 (ESP-12 Module), 160 MHz, 4M (3M SPIFFS), v2 Prebuilt (MSS=536), Serial, None, 115200”

    In file included from C:\Users\Amir Hossein\Desktop\sketch_feb13a\sketch_feb13a.ino:3:0:

    C:\Users\Amir Hossein\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.h:27:25: fatal error: ArduinoJson.h: No such file or directory

    #include

    ^

    compilation terminated.

    Multiple libraries were found for “ESP8266WiFi.h”
    Used: C:\Users\Amir Hossein\Documents\Arduino\libraries\ESP8266WiFi
    Not used: C:\Users\Amir Hossein\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.0\libraries\ESP8266WiFi
    Not used: C:\Program Files (x86)\Arduino\libraries\ESP8266WiFi
    exit status 1
    Error compiling for board NodeMCU 0.9 (ESP-12 Module).

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

  • warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed
    این ارور یعنی چی؟

    • سلام مجدد
      اتصالات پایه‌های برد را جدا کنید و سپس کدها را آپلود کنید. همچنین اگر قسمتی از کدها به رنگ قرمز ظاهر شده است، آن را هم ضمیمه کنید تا بررسی کنم.

  • بازم ببخشید
    اون کاری رو که گفتید انجام دادم اون ارور درست شد ولی بعدش این ارور رو توی آپلود میده؟
    لطفا سریع جواب بدید.
    Uploading 339216 bytes from C:\Users\AMIRHO~1\AppData\Local\Temp\arduino_build_319205/Blink.ino.bin to flash at 0x00000000
    error: failed sending 1072 bytes
    .error: failed sending 1044 bytes
    .error: failed sending 1040 bytes
    .error: failed sending 1040 bytes
    .error: failed sending 1068 bytes
    .error: failed sending 1082 bytes
    warning: espcomm_send_command: didn’t receive command response
    warning: espcomm_send_command(FLASH_DOWNLOAD_DATA) failed
    warning: espcomm_send_command: wrong direction/command: 0x01 0x03, expected 0x01 0x04
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

  • با سلام مجدد گفتید ورژن اردینو رو بگید
    Node MCU با ماژول وای فای ESP8266 و تراشه CH 340 G و ورژن ۰٫۹
    لطفا سریع جواب بدید منتظرم

  • و ورژن اردینو ۱٫۸٫۱ بود و به ۱٫۶٫۵ تغییر دادم ولی نمیدونم چیجوری Node mcu را بشناسد

  • سلام وقت بخیر
    من برای این برد از باطری لیتیوم پلیمر ۳٫۷ ولت استفاده می کنم . آیا می توانم برای شارژ این باطری از اداپتور ۵ ولت و ماژول شارژر باتری Mini USB Tp4056 استفاده کنم؟

      • سلام
        با تشکر از شما و دوستان
        لطفا راهنمایی کنید این ارور واسه چی هست
        ممنون
        Arduino: 1.8.1 (Windows 8), Board: “ESP32 Dev Module, QIO, 80MHz, 4MB (32Mb), 115200, None”

        WARNING: Category ‘Arduino Library’ in library JDateLib is not valid. Setting to ‘Uncategorized’
        sketch_mar02b:21: error: ‘D1’ was not declared in this scope

        const int relay1 = D1;

        ^

        sketch_mar02b:22: error: ‘D2’ was not declared in this scope

        const int relay2 = D2;

        ^

        sketch_mar02b:23: error: ‘D3’ was not declared in this scope

        const int relay3 = D3;

        ^

        sketch_mar02b:24: error: ‘D4’ was not declared in this scope

        const int relay4 = D4;

        ^

        sketch_mar02b:25: error: ‘D5’ was not declared in this scope

        const int relay5 = D5;

        ^

        sketch_mar02b:26: error: ‘D6’ was not declared in this scope

        const int relay6 = D6;

        ^

        sketch_mar02b:27: error: ‘D7’ was not declared in this scope

        const int relay7 = D7;

        ^

        sketch_mar02b:28: error: ‘D8’ was not declared in this scope

        const int relay8 = D8;

        ^

        C:\Users\hossein\Documents\Arduino\telegram bot\sketch_mar02b\sketch_mar02b.ino: In function ‘void setup()’:

        sketch_mar02b:213: error: ‘D1’ was not declared in this scope

        pinMode(D1, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_mar02b:217: error: ‘D2’ was not declared in this scope

        pinMode(D2, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_mar02b:221: error: ‘D3’ was not declared in this scope

        pinMode(D3, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_mar02b:225: error: ‘D4’ was not declared in this scope

        pinMode(D4, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_mar02b:229: error: ‘D5’ was not declared in this scope

        pinMode(D5, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_mar02b:233: error: ‘D6’ was not declared in this scope

        pinMode(D6, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_mar02b:237: error: ‘D7’ was not declared in this scope

        pinMode(D7, OUTPUT); // initialize digital ledPin as an output.

        ^

        sketch_mar02b:241: error: ‘D8’ was not declared in this scope

        pinMode(D8, OUTPUT); // initialize digital ledPin as an output.

        ^

        Multiple libraries were found for “WiFi.h”
        Used: C:\Users\hossein\Documents\Arduino\hardware\espressif\esp32\libraries\WiFi
        Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
        exit status 1
        ‘D1’ was not declared in this scope

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

  • با سلام و تشکر از زحمات سازنده شما .
    لطفا بفرمایین که ایا این رله از نوع ssr هست یا نه ؟
    ممنون

  • با سلام و خداقوت خدمت دیجی اسبارکی ها
    کد بالا دارای اشتباهاتی است که بس از ریست و یا اتصال برق تمام خروجی ها ۲ بار فعال میشوند!
    همچنین
    بس از فعال بودن خروجی بس از مدتی تمام خروجی ها قطع میشوند!
    ممنون میشم علت و رفع عیب آن را بیان کنید.
    تشکر از شما

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

  • آقای طباطبایی بسیار ممنون و سپاسگزار از سایت و آموزش های فوق العاده تون.
    کامپایل برنامه من این خطا رو میده
    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module)
    ممنون میشم راهنمایی کنید.
    در ضمن کتابخانه مربوطه رو اضافه و برد Nod mcu انتخاب کردم.

  • یه سوال دیگه اینکه :
    اگر بخواهیم از تعدادی سنسور هم بطور مثال در اتاق های مختلف استفاده کنیم که همگی به یک برد متصل باشن با توجه طول کابل بالای هر یک از سنسورها تا برد ، چطور میشه محدودیت فاصله رو حل کرد که داده های ارسالی سنسور بدرستی به برد برسه
    با تشکر فراوان

  • با سلام
    برد من NodeMcu دارای هسته وایفای ESP8266 و مبدل CP2102
    تو محیط کامپایلر هم (NodeMCU 1.0 (ESP -12E Module برد رو انتخاب کردم. هرچند برد های دیگه رو هم تست کردم ( ver 9.0)
    مشکل من هنگام کامپایل هستش ، ( هنوز برد رو به کامپیوتر وصل نکردم) در واقع خطای کامپایلر رو فعلا میخوام حل بشه تا برنامه Error نده.
    خطا :
    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

  • In file included from C:\Users\admin\Desktop\tmp\Tipard_TS_Converter.lnk\Tipard_TS_Converter.lnk.ino:3:0:

    C:\Users\admin\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.h:26:25: fatal error: ArduinoJson.h: No such file or directory

    #include

    ^

    compilation terminated.

    Multiple libraries were found for “UniversalTelegramBot.h”
    Used: C:\Users\admin\Documents\Arduino\libraries\UniversalTelegramBot
    Not used: C:\Users\admin\Documents\Arduino\libraries\UniversalTelegramBot-1.1.0
    Not used: C:\Users\admin\Documents\Arduino\libraries\Universal-Arduino-Telegram-Bot-master
    Using library ESP8266WiFi at version 1.0 in folder: C:\Users\admin\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.4.1\libraries\ESP8266WiFi
    Using library UniversalTelegramBot at version 1.1.0 in folder: C:\Users\admin\Documents\Arduino\libraries\UniversalTelegramBot
    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

  • سلام خسته نباشید من رله ۴ کاناله با Node MCU v1.0 رو با Arduino amega2560 l ازین طریق راه انداختم اما متوجه نشدم کلید هارو چجوری توی ربات تعریف کردید من مجبورم دستورات رو دستی وارد کنم امکانش هست کد های ساخت کلید رو توضیح بدید؟؟؟

    • با سلام و تشکر از توجه شما
      در این خصوص موارد در کتابخانه ArduinoJson.h قرار دارد. به سطر ۴۶ دقت کنید. به صورت “[[\”۱\”, \”۱-off\”],[\”2\”, \”2-off\”],[\”3\”, \”3-off\”],[\”4\”, \” …. تعریف شده است. الباقی توسط کتابخانه با ربات تلگرام هماهنگ می‌شود.

    • با سلام و تشکر ازشما
      در متن توضیح داده‌ام که این توکن بسیار مهم است. اولا نباید جایی منتشر شود. ثانیا برای دریافت مجدد آن می‌توانید با همان حسابی که ربات را ساخته‌اید به botfather مراجعه کنید و توکن ربات‌های قبلی را مجددا دریافت کنید.

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

  • سلام
    توی این سطر bot.sendChatAction(chat_id یعنی نمیشه بر اساس چت آیدی به افرادی خاص پاسخ بده؟

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

  • سلام مهندس خسته نباشید
    این برد nodemcu من d1 نداره! ولی دو تا d2 روی برد میبینم، چه کنم؟

  • با سلام
    اولا بابت آموزشتون تشکر میکنم و اینکه وقت میگذارید و پاسخ به همه میدهید. میخواستم بدانم که با برد nodemcu نسخه ch340 حتما باید کار کنیم؟

  • با سلام و خسته نباشید
    میخواستم بدونم که میشه با برد esp8266 که دو خروجی gpio 0 و gpio 2 هست و برد اردوینو نانو که دوازده تا ورودی داره به هم متصل کرد و اگه ممکنه کدوم دستورات و تغیرر بدم در نرم افزار تا پروگرم شه
    با تشکر

    • با سلام و تشکر از توجه شما
      بله هیچ مشکلی ندارد. ولی دفت داشته باشید که با این تغییرات مد نظر شما، موارد زیادی در کدها نیاز به تغییرات دارند. پیشنهاد میشود بدون دردسر از همین کدها با برد معرفی شده استفاده کنید.

  • سلام مهندس
    اولا جا داره از آموزش های جامع و بروزتون تو حوزه الکترونیک وICT قدر دانی کنم.
    مشکل بنده رو پروژه IOT هست که رو پیاده سازی سنسور دما و سنسور PIR مشکل دارم که ربات تلگرام فقط دستوری را دریافت میکنه…ولی دستوری ارسال نمیکنه یا به اصطلاح چت آیدی کاربر براش تعریف بشه.
    اگه امکانش هست راهنمایی کنید.

  • با سلام
    در صورت امکان در مورد استفاده از API ها بر روی ماژول های Esp راهنمایی کنید
    با تشکر فراوان

  • سلام
    خیلی خیلی ممنونم از شما و آموزشهای عالیتون
    میخواستم بدونم که حتما باید برد ۳۴۰ باشه؟ من با یه امسیو دیگه تست کردم ولی ارور میده
    ممکنه از اون باشه؟

    • با سلام و تشکر از توجه شما
      همانطوری که در پاسخ‌های قبلی اشاره شده است، پیشنهاد می‌شود با توجه به کدهای توسعه داده شده از برد NodeMCU مدل CH340 استفاده کنید.

  • باسلام
    من این کدها را آپلود کردم و برنامه بدون ارور آپلود شد.
    مشکل اینه که: پس از ارسال دستور به رباط تلگرام ، دریافت و نمایش آن در سریال مانیتور؛ پس از مدتی طولانی عملیات آن اجرا میشود و مجددا پس از گذشت مدتی، نتیجه آن توسط ربات ارسال میگردد. حتی گاهی اوقات رله روشن نمیشه(عملیات انجام نمیشود)!! ((مشکل مربوط به سرعت و کیفیت اینترنت نمیباشد))
    ممنون میشم اگر در حل این مشکل منرا راهنمایی نمایید.

    • با سلام و تشکر ازشما
      دقت داشته باشید که طی ۲۴ ساعت گذشته، سرورهای تلگرام دچار مشکل شده‌اند و چند ساعتی هم این سرویس از دسترس خارج بود. لطفا طی چند روز آینده موارد را بررسی، سپس از همین طریق اطلاع رسانی کنید.

      • این مسئله مربوط به مشکلات اخیر تلگرام نمیباشد. من از قبل عید تا کنون چندین مرتبه امتحان کردم؛ همیشه این مشکل پابرجا بوده!!!
        تاخیر ۴۰۰۰میلی ثانیه که در داخل کدها بود حذف کردم، فرقی نکرد!!
        حتی if (millis() > Bot_lasttime + Bot_mtbs) که در داخل لوپ اصلی بود نیز حذف کردم{چون شرط آن براساس تابع زمانی millis بود} بازم نشد!!!!!!!!
        مشکل مربوط به تلگرام و یا تاخیر طبیعی بین ارسال و دریافت پیام نیست؛ همانطور که خدمتتان عرض کردم:
        در پنجره سریال مینویسه که پیام دریافت شد؛ ولی بلافاصله رله فعال نمیشود و پس از تاخیر طولانی(حداقل۱۰ثانیه) رله فعال شده وسپس پس از گذشت مدتی دیگر پیام فعال شدن ارسال میگردد!
        خودم که حدس میزنم در داخل توابع کتابخانه تاخیری وجود دارد یا مشکل مربوط به کلاک ماژول است.
        شما خودتان به این مسئله برخورد کردید؟؟
        ممنون میشم اگر برای حل این مشکل کمک کنید.
        باتشکر و سپاس

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

  • با سلام ودرود
    ضمن تشکر بابت زحماتتان
    با توجه به فیلترینگ تلگرام، برای این آموزش ، می شه یک نرم افزار اندروید یا آی او اس با همان قابلیت های ربات تلگرام معرفی کنید تا به جای نرم افزار (ربات) تلگرام، از آن نرم افزار استفاده کنیم.

    با تشکر

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

  • با سلام با وجود محدودیت هایی که برای تلگرام به وجود امده امکان استفاده از این پروژه چطور میسر میشود؟

  • با سلام
    با توجه به محدودیت هایی که برای تلگرام به وجود امده (فیلترینگ)
    انجام این پروژه چطور میسر میشود

  • سلام ممکنه یوزر پسورد مثلا دوتا مودم رو داخل برنامه بدیم و هرکدوم دردسترس بود وصل بشه ؟
    اگه اره چطور !؟
    و اینکه میشه این برد رو داخل یه کیس قرار داد ؟ شما جعبه ای پیشنهاد دارید ؟

  • باتری لیتیوم پلیمری موجود نیست اصلا
    از چه جایگزینی میتونیم استفاده کنیم ؟

  • سلام و عرض ادب
    ممنون بابت آموزش مفیدتون/تمامی قطعات مورد نیاز رو تهیه کردم / آردونیو هم نصبه به همراه کتابخانه ها، ولی موقع آپلود کد ارورر میده .
    خواستم درخواست سرویس آنلاین بدم ولی متعجب شدم که هزینه ارسال چه معنی داره!!!!

    کد ارورر:

    C:\Users\shayan\Desktop\New folder (3)\Managing_Home_-arduino_telegrambot_-digispark(1)\Managing_Home_-arduino_telegrambot_-digispark\Managing_Home_-arduino_telegrambot_-digispark.ino:16:34: fatal error: UniversalTelegramBot.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

  • سلام من بعد از فیلتر شدن تلگرام رباتم از کار افتاده تا اخر خرداد باید پروژه مو تحویل بدم حیرون شدم توروخدا کمکم کنین

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

          • سلام ممنون از آموزش خوبتون . من پراکسی خوبی دارم و ۹۸% مواقع بدون قطعی کارمیکنه / چند بار ربات ساختم ولی نتیجه نگرفتم /سرویس آنلاین هم درخواست کردم گفتن درحال تست روش جایگزین هستیم میخواستم بدونم تا کی باید منتظر بود؟ اصلا منتظر باشیم؟
            باتشکر

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

  • سلام
    خسته نباشید
    این برد فقط میشه از طریق تلگرام ارتباط برقرار کرد؟
    کد دستوری دیگه ای وجود نداره که مستقیم بشه با ip اینترنتی ازش سرویس گرفت؟

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

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

  • سلام وقت بخیر
    از وقتی فیلترتلگرام اومده دیگه این مدار برای من کار نمیکنه ، آیا راه حلی دارین براش ؟ ممنون میشم پاسخ بدین

  • چرا توی سریال مانیتور همچین کارکتر های نامفهمومی نوشته میشه ؟
    ⸮⸮H⸮⸮Hl⸮⸮⸮hl$⸮y2h⸮⸮⸮۲DOz4`lME⸮<B8C⸮⸮ͶEO⸮v`MM⸮۴C(r⸮wJ

    • با سلام
      فونت را نمی‌تواند شناسایی کند. دقیقا راه حل رفع این مشکل را نمی‌دانم. از دیگر کاربران که در این خصوص تجربه کافی دارند، تقاضا دارم تا در این بحث شرکت کنند.

  • سلام و عرض ادب، جناب طباطبایی معرفی راهکار برای حل مشکل فیلتر تلگرام خیلی زمان بر شده لطفا قبل از اینکه مشکلات دیگه ای برای اینترنت بوجود بیاد آموزش رو منتشر کنید خیلی از دوستان مثل بنده از وقتی لوازم رو تهیه کردن نتونستن متصل بشن و کسانی هم که قبلا متصل شدن الان منتظر راهکار شما هستن، به امید رفع کامل این مشکل.

  • با سلام من قبلا کتابخانه تلگرام را نصب کرده ام و حتی اجرا و از آن استفاده برده ام اما هم اکنون این پیام را دریاقت می کنم
    Arduino: 1.8.5 (Windows 10), Board: “LOLIN(WEMOS) D1 R2 & mini, 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 921600”

    Build options changed, rebuilding all
    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘String UniversalTelegramBot::sendPostToTelegram(String, ArduinoJson::JsonObject&)’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:120:26: error: ‘class ArduinoJson::JsonObject’ has no member named ‘measureLength’

    int length = payload.measureLength();

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:128:13: error: ‘class ArduinoJson::JsonObject’ has no member named ‘printTo’

    payload.printTo(out);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::getMe()’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:319:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:319:3: note: suggested alternative:

    In file included from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.h:26,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:36:

    C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note: ‘ArduinoJson::Internals::DynamicJsonBuffer’

    DynamicJsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:319:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:320:22: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject &root = jsonBuffer.parseObject(response);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:324:12: error: ‘class ArduinoJson::JsonObject’ has no member named ‘success’

    if (root.success()) {

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘int UniversalTelegramBot::getUpdates(long int)’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:369:5: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:369:5: note: suggested alternative:

    In file included from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.h:26,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:36:

    C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note: ‘ArduinoJson::Internals::DynamicJsonBuffer’

    DynamicJsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:369:23: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:370:24: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject &root = jsonBuffer.parseObject(response);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:372:14: error: ‘class ArduinoJson::JsonObject’ has no member named ‘success’

    if (root.success()) {

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:382:50: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::Internals::JsonArraySubscript’

    JsonObject &result = root[“result”][i];

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::processResult(ArduinoJson::JsonObject&, int)’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:431:45: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::Internals::JsonObjectSubscript’

    JsonObject &message = result[“message”];

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:451:50: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::Internals::JsonObjectSubscript’

    JsonObject &message = result[“channel_post”];

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:460:52: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::Internals::JsonObjectSubscript’

    JsonObject &message = result[“callback_query”];

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:472:52: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::Internals::JsonObjectSubscript’

    JsonObject &message = result[“edited_message”];

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessage(String, String, String)’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:530:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:530:3: note: suggested alternative:

    In file included from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.h:26,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:36:

    C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note: ‘ArduinoJson::Internals::DynamicJsonBuffer’

    DynamicJsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:530:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:531:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject &payload = jsonBuffer.createObject();

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessageWithReplyKeyboard(String, String, String, String, bool, bool, bool)’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:547:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:547:3: note: suggested alternative:

    In file included from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.h:26,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:36:

    C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note: ‘ArduinoJson::Internals::DynamicJsonBuffer’

    DynamicJsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:547:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:548:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject &payload = jsonBuffer.createObject();

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:557:70: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::JsonObject’

    JsonObject &replyMarkup = payload.createNestedObject(“reply_markup”);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:564:21: error: expected ‘;’ before ‘keyboardBuffer’

    DynamicJsonBuffer keyboardBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:565:29: error: ‘keyboardBuffer’ was not declared in this scope

    replyMarkup[“keyboard”] = keyboardBuffer.parseArray(keyboard);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessageWithInlineKeyboard(String, String, String, String)’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:589:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:589:3: note: suggested alternative:

    In file included from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.h:26,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:36:

    C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note: ‘ArduinoJson::Internals::DynamicJsonBuffer’

    DynamicJsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:589:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:590:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject &payload = jsonBuffer.createObject();

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:599:70: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::JsonObject’

    JsonObject &replyMarkup = payload.createNestedObject(“reply_markup”);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:601:21: error: expected ‘;’ before ‘keyboardBuffer’

    DynamicJsonBuffer keyboardBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:602:36: error: ‘keyboardBuffer’ was not declared in this scope

    replyMarkup[“inline_keyboard”] = keyboardBuffer.parseArray(keyboard);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘String UniversalTelegramBot::sendPhoto(String, String, String, bool, int, String)’:

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:684:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:684:3: note: suggested alternative:

    In file included from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/DynamicJsonDocument.hpp:10:0,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.h:26,

    from C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:36:

    C:\Users\acer-pc\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Memory/DynamicJsonBuffer.hpp:159:5: note: ‘ArduinoJson::Internals::DynamicJsonBuffer’

    DynamicJsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:684:21: error: expected ‘;’ before ‘jsonBuffer’

    DynamicJsonBuffer jsonBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:685:25: error: ‘jsonBuffer’ was not declared in this scope

    JsonObject &payload = jsonBuffer.createObject();

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:703:72: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject&’ from an rvalue of type ‘ArduinoJson::JsonObject’

    JsonObject &replyMarkup = payload.createNestedObject(“reply_markup”);

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:705:23: error: expected ‘;’ before ‘keyboardBuffer’

    DynamicJsonBuffer keyboardBuffer;

    ^

    C:\Users\acer-pc\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:706:31: error: ‘keyboardBuffer’ was not declared in this scope

    replyMarkup[“keyboard”] = keyboardBuffer.parseArray(keyboard);

    ^

    exit status 1
    Error compiling for board LOLIN(WEMOS) D1 R2 & mini.

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

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

  • سلام وقت بخیر
    اقای طباطبایی اگه رله رو برای قطع و وصل کردن چراغ اتاق استفاده کنیم برق ۲۲۰ ولت که به رله وصل میشه ایا به رله و برد nod اسیب نمیرسونه؟
    ممنون

    • با سلام
      بله مشکلی ندارد. دقت داشته باشید که خروجی رله مانند یک کلیک عمل می‌کند. از اینرو فقط جریان عبوری از رله اهمیت دارد. همچنین هیچ آسیبی به برد نخواهد رسید.

  • سلام و عرض ادب، جناب طباطبایی من خیلی خیلی عجله دارم و فوری نیاز به این راه جایگزین برا اتصال به تلگرام هستم،شهرستان هستم و شرایط شرکت در دوره ندارم، لطف بفرمایید راهکار جایگزین رو برام ارسال کنید،هزینه ای هم داشته باشه پرداخت میکنم. واقعا دیگه فرصتی ندارم…

  • سلام من با همچین خطایی رو ب رو میشم
    آردئینو:۱٫۸٫۱ (Windows 10), برد:”NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200″

    In file included from C:\Users\REZA\Documents\Arduino\sketch_aug30a\sketch_aug30a.ino:2:0:

    C:\Users\REZA\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.h:27:25: fatal error: ArduinoJson.h: No such file or directory

    #include

    ^

    compilation terminated.

    Multiple libraries were found for “UniversalTelegramBot.h”
    Used: C:\Users\REZA\Documents\Arduino\libraries\UniversalTelegramBot
    Not used: C:\Program Files (x86)\Arduino\libraries\UniversalTelegramBot-1.1.0
    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

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

    • با سلام
      ارورها مربوط به کتابخانه است. می‌بایست کتابخانه ArduinoJson.h را نصب کنید. همچنین در سیستم شما چند کتابخانه با اسم UniversalTelegramBot.h شناخته شده است. این مورد هم می‌بایست برطرف کنید.

  • سلام خسته نباشید
    با همچین اروری رو به رو میشم
    آردئینو:۱٫۸٫۱ (Windows 10), برد:”NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200″

    In file included from C:\Users\REZA\Documents\Arduino\sketch_aug30a\sketch_aug30a.ino:2:0:

    C:\Users\REZA\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.h:27:25: fatal error: ArduinoJson.h: No such file or directory

    #include

    ^

    compilation terminated.

    Multiple libraries were found for “UniversalTelegramBot.h”
    Used: C:\Users\REZA\Documents\Arduino\libraries\UniversalTelegramBot
    Not used: C:\Program Files (x86)\Arduino\libraries\UniversalTelegramBot-1.1.0
    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

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

      • سلام تشکر میکنم از زحماتتون
        مهندس حل نشد ولی وقتی کتابخانه های دیگر و برنامه نویسی دیگه ای رو امتحان میکنم حل میشه دلیلش هم فک کنم اینه که برنامه ی شما با برد nodmcu cp2102 هم خوانی ندارد ولی با برد nodemcu ch340هم خوانی دارد که پیشنهاد میکنم از کد های زیر استفاده شود اگر مورد قبول واقع شد بگید که کتابخانه ها و فایل رو آپلود کنم:

        #include
        #include
        #include

        const char* ssid = “**************”;
        const char* password = “********”;
        const char BotToken[] = “******************************”;

        WiFiClientSecure net_ssl;
        TelegramBot bot (BotToken, net_ssl);

        void setup() {

        Serial.begin(9600);
        WiFi.begin(ssid, password);
        while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(“.”);
        }
        Serial.println(“”);
        Serial.println(“WiFi connected”);
        Serial.println(WiFi.localIP());

        bot.begin();

        pinMode(D1, OUTPUT);
        pinMode(D2, OUTPUT);
        pinMode(D3, OUTPUT);
        pinMode(D4, OUTPUT);
        }

        void loop() {

        message m = bot.getUpdates();
        if (m.text.equals(“HI.REZA”)){

        bot.sendMessage(m.chat_id, “سلام رضاسیدزاده هستم به مدیریت اشیاء از طریق ربات تلگرام خوش آمدید.راه ارتباطی rezaseyyedzadeh1995@gmail.com“);

        }

        if (m.text.equals(“1on”)){
        digitalWrite(D1, HIGH);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۱ روشن شد”);

        }else if (m.text.equals(“1off”)){
        digitalWrite(D1, LOW);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۱ خاموش شد”);

        }else if (m.text.equals(“2on”)){
        digitalWrite(D2, HIGH);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۲روشن شد”);

        }else if (m.text.equals(“2off”)){
        digitalWrite(D2, LOW);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۲ خاموش شد”);

        }else if (m.text.equals(“3on”)){
        digitalWrite(D3, HIGH);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۳ روشن شد”);

        }else if (m.text.equals(“3off”)){
        digitalWrite(D3, LOW);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۳ خاموش شد”);

        }else if(m.text.equals(“4on”)){
        digitalWrite(D4, HIGH);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۴ روشن است”);

        }else if (m.text.equals(“4off”)){
        digitalWrite(D4, LOW);
        bot.sendMessage(m.chat_id, “چراغ اتاق ۴ خاموش است”);

        }
        }

  • سلام بزرگوار من دنبال سلوشنی هستم که با یه بورد اردوینو یا حالا بورد دیگه ایی ( اطلاع ندارم) بشه به ربات تلگرام وصلش کرد و هروقت که فراخونیش میکنی بتونه صدای محیط را Record کنه و بفرسته روی ربات.
    چنین چیزی امکانپذیر هست؟

  • سلام اقای طباطبایی میخواستم با ماژول وای فای یه چیزی درست کنم ۸ رله داشته باشه و با فاصله زمانی دقیقه رله هارو یکی یکی وصل کنه و به ازای هر رله یه پیام روی تلفن همرا بفرسته که ایا رله شماره ۱ خاموشه یا روشنه میخواستم بدونم ایا با این ماژول همچین کاری رو میشه انجام داد؟

    • با سلام
      برای این منظور می‌توانید از همین پروژه استفاده کنید. اما اگر نیاز دارید که پس از اتصال رله، نسبت به کار کردن مدار پشت آن مطمئن شوید، نیاز به تغییرات سخت افزاری خواهید داشت.

  • با سلام
    من همینو نوشتم اما برد نمیتونه به تلگرام وصل شه هیچ اروری هم در سریال مانیتور یا جای دیگه نمیگیرم ام با شروع ربات و اجرای دستورات اتفاقی نمی افته

  • سلام؛
    خسته نباشید.
    من وقتی کد هارو روی برد امتحان میکنم ارور زیر رو میده.
    ممنون میشم راهنمایی کنید.

    Arduino: 1.8.7 (Windows 10), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200”

    In file included from C:\Users\Mobin\Desktop\333\333.ino:3:0:

    C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.h:26:25: fatal error: ArduinoJson.h: No such file or directory

    #include

    ^

    compilation terminated.

    exit status 1
    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

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

    • با سلام
      ارور مربوط به کتابخانه و انتخاب برد مناسب است. آیا کتابخانه ها نصب شده است؟

      • سلام مجدد؛
        کتابخانه های مورد استفاده در کد ها نصب شده است ولی کتابخانه ی
        UniversalTelegramBot شناسایی نمیشود.
        و اروری که در هنگام کامایل داده میشود مربوط به کتابخانه ی
        ArduinoJson
        است.
        بعد از نصب کتابخانه ی ArduinoJson متن ارور عوض میشود.
        و در ضمن موقع verify ارور داده میشود
        و برد روی (nodeMCU 1.0 (ESP-12 E module انتخاب شده است

        متن ارور :

        Arduino: 1.8.7 (Windows 10), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200”

        Build options changed, rebuilding all
        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘String UniversalTelegramBot::sendPostToTelegram(String, ArduinoJson::JsonObject&)’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:120:26: error: ‘ArduinoJson::JsonObject’ has no member named ‘measureLength’

        int length = payload.measureLength();

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:128:13: error: ‘ArduinoJson::JsonObject’ has no member named ‘printTo’

        payload.printTo(out);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::getMe()’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:319:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:319:21: error: expected ‘;’ before ‘jsonBuffer’

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:320:22: error: ‘jsonBuffer’ was not declared in this scope

        JsonObject &root = jsonBuffer.parseObject(response);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:324:12: error: ‘ArduinoJson::JsonObject’ has no member named ‘success’

        if (root.success()) {

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘int UniversalTelegramBot::getUpdates(long int)’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:369:5: error: ‘DynamicJsonBuffer’ was not declared in this scope

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:369:23: error: expected ‘;’ before ‘jsonBuffer’

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:370:24: error: ‘jsonBuffer’ was not declared in this scope

        JsonObject &root = jsonBuffer.parseObject(response);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:372:14: error: ‘ArduinoJson::JsonObject’ has no member named ‘success’

        if (root.success()) {

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:377:48: error: ‘ArduinoJson680_0_0::enable_if<true, ArduinoJson680_0_0::MemberProxy >::type’ has no member named ‘size’

        int resultArrayLength = root[“result”].size();

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:382:50: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::ElementProxy<const ArduinoJson680_0_0::MemberProxy&>’

        JsonObject &result = root[“result”][i];

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::processResult(ArduinoJson::JsonObject&, int)’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:431:45: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::enable_if<true, ArduinoJson680_0_0::MemberProxy >::type {aka ArduinoJson680_0_0::MemberProxy}’

        JsonObject &message = result[“message”];

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:451:50: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::enable_if<true, ArduinoJson680_0_0::MemberProxy >::type {aka ArduinoJson680_0_0::MemberProxy}’

        JsonObject &message = result[“channel_post”];

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:460:52: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::enable_if<true, ArduinoJson680_0_0::MemberProxy >::type {aka ArduinoJson680_0_0::MemberProxy}’

        JsonObject &message = result[“callback_query”];

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:472:52: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::enable_if<true, ArduinoJson680_0_0::MemberProxy >::type {aka ArduinoJson680_0_0::MemberProxy}’

        JsonObject &message = result[“edited_message”];

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessage(String, String, String)’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:530:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:530:21: error: expected ‘;’ before ‘jsonBuffer’

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:531:25: error: ‘jsonBuffer’ was not declared in this scope

        JsonObject &payload = jsonBuffer.createObject();

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessageWithReplyKeyboard(String, String, String, String, bool, bool, bool)’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:547:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:547:21: error: expected ‘;’ before ‘jsonBuffer’

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:548:25: error: ‘jsonBuffer’ was not declared in this scope

        JsonObject &payload = jsonBuffer.createObject();

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:557:70: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::ObjectRef’

        JsonObject &replyMarkup = payload.createNestedObject(“reply_markup”);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:564:21: error: expected ‘;’ before ‘keyboardBuffer’

        DynamicJsonBuffer keyboardBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:565:29: error: ‘keyboardBuffer’ was not declared in this scope

        replyMarkup[“keyboard”] = keyboardBuffer.parseArray(keyboard);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘bool UniversalTelegramBot::sendMessageWithInlineKeyboard(String, String, String, String)’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:589:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:589:21: error: expected ‘;’ before ‘jsonBuffer’

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:590:25: error: ‘jsonBuffer’ was not declared in this scope

        JsonObject &payload = jsonBuffer.createObject();

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:599:70: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::ObjectRef’

        JsonObject &replyMarkup = payload.createNestedObject(“reply_markup”);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:601:21: error: expected ‘;’ before ‘keyboardBuffer’

        DynamicJsonBuffer keyboardBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:602:36: error: ‘keyboardBuffer’ was not declared in this scope

        replyMarkup[“inline_keyboard”] = keyboardBuffer.parseArray(keyboard);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp: In member function ‘String UniversalTelegramBot::sendPhoto(String, String, String, bool, int, String)’:

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:684:3: error: ‘DynamicJsonBuffer’ was not declared in this scope

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:684:21: error: expected ‘;’ before ‘jsonBuffer’

        DynamicJsonBuffer jsonBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:685:25: error: ‘jsonBuffer’ was not declared in this scope

        JsonObject &payload = jsonBuffer.createObject();

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:703:72: error: invalid initialization of non-const reference of type ‘ArduinoJson::JsonObject& {aka ArduinoJson680_0_0::ObjectRef&}’ from an rvalue of type ‘ArduinoJson680_0_0::ObjectRef’

        JsonObject &replyMarkup = payload.createNestedObject(“reply_markup”);

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:705:23: error: expected ‘;’ before ‘keyboardBuffer’

        DynamicJsonBuffer keyboardBuffer;

        ^

        C:\Users\Mobin\Documents\Arduino\libraries\UniversalTelegramBot\src\UniversalTelegramBot.cpp:706:31: error: ‘keyboardBuffer’ was not declared in this scope

        replyMarkup[“keyboard”] = keyboardBuffer.parseArray(keyboard);

        ^

        exit status 1
        Error compiling for board NodeMCU 1.0 (ESP-12E Module).

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

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

          • سلام
            ارور قبلی مربوط به کتابخانه ی ESP32 بود که با نصب ESP8266 باز همان ارور داده شد
            Invalid library found in C:\Users\Mobin\Documents\Arduino\libraries\Arduino: no headers files (.h) found in C:\Users\Mobin\Documents\Arduino\libraries\Arduino

            • این ارور مجددا مربوط به کتابخانه است. پیشنهاد می‌کنم کتابخانه ها را حذف و مجدد نصب کنید.
              کتابخانه Arduino را پاک کنید. طبق ارور ارسال شده در مسیر Arduino/Library/Arduino کتابخانه ای به اسم Arduino قرار دارد.

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

  • اقای مهندس من با انواع مرورگر امتحان کردم هر بارم رفرش میکنم بازم کد ها نمیان قبلا با همین مرورگر وارد میشدم مشکلی نداشتم میشه لطف کنین خودتون با اطلاعات حساب من وارد شین ببینین مشکل از کجاست. ممنون

  • با سلام جناب آقای طباطبایی عزیز،
    من این پروژه رو با Node MCU ESP8266 CP2102 انجام داد البته برای ۴ رله.
    از شیلد توسعه استفاده نکردم و مستقیم NodeMCU رو به پایه های رله وصل کردم.
    مشکلم اینه که وقتی تو بات تلگرام که ساختم start رو میزنم هیچی برنمیگردونه.
    توکن تلگرام رو هم عینا کپی کردم.
    پیغامی که تو سریال مونیتور بهم نشون میده فقط اینه:

    ۱۸:۰۴:۲۷٫۸۹۶ -> WiFi connected
    ۱۸:۰۴:۲۷٫۸۹۶ -> IP address: 192.168.43.148

    • با سلام
      در این خصوص دقت داشته باشید که امکان اتصال برد به ربات تلگرام وجود ندارد. جهت رفع این مشکل می‌بایست از طریق تنظیمات شبکه روی مودم proxy ست کنید. در غیر این صورت امکان برقراری ارتباط برد با سرور وجود نخواهد داشت.

      • با سلام
        این مشکل بخاطر عدم استفاده از شیلد توسعه بوجود میاید یا فیلتر بودن تلگرام؟

        من در این کیس ، از اینترنت گوشی و فیلتر شکن های رایج جهت انصال به تلگرام استفاده کردم. الان منظور شما اینه که باید از پروکسی های معمول جهت اتصال به تلگرام استفاده کرد؟؟

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

  • استاد عزیز با سلام
    در خصوص مدیریت با تلگرام و این برد چه راهکاری باید انجام بدیم؟

  • سلام
    من بعد از آپلود این ارور دارم
    Arduino: 1.8.9 (Windows 7), Board: “Generic ESP8285 Module, 80 MHz, Flash, Disabled, All SSL ciphers (most compatible), ck, 26 MHz, 1M (no SPIFFS), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200”

    Build options changed, rebuilding all
    sketch_oct30a:19:20: error: ‘D1’ was not declared in this scope

    const int relay1 = D1;

    ^

    sketch_oct30a:20:20: error: ‘D2’ was not declared in this scope

    const int relay2 = D2;

    ^

    sketch_oct30a:21:20: error: ‘D3’ was not declared in this scope

    const int relay3 = D3;

    ^

    sketch_oct30a:22:20: error: ‘D4’ was not declared in this scope

    const int relay4 = D4;

    ^

    sketch_oct30a:23:20: error: ‘D5’ was not declared in this scope

    const int relay5 = D5;

    ^

    sketch_oct30a:24:20: error: ‘D6’ was not declared in this scope

    const int relay6 = D6;

    ^

    sketch_oct30a:25:20: error: ‘D7’ was not declared in this scope

    const int relay7 = D7;

    ^

    sketch_oct30a:26:20: error: ‘D8’ was not declared in this scope

    const int relay8 = D8;

    ^

    C:\Users\Mahdi\Desktop\sketch_oct30a\sketch_oct30a.ino: In function ‘void setup()’:

    sketch_oct30a:211:11: error: ‘D1’ was not declared in this scope

    pinMode(D1, OUTPUT);

    ^

    sketch_oct30a:215:11: error: ‘D2’ was not declared in this scope

    pinMode(D2, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_oct30a:219:11: error: ‘D3’ was not declared in this scope

    pinMode(D3, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_oct30a:223:11: error: ‘D4’ was not declared in this scope

    pinMode(D4, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_oct30a:227:11: error: ‘D5’ was not declared in this scope

    pinMode(D5, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_oct30a:231:11: error: ‘D6’ was not declared in this scope

    pinMode(D6, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_oct30a:235:11: error: ‘D7’ was not declared in this scope

    pinMode(D7, OUTPUT); // initialize digital ledPin as an output.

    ^

    sketch_oct30a:239:11: error: ‘D8’ was not declared in this scope

    pinMode(D8, OUTPUT); // initialize digital ledPin as an output.

    ^

    exit status 1
    ‘D1’ was not declared in this scope

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

  • سلام من تازه وارد بحث nodemcu و برد های توسعه دیگه شدم می خواستم بدونم که آیا این برد ها با ۳.۷ ولت هم کار می کنن چون من توی هر سایتی دیدم ولتاژ ۵ تا ۲۰ ولت رو توصیه کرده بود ولی در ودیوی شما دیدم که از باتری لیتیوم ۳.۷ ولتی استفاده کردین ممنون می شم که جواب منو بدین. میشه از ولتاژ ۳.۷ ولت استفاده کرد؟ به برد آسیب نمیزنه؟

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

  • سلام وقت بخیر
    من یک پروکسی روی مودم نصب کردم
    مودم z6000 ایرانسل هست
    تو قسمت سریال نرم افزار آردوینو نشون میده که برد به مودم وصل شده و همچنین تو تنظیمات مودم نشون میده که وصل هست و پروکسی شروع به شمارش زمان میکنه ، ال ای دی روی برد nodemcu هم نشون میده که به اینترنت وصله
    اما زمانی که از تلگرام دکمه های دستوری رو میزنم عملی انجام نمیشه و بازخوردی هم نداره از برد
    ضمنا این نکته رو هم یادآوری کنم که قبل از فیلترینگ از این مدار استفاده میکردم اما بعد فیلترینگ از کار افتاد با اینکه پروکسی به مودم اضافه کردم باز هم اتصال برقرار نشد .
    آیا راه حلی دارید یا خیر ؟

    • با سلام
      کاربر گرامی متاسفانه امکان پیگیری در خصوص تنظیمات پروکسی روی مودم و شبکه شما از طریق این سایت امکان پذیر نمی‌باشد. چنانچه امکان ارتباط با سرورهای تلگرام را داشته باشید، مدار بدون هیچ مشکلی کار می‌کند.

  • سلام اقای طباطبایی این کد ها رو میشه برای برد nodemcu cp2102 استفاده کرد اگر نمیشه امکانش هست روش رو توضیح بدین ممنون میشم

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

  • سلام خسته نباشید.
    برای این آموزش فقط تهیه این قطعات کافی است یا باید حتما برد آردوینو هم تهیه کنم؟!

  • سلام
    امکانش هست آموزشی تهیه کنید تا از روشی که در ادامه توضیح میدم استفاده کنید برای حل مشکل فیلترینگ؟!
    سرور خارج از کشور که فیوچرهای زیر رو داره:

    اجرای ربات تلگرام شمادیتابیس اطلاعات و درخواست های کاربران رباتوب سرور جهت ارتباط دیتابیس با ابزار IOT

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

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

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

    Arduino: 1.8.13 (Windows 10), 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, All Flash Contents, 115200”

    Executable segment sizes:

    IROM : 363052 – code in flash (default or ICACHE_FLASH_ATTR)

    IRAM : 27592 / 32768 – code in IRAM (ICACHE_RAM_ATTR, ISRs…)

    DATA : 1348 ) – initialized variables (global, static) in RAM/HEAP

    RODATA : 2152 ) / 81920 – constants (global, static) in RAM/HEAP

    BSS : 25392 ) – zeroed variables (global, static) in RAM/HEAP

    Sketch uses 394144 bytes (37%) of program storage space. Maximum is 1044464 bytes.

    Global variables use 28892 bytes (35%) of dynamic memory, leaving 53028 bytes for local variables. Maximum is 81920 bytes.

    esptool.py v2.8

    Serial port COM1

    Connecting…….._____….._____….._____….._____….._____….._____…..____Traceback (most recent call last):

    File “C:\Users\Mohammad\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.1/tools/upload.py”, line 65, in

    esptool.main(cmdline)

    File “C:/Users/Mohammad/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/tools/esptool\esptool.py”, line 2890, in main

    esp.connect(args.before)

    File “C:/Users/Mohammad/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.1/tools/esptool\esptool.py”, line 483, in connect

    raise FatalError(‘Failed to connect to %s: %s’ % (self.CHIP_NAME, last_error))

    esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

    esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

    _

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

  • سلام / روز بخیر
    هنگام کامپایل با ارور زیر مواجه میشوم
    لطف میکنید راهنمایی بفرمایید ؟؟؟
    Blink:3:34: fatal error: UniversalTelegramBot.h: No such file or directory
    #include
    ^
    compilation terminated.
    exit status 1
    UniversalTelegramBot.h: No such file or directory

  • با سلام ممنون از راهنماییاتون و آموزشاتون
    کجا میتوم کدها و نقشه های شماتیکو دریافت کنم؟

  • سلام خسته نباشید . طبق اموزشا کدارو نوشتم و بدون ارور اپلودش کردم و توکن رباتم گذاشتم تو برنامه . ولی استارتو زدم کار نکرد حتی وقتی دستور ۱on رو فرستادم کار نکرد . احیانن باید رو سرور چیزیو اپلود کنم یا برنامه نویسی ربات میخواد؟؟؟

    • با سلام
      کاربر گرامی در نظر داشته باشید در حال حاضر امکان دسترسی به ربات تلگرام وجود ندارد.

      • سلام آقای طباطبایی .
        من چند سوال داشتم .که به شرح زیر می‌باشد.
        ۱= کد ها فقط باید روی nodemcu آپلود شوند ؟؟
        ۲=آیا نیازی به کد نویسی ربات تلگرام هست؟؟
        ۳= امکان لحظه ای کردن رله ها است ؟ چگونه ؟
        ۴= خب من مثلاً صد ها کیلومتر از خانه دور هستم . و برد به وای‌فای خونه مون وصله.
        آیا میشه که من بازم از این فاصله رله ها را با ربات تلگرام کنترل کرد ؟
        ۵= و اینکه تلگرام فعلأ فیلتر است .و نیاز به فیلتر شکن است .چجوری میتونم فیلتر شکن را روی وای‌فای وصل کنم . که ارتباط ربات تلگرام با برد وصل بشه ؟

        • با سلام
          ۱- میتوانید از کلیه بردهای خانواده ESP8266 استفاده کنید.
          ۲- در این آموزش، خیر، صرفا با یک ربات ساده میتوانید انجام دهید.
          ۳- باید در کدهایی که روی برد آپلود میکنید، شرط گذاری‌ها را تغییر دهید.
          ۴- طبیعتا این پروژه برای چنین منظوری طراحی شده است. و میتوانید از هرجایی اقدام به فرمان دادن به برد کنید.
          ۵- بایستی از روترهایی استفاده کنید که روی آن امکان انجام چنین کاری فراهم باشد. در غیر این صورت امکان پذیر نخواهد بود.

  • سلام
    من اشتراک اسپارکر پلاس سه ماهه خریداری کردم و ولرد سایت شدم وپروفایل رو تنظیم کردم ولی زمانی که می خواهم به کد ها دسترسی پیدا کنم می گه که ایمیل برای تایید جساب شما ارسال شده است ولی زمانی که ایمیلم را چک می کنم هیچ ایمیلی برایم نرسیده چند روز هم از این موضوع گذشته ولی مشکل حل نشده لطفا پیگیری کنید

  • سلام
    امکان این هست که مثلا برای خروجی شماره ۵ (d5) که به لطف برد توسعه تبدیل به ۴تا پین خروجی شده ، برای هر کدوم از پین های d5 برنامه جدا ریخت؟
    اگر میشه اینکارو کرد ، ادرس هر کدوم از این ۴ پین در کد نویسی به چه صورت هستش؟ مثلا به چه صورت باید ادرس پین شماره دو d5 رو وارد کنم؟

  • با سلام
    من این مراحل رو انجام دادم و به همین ترتیب که گفته شده رله ها رو وصل کردم و کار کرد
    ولی وقتی برق رو قطع میکنم و دوباره وصل میکنم فقط چراغ هایی که مربوط d4 و d8 هستش روشن میشن ومدار کار نمیکنه ولی به محض اینکه یکی از پین های d8 یا d4 رو قطع میکنم ومدار رو دوباره راه اندازی میکنم درست کار میکنه .
    علت چی میتونه باشه ؟

  • با سلام در هنگام verify کردن کد ها ارور زیر را دریافت میکنم لطفا راهنمایی بفرمایید
    Arduino: 1.8.14 (Windows 10), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200”

    In file included from E:\اینترنت اشیا\پروژه\sketch_jul02a2\sketch_jul02a2.ino:13:0:

    C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h: In function ‘void loop()’:

    C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:27:8: error: expected unqualified-id before string constant

    extern “C” {

    ^

    In file included from C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/WiFiClientSecure.h:41:0,

    from C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/WiFiServerSecure.h:20,

    from C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:41,

    from E:\اینترنت اشیا\پروژه\sketch_jul02a2\sketch_jul02a2.ino:13:

    C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:141:28: error: expected ‘}’ before end of line

    #pragma GCC diagnostic push

    ^

    C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h: At global scope:

    C:\Users\ASUS\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:141:28: error: expected declaration before end of line

    exit status 1

    Error compiling for board NodeMCU 1.0 (ESP-12E Module).

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

  • با سلام کدها دقیقا کپی شدند اما ارور زیر را میگیرم
    Arduino: 1.8.14 (Windows 10), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200”

    E:\اینترنت اشیا\پروژه\۲۳\۲۳٫ino: In function ‘void loop()’:

    ۲۳:۵۸:۴۴: error: a function-definition is not allowed here before ‘{‘ token

    ۲۳:۲۹۴:۱: error: expected ‘}’ at end of input

    In file included from C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Polyfills/static_array.hpp:11:0,

    from C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Numbers/FloatTraits.hpp:14,

    from C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Numbers/parseNumber.hpp:7,

    from C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/VariantImpl.hpp:10,

    from C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:32,

    from C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9,

    from C:\Users\ASUS\Documents\Arduino\libraries\UniversalTelegramBot\src/UniversalTelegramBot.h:29,

    from E:\اینترنت اشیا\پروژه\۲۳\۲۳٫ino:21:

    C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Polyfills/pgmspace_generic.hpp: In instantiation of ‘typename ArduinoJson6180_D1::enable_if<ArduinoJson6180_D1::is_pointer::value, T>::type ArduinoJson6180_D1::pgm_read(const void*) [with T = const __FlashStringHelper*; typename ArduinoJson6180_D1::enable_if<ArduinoJson6180_D1::is_pointer::value, T>::type = const __FlashStringHelper*]’:

    C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Deserialization/DeserializationError.hpp:100:12: required from here

    C:\Users\ASUS\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Polyfills/pgmspace_generic.hpp:14:45: error: ‘const void*’ is not a pointer-to-object type

    return reinterpret_cast(pgm_read_ptr(p));

    ^

    exit status 1

    a function-definition is not allowed here before ‘{‘ token

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

  • سلام وقت بخیر میشه از esp32 ورژن یک ۲۰ تا خروجی گرفت و اون ۲۰ تا خروجی رو داخل همین کد تعریف کرد؟
    و سوال دیگه اینه که بعد از این که خروجی هارو تعریف کردم داخل روبات تلگرام مشکلی پیش نمیاد؟

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