برد ESP8266 برد Nodemcu

سری آموزش‌های Nodemcu بخش اول; رفع مشکل آپلود کد در CH340

NodeMCU-CH340-Error-getting-started-digispark
نوشته شده توسط پریسا پوربلورچیان

در پروژه های اینترنت اشیا IOT، وای فای از اهمیت ویژه ای برخوردار است. تراشه ESP8266 نیاز بسیاری از کاربران را در این مورد برطرف کرده است. بردهای متنوعی از تراشه داخلی ESP8266 بهره می‌برند، که در این بین برد Nodemcu  طرفداران خاص خودش را دارد. در ادامه به بررسی برد Nodemcu LoLin مدل CH340 می‌پردازیم. کاربران زیادی در راه اندازی این برد با مشکل مواجه شدند که در این پست به آن خواهیم پرداخت. در ادامه رفع مشکل راه اندازی nodemcu با مرجع تخصصی نود ام سی یو به زبان فارسی، دیجی اسپارک همراه باشید.

 


معرفی برد NodeMCU CH340


Nodemcu ار تراشه داخلی وای فای ESP8266 طراحی شده است و در پروژه های DIY اینترنت اشیا بسیار کاربردی است. مدل های مختلفی برای Nodemcu با سری های متفاوت عرضه شده است که هر کدام ویژگی های منحصر به فرد خود را دارد. ولتاژ کاری بردهای Nodemcu برابر با ۳٫۳ ولت است و همچنین از پین Vin بهره می‌برد. طبق اطلاعات گفته شده در دیتاشیت کالا، می‌توان ورودی ۵ ولت را از طریق پایه Vin به برد اعمال کرد.

 

بررسی پایه‌های برد Nodemcu CH340

برد کنترل اینترنت اشیا Nodemcu، دارای ورژن های متفاوتی است که در این آموزش از ورژن ۳ یا V0.3 استفاده می‌کنیم. ورژن ۳ با برند Lolin مشخص می‌شود. ماژول Nodemcu LoLin از ۳۰ پایه تشکیل شده است.

  • ۱۳ پایه GPIO به ترتیب با D مشخص شده است.
  • پایه Vin جهت تغذیه جداگانه و ۵ ولت مورد استفاده قرار می‌گیرد.
  • این ماژول از ۳ پایه ۳٫۳ ولت و ۴ پایه GND تشکیل شده است.
  • دقت کنید پایه A0 در واقع همان پایه ADC0 است که برای اتصال سنسورهای آنالوگ مورد استفاده قرار می‌گیرد.
  • جهت اطلاع از شماره GPIO از تصویر زیر استفاده کنید.
  • پایه‌های آبی رنگ به ترتیب پایه های ارتباط سریال TX و RX می‌باشد.
  • جهت ارتباط SPI پایه های HMOSI، HCS، HMISO و HSCLK با رنگ سبز مشخص شده است.
  • پایه های I2C به ترتیب D1 برابر SCL و D2 برابر با SDA می‌باشد.

 

 


راه اندازی برد Nodemcu CH340


جهت راه اندازی برد Nodemcu CH340 نیاز به نصب درایور CH340 خواهیم داشت. درایور مناسب را تست و نصب کنید. سپس برد Nodemcu را توسط کابل USB مخصوص ارسال دیتا به لپتاپ اتصال دهید.حال جهت راه اندازی برد Nodemcu نیاز به نصب پکیج ESP8266 خواهد بود. از مسیر File/ Preferences فایل را نصب کنید پس از نصب لیست بردهای ESP8266 در نرم افزار آردوینو قرار می‌گیرد و بسته به ورژن مورد استفاده نوع برد را می‌توانید انتخاب کنید. پس از آن در مسیر Tools/ Board/ Boards manager برد ESP8266 را نصب کنید.

 

از منو Tools، بردهای ESP8266 به لیست بردهای نرم افزار آردوینو IDE اضافه خواهد شد.

 

 


رفع خطا espcomm در هنگام آپلود


espcomm_sync failed error: espcomm_open failed error بله! مشکل بسیاری از کاربران در هنگام آپلود کد بر روی Nodemcu، همین خطا می‌باشد. کاربران پس از اولین استفاده به اشتباه دچار سردرگمی شده و فکر می‌کنند برد آسیب دیده است. برد Nodemcu دارای دو مود Mode کاری است، که به ترتیب RUN و Flash می‌باشد. در مود RUN، فرمور firmware بر روی ESP8266 نصب شده است. فرمور پیش فرض یا همان ریز برنامه، در واقع همان دستورالعمل های ریز پیش فرض AT هستند که به شما این امکان را می‌دهد تا از طریق دستورات AT Command، دیوایس را از طریق ارتباط Serial کنترل کنید. در مود فلش Flash،میتوانید یک فرمور جدید آپلود کنید تا دستگاه کاری متفاوت انجام دهد. روش پروگرام کردن اصلی به صورت زیر است:

  • انتقال به مود Flash:  برای اینکار GPIO0 را به GND اتصال دهید.
  • آپلود برنامه
  • انتقال به مود RUN: برای اینکار GPIO0 را به ۳٫۳ ولت اتصال دهید.

در حالت پیشفرض، ESP8266 برنامه را در حافظه Flash اجرا می‌کند. جهت آپلود یک فرمور firmware جدید از طریق ارتباط سریال serial، باید مود بوت Boot را تغییر دهید که برای اینکار می‌بایست GPIO0 را به GND در حالت ریست Reset اتصال دهید. در این حالت GPIO15 در هنگام بوت شدن باید LOW و GPIO2 باید High گردد. در این حالت GPIO نیاز به یک مقاومت Pulldown دارد، که در این حالت یک مقاومت داخلی Pullup بر سر راه GPIO2 قرار گرفته شده و دیگر نیازی به اضافه کردن مقاومت دیگری نیست. جهت جلوگیری از اتصال کوتاه در پایه GPIO0 پیشنهاد می‌شود که یک مقاومت به صورت سری در سر راه آن قرار دهید تا جریان عبوری را کاهش دهد.

جهت برطرف شدن ارور espcomm_sync failed error: espcomm_open failed error، موارد زیر را اجرا کنید:

  1. ابتدا برد Nodemcu را از طریق کابل مناسب انتقال دیتا به لپتاپ اتصال دهید.
  2. سپس از طریق کابل پایه GPIO0 را به GND اتصال دهید.
  3. کلید Reset را فشار دهید.
  4. برنامه مورد نظر را آپلود کنید.
  5. پس از آپلود برنامه، اتصالات را جدا کنید.
  6. ارور برطرف خواهد شد.

 


شیلد توسعه Nodemcu CH340


شیلد توسعه Nodemcu فقط برای مدل CH340 طراحی شده است. دسترسی سریع و آسان به پایه های GPIO و اشتراک گرفتن از پایه ها از ویژگی مثبت این برد می‌باشد. از نکات قابل توجه می‌توان به جک آداپتوری قرار گرفته شده بر روی شیلد اشاره کرد که نیاز کاربران را در خصوص تغذیه جداگانه اشاره کرد.

شیلد توسعه برد Nodemcu بر پایه ESP8266 اینترنت اشیاء Node MCU Base Shield

 


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


برد NodeMCU بر پایه ESP8266 با تراشه CH340G 

 

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

 

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

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

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

۶۹ دیدگاه

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

      • سلام من کد زیر رو روی nodemcu اپلود کردم اما کار نمی کنه میشه کمک کنید.ممنون
        #include

        const char* ssid = “your-ssid”;
        const char* password = “your-password”;

        // Create an instance of the server
        // specify the port to listen on as an argument
        WiFiServer server(80);

        void setup() {
        Serial.begin(115200);
        delay(10);

        // prepare GPIO2
        pinMode(2, OUTPUT);
        digitalWrite(2, 0);

        // Connect to WiFi network
        Serial.println();
        Serial.println();
        Serial.print(“Connecting to “);
        Serial.println(ssid);

        WiFi.begin(ssid, password);

        while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(“.”);
        }
        Serial.println(“”);
        Serial.println(“WiFi connected”);

        // Start the server
        server.begin();
        Serial.println(“Server started”);

        // Print the IP address
        Serial.println(WiFi.localIP());
        }

        void loop() {
        // Check if a client has connected
        WiFiClient client = server.available();
        if (!client) {
        return;
        }

        // Wait until the client sends some data
        Serial.println(“new client”);
        while(!client.available()){
        delay(1);
        }

        // Read the first line of the request
        String req = client.readStringUntil(‘\r’);
        Serial.println(req);
        client.flush();

        // Match the request
        int val;
        if (req.indexOf(“/gpio/0”) != -1)
        val = 0;
        else if (req.indexOf(“/gpio/1”) != -1)
        val = 1;
        else {
        Serial.println(“invalid request”);
        client.stop();
        return;
        }

        // Set GPIO2 according to the request
        digitalWrite(2, val);

        client.flush();

        // Prepare the response
        String s = “HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\nGPIO is now “;
        s += (val)?”high”:”low”;
        s += “\n”;

        // Send the response to the client
        client.print(s);
        delay(1);
        Serial.println(“Client disonnected”);

        // The client will actually be disconnected
        // when the function returns and ‘client’ object is detroyed
        }

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

  • سلام وقت بخیر
    جدیدا هر چی برد node mcu وارد میشه داخل توضیحات سایتشون نوشته nodemcu lora!
    و اینکه نوشته شده با زبان Lora میشه باهاشون کار کرد.
    یعنی دیگه نمیشه با اردوینو باهاشون کار کنیم؟

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

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

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

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

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

  • سلام من کد زیر رو روی nodemcu اپلود کردم اما کار نمی کنه میشه لطفا راهنمایی کنید. ممنون میشم.‌‌‌
    #include

    const char* ssid = “your-ssid”;
    const char* password = “your-password”;

    // Create an instance of the server
    // specify the port to listen on as an argument
    WiFiServer server(80);

    void setup() {
    Serial.begin(115200);
    delay(10);

    // prepare GPIO2
    pinMode(2, OUTPUT);
    digitalWrite(2, 0);

    // Connect to WiFi network
    Serial.println();
    Serial.println();
    Serial.print(“Connecting to “);
    Serial.println(ssid);

    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(“.”);
    }
    Serial.println(“”);
    Serial.println(“WiFi connected”);

    // Start the server
    server.begin();
    Serial.println(“Server started”);

    // Print the IP address
    Serial.println(WiFi.localIP());
    }

    void loop() {
    // Check if a client has connected
    WiFiClient client = server.available();
    if (!client) {
    return;
    }

    // Wait until the client sends some data
    Serial.println(“new client”);
    while(!client.available()){
    delay(1);
    }

    // Read the first line of the request
    String req = client.readStringUntil(‘\r’);
    Serial.println(req);
    client.flush();

    // Match the request
    int val;
    if (req.indexOf(“/gpio/0”) != -1)
    val = 0;
    else if (req.indexOf(“/gpio/1”) != -1)
    val = 1;
    else {
    Serial.println(“invalid request”);
    client.stop();
    return;
    }

    // Set GPIO2 according to the request
    digitalWrite(2, val);

    client.flush();

    // Prepare the response
    String s = “HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\nGPIO is now “;
    s += (val)?”high”:”low”;
    s += “\n”;

    // Send the response to the client
    client.print(s);
    delay(1);
    Serial.println(“Client disonnected”);

    // The client will actually be disconnected
    // when the function returns and ‘client’ object is detroyed
    }

  • سلام وقت بخیر: esp8266-e12 چند وقتی هست کار میکنم . اوایل خوب بود پروژه ها را اجرا می کرد. اما بعد از مدتی برنامه روی ان که اپلود می کنیم اجرا نمی کند برنامه ها را فقط اپلود میشه. چند تا دیگه مثل مدل ۰۱ هم اینطوری شده. علت چی هست؟

  • متاسفانه مشکل برطرف نشد.طبق مراحلی که توضیح دادید عمل کردم ولی همون خطا ظاهر میشه.
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    • سلام مجدد
      این ارور در بسیاری از موارد برای برد nodemcu به وجود می‌آید و بایستی تمامی موارد بررسی گردد.
      ورژن نرم افزار آردوینو چیست؟

        • سلام مجدد
          اکیدا توصیه می‌شود آخرین ورژن های توسعه یافته را دانلود نکنید. ممکن است در برخی موارد ارور دریافت نمایید.
          پیشنهاد می‌شود به نسخه ۱٫۸٫۵ برگشته و مجدد برد را تست نمایید. بررسی و نتیجه را از همین طریق اعلام فرمایید.

  • سلام
    ۱ – من می‌تونم روی برد NodeMCU CP2102 برنامه بریزم و برنامه هم درست کار میکنه فقط دستورت AT ماژول کلا از کار افتاده و به هیچ دستور AT پاسخی نمیده
    احتمالا فرمور AT رونویسی شده، چیکار باید کنم تا ماژول به حالت اولش برگرده ؟

    ۲ – چرا نمیتونم توی ویندوز Xp با NodeMCU کار کنم یعنی آردوینو اصلا کامپایل نمی کنه و ارور میده در صورتیکه در ویندوز ۷ دقیقا همون ورژن با همون کتابخونه هایی که نصب شده کار میکنه، اینم پیام خطا

    panic: Failed to find GetFileInformationByHandleEx procedure in kernel32.dll: The specified procedure could not be found.

    goroutine 1 [running]:
    syscall.(*LazyProc).mustFind(0x204459e0)
    /home/jenkins/go1.12.5/src/syscall/dll_windows.go:311 +0x42
    syscall.(*LazyProc).Addr(0x204459e0, 0xdda500)
    /home/jenkins/go1.12.5/src/syscall/dll_windows.go:318 +0x21
    internal/syscall/windows.GetFileInformationByHandleEx(0x778, 0x9, 0x20475a04, 0x8, 0x3, 0x20423348)
    /home/jenkins/go1.12.5/src/internal/syscall/windows/zsyscall_windows.go:353 +0x27
    os.newFileStatFromGetFileInformationByHandle(0x20441500, 0x3c, 0x778, 0x0, 0x20441500, 0x3c)
    /home/jenkins/go1.12.5/src/os/types_windows.go:52 +0x135
    os.(*File).Stat(0x20442ee0, 0x984490, 0x20442ee0, 0x0, 0x20442ee0)
    /home/jenkins/go1.12.5/src/os/stat_windows.go:55 +0x133
    io/ioutil.ReadFile(0x20441500, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0)
    /home/jenkins/go1.12.5/src/io/ioutil/ioutil.go:62 +0xac
    github.com/arduino/go-paths-helper.(*Path).ReadFile(…)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/go-paths-helper/paths.go:407
    github.com/arduino/arduino-cli/arduino/cores/packageindex.LoadIndex(0x20442ed8, 0xa29e60, 0x20451d40, 0x0)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packageindex/index.go:205 +0x2f
    github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).LoadPackageIndexFromFile(0x2050cca0, 0x20442ed8, 0x0, 0x0, 0x20442ed8)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/package_manager.go:202 +0x25
    github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).loadPlatforms(0x2050cca0, 0x2049d5f0, 0x20442e18, 0x7, 0x2044cba8)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/loader.go:186 +0xf4d
    github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).LoadHardwareFromDirectory(0x2050cca0, 0x20442bf8, 0xdda500, 0x703815)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/loader.go:116 +0x43f
    github.com/arduino/arduino-cli/arduino/cores/packagemanager.(*PackageManager).LoadHardwareFromDirectories(0x2050cca0, 0x2044aa90, 0x3, 0x4, 0x1, 0x1)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/arduino/cores/packagemanager/loader.go:52 +0x4f
    github.com/arduino/arduino-cli/legacy/builder.(*HardwareLoader).Run(0xdebc68, 0x204ec5a0, 0xdebc68, 0x0)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/hardware_loader.go:43 +0xe4
    github.com/arduino/arduino-cli/legacy/builder.(*ContainerSetupHardwareToolsLibsSketchAndProps).Run(0xdebc68, 0x204ec5a0, 0xdebc68, 0xdda500)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_setup.go:60 +0x266
    github.com/arduino/arduino-cli/legacy/builder.runCommands(0x204ec5a0, 0x20475f0c, 0x2, 0x2, 0xffffff01, 0x0, 0x4)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:210 +0xbd
    github.com/arduino/arduino-cli/legacy/builder.(*ParseHardwareAndDumpBuildProperties).Run(0x20475f40, 0x204ec5a0, 0xdebbb4, 0x20442c98)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:198 +0xbc
    github.com/arduino/arduino-cli/legacy/builder.RunParseHardwareAndDumpBuildProperties(…)
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:231
    main.main()
    /home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-builder/main.go:388 +0x772
    E:\Program Files\Arduino\arduino-builder returned 2

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

    • با سلام
      در این خصوص روش های مختلفی جهت تست و برطرف شدن ارور وجود دارد که بایستی تست شود. پیشنهاد می‌شود تغذیه nodemcu در عدم برقراری ارتباط AT Command را بررسی کنید. در خصوص ویندوز بی ارتباط است و پیشنهاد می‌شود ورژن آردوینو را تغییر دهید.

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

      • با سلام
        با یک کابل پایه gpio0 را به GND متصل کنید. سپس زمانیکه برنامه در حال آپدیت است، یکبار کلید ریست را بزنید و منتظر بمانید تا کد آپلود شود.

  • سلام برنامه ساده چشمک زن داخل رابط آردوینو رو برای Node mcu Amico استفاده کردم. برای آپلود این خطا رو میده.

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

  • سلام تمام مراحل رو انجام دادم اما مشکل رفع نشد.
    این ارور آپلود کد هنوز هست.
     espcomm_sync failed

    با کابل مادگی به مادگی پایه D3 رو به G وصل کردم و بعد دکمه ریست زدم.

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

    • با سلام
      کاربر گرامی ضمن تشکر از شما، این مشکل نرم افزاری است و با آپدیت نرم افزار آردوینو و پکیج ESP8266 تداخل ارتباط وجود دارد. در این خصوص بایستی ورژن آردوینو و ورژن ESP8266 را تغییر دهید. طبق آخرین تست تیم فنی ورژن ۱٫۸٫۱۰ آردوینو و ورژن ۲٫۳٫۰ پکیج ESP8266 بدون مشکل کامپایل می‌شود. بررسی و نتیجه را از همین طریق اعلام فرمایید.

      • بله بدون مشکل کامپایل میشه با ورژنی که فرمودید اما ارور espcomm_sync failed و … هنوز پا برجاست.
        با روش های این صفحه هم متاسفانه رفع نشد.

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

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

              • از کد هایی استفاده کردم که در همین سایت وجود داره.
                کنترل وسایل برقی با nodemcu.
                البته کد های خیلی ساده مثل کد معروف خاموش روشن کردن led که جهت تست توی همه سایت ها هست رو هم زدم همین ارور وجود داره.
                هم کد هم برد از مجموعه دانشجوکیت و دیجی اسپارک تهیه شده.

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

                  • تمام ورژن های آردوینو ide و پکیج esp8266 تست شده.
                    با دو ویندوز ۷ و ۱۰ و لینوکس ubuntu هم تست کردم، تمام ورژن ها رو.
                    در هیچ کدوم مشکل کامپایل کد ندارم اما در بعضی ورژن ها ارور espcom sync faild و در باقی ورژن ها مشکل گیر کردن توی connecting . . . رو دارم.
                    تایید بنده به دلیل عدم آگاهی بنده با برد و نرم افزار آردوینو بوده. توی همون پیام مثلا تایید سلامت برد هم عرض کردم که ارور از شکلی به شکل دیگه تغییر یافته(از کانکتینگ به ارور سینک که همونجا هم درخواست برای حل اون مشکل دادم و ارجاع داده شدم به ابنجا).

                    فرموده سرکارعالیه هم انجام شد . لینک تصویر : http://uupload.ir/files/bv3i_20200629_191816.jpg

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

  • سلام وقت بخیر
    مهندس من روند بالا انجام دادم ادرسم که گذاشتین داخل url گذاشتم اما وقتی داخل برد منیجر esp8266 سرچ میکنم هیچی نشونم نمیده توی دو نسخه ۱.۸.۵ و ۱.۸.۱۳ تست کردم نتیجه یکسان بود سیستم هم به نت وصله و مشکلی نداره فایل کتاب خونه رو از کجا مبتونم گیر بیارم که دستی داخل دایکیومنت خودم بزارم؟

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

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

    از نرم افزار socket protocol برای تبادل دیتا استفاده کردم.

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

  • سلام من در نصب ESP8266 روی آردوینو مشکل دارم. با اینکه از ورژن ۱۸٫۱۰ اردوینو و ورژن ۲٫۳٫۰ اون میکروکنترلر ESP استفاده کردم…موقع اینستال تا وسط پروسه انجام میشه ولی بعدش ارور میده…یک ارور یکسان در طی ۵ بار نصبی که امتحان کردم و ناموفق بود…ممنون میشم راهنماییم کنید چه کنم؟
    نمیدونم چطور عکس اروری که میده بفرستم براتون.

  • سلام
    من پین RX برد رو در حالت OUTPUT قرار دادم و پین رو LOW کردم و دیگه ارتباط سریال کاملا بسته شده حتی دیگه کد هم آپلود نمیشه میخواستم ببینم راهی هست که این پین رو باز کنم

  • سلام من با این خطا مواجع میشم
    Arduino: 1.8.5 (Windows 10), Board: “Generic ESP8266 Module, Serial, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), nodemcu, Disabled, None”

    Archiving built core (caching) in: C:\Users\98917\AppData\Local\Temp\arduino_cache_842375\core\core_esp8266_esp8266_generic_UploadTool_esptool,CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_nodemcu,Debug_Disabled,DebugLevel_None_____8f3c349708d6155fae1cf486cafc8d37.a
    Sketch uses 231133 bytes (53%) of program storage space. Maximum is 434160 bytes.
    Global variables use 31660 bytes (38%) of dynamic memory, leaving 50260 bytes for local variables. Maximum is 81920 bytes.
    C:\Users\98917\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.8/esptool.exe -vv -cd nodemcu -cb 115200 -cp COM9 -ca 0x00000 -cf C:\Users\98917\AppData\Local\Temp\arduino_build_254926/dht11_in_thing_speak.ino.bin
    esptool v0.4.8 – (c) 2014 Ch. Klippel
    setting board to nodemcu
    setting baudrate from 115200 to 115200
    setting port from COM1 to COM9
    setting address from 0x00000000 to 0x00000000
    espcomm_upload_file
    espcomm_upload_mem
    setting serial port timeouts to 1000 ms
    opening bootloader
    resetting board
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    resetting board
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    resetting board
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    trying to connect
    flush start
    setting serial port timeouts to 1 ms
    setting serial port timeouts to 1000 ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    read 0, requested 1
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    برای برد آردوینو UNO+WIFI دارای پردازنده ATmega328P+ESP8266 و مبدل CH340G

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

  • سلام وقتتون بخیر…ببخشید Nodemcu قابلیت اتصال به سایر میکروکنترلر ها رو هم داره؟مثلا stm32 یا فقط آردوینو؟ممکن هست نحوه اتصال nodemcu به stm32 رو بگید؟

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

  • سلام من تمامی مراحل که گفتین رو انجام دادم حتی توی کامنتها هم هرچی گفتین انجام دادم ولی باز فایده ای نداشت و ارور همیشه رو میده warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    ورژن آردینو ۱٫۸٫۵
    پکیج ۲٫۳٫۰
    و ماژون esp8266 دارم
    کابل مطمعا و نو
    به gndهم وصل کردم باز فایده ای نداشت
    مرسی اگه راهنمایی کنین

    • با سلام
      با یک مبدل سریال به USB باید امتحان کنید
      برای این مورد برد را به رایانه متصل کنید
      سپس مبدل سریال را به صورت زیر به برد متصل کنید:
      پایه rx مبدل به پایه tx برد
      پایه tx مبدل به پایه rx برد
      پایه gnd مبدل به پایه gnd برد
      حال از منوی tools و قسمت پورت، پورتی که به مبدل اختصاص داده شده را انتخاب کنید و برنامه را آپلود کنید
      پیش از آپلود برنامه پایه D3 را به زمین متصل کنید، سپس تغذیه برد را یکبار قطع و وصل کنید و بعد برنامه را آپلود کنید

  • با سلام و احترام
    برنامه زیر را در ESP8266 آپلود کردم و به وای فای متصل میشه ،ولی پس از ارسال پیام on چراغ آبی برد خاموش میشه و صفخه مرور گر پیغام خطای عدم پاسخ میده.
    ممنون میشم راهنمایی کنید
    #include
    #include
    #include
    #include

    MDNSResponder mdns;

    const char* ssid = “bbb”; // your connection name
    const char* password = “ss1234567890”; // your connection password

    ESP8266WebServer server(80);

    int gpio1_pin = 2; // D4 of nodemcu
    int gpio2_pin = 13; // D7 of nodemcu
    int gpio3_pin =14; // D5 of nodemcu

    //Check if header is present and correct
    bool is_authentified(){
    Serial.println(“Enter is authentified”);
    if (server.hasHeader(“Cookie”)){
    Serial.print(“Found cookie: “);
    String cookie = server.header(“Cookie”);
    Serial.println(cookie);
    if (cookie.indexOf(“ESPSESSIONID=1”) != -1) {
    Serial.println(“Authentification Successful”);
    return true;
    }
    }
    Serial.println(“Authentification Failed”);
    return false;
    }

    //login page, also called for disconnect
    void handleLogin(){
    String msg;
    if (server.hasHeader(“Cookie”)){
    Serial.print(“Found cookie: “);
    String cookie = server.header(“Cookie”);
    Serial.println(cookie);
    }
    if (server.hasArg(“DISCONNECT”)){
    Serial.println(“Disconnection”);
    server.sendHeader(“Location”,”/login”);
    server.sendHeader(“Cache-Control”,”no-cache”);
    server.sendHeader(“Set-Cookie”,”ESPSESSIONID=0″);
    server.send(301);
    return;
    }
    if (server.hasArg(“USERNAME”) && server.hasArg(“PASSWORD”)){
    if (server.arg(“USERNAME”) == “admin” && server.arg(“PASSWORD”) == “root” ) // enter ur username and password you want
    {
    server.sendHeader(“Location”,”/”);
    server.sendHeader(“Cache-Control”,”no-cache”);
    server.sendHeader(“Set-Cookie”,”ESPSESSIONID=1″);
    server.send(301);
    Serial.println(“Log in Successful”);
    return;

    }

    msg = “Wrong username/password! try again.”;
    Serial.println(“Log in Failed”);
    }
    String content = “ Log In “;
    content += ” UserName:“;
    content += “Password:“;
    content += “” + msg + ” “;
    server.send(200, “text/html”, content);
    }

    //root page can be accessed only if authentification is ok
    void handleRoot(){
    Serial.println(“Enter handleRoot”);
    String header;
    if (!is_authentified()){
    server.sendHeader(“Location”,”/login”);
    server.sendHeader(“Cache-Control”,”no-cache”);
    server.send(301);
    return;
    }
    String content = “HOME AUTOMATIONSwitch #1 ON OFF“;
    content += “Switch #2 ON OFF“;
    content += “Switch #3 ON OFF“;
    content += “Developed by RUCHIR SHARMA “;
    content += ” Posted by: Ruchir Sharmaruchir1677@gmail.com.”;

    if (server.hasHeader(“User-Agent”)){
    content += “the user agent used is : ” + server.header(“User-Agent”) + “”;

    }
    content += “You can access this page until you disconnect“;
    server.send(200, “text/html”, content);
    }

    //no need authentification
    void handleNotFound(){
    String message = “File Not Found\n\n”;
    message += “URI: “;
    message += server.uri();
    message += “\nMethod: “;
    message += (server.method() == HTTP_GET)?”GET”:”POST”;
    message += “\nArguments: “;
    message += server.args();
    message += “\n”;
    for (uint8_t i=0; i<server.args(); i++){
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
    }
    server.send(404, "text/plain", message);
    }

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

  • سلام من یک Nodemcu esp8266 خریدم پشت برد نوشته Nodemcu Amica (نمیدونم تاثیری داره یا نه)
    در حالت عادی که به لب تاپ وصل میکنم که پراغش روشن نمیشه و توی محیط برنامه نویسی آردواینو کلا میگه متصل نیست زمانی که D3 به GND وصل میکنم اوکی میشه و در حین آپلود کد پشمک زد میشه چراغ اما باز هم کد آپلود نیمشه و ارور زیر رو میشده(یدون هم پورت بیشتر نداره COM6)
    ممنون میشم کمک کنید خیلی زمانمو گرفته
    File “C:/Users/Brain_Hit/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/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: Invalid head of packet (0x00)
    esptool.FatalError: Failed to connect to ESP8266: Invalid head of packet (0x00)