برد ESP8266 برد Nodemcu

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

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

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

 


معرفی برد 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 در هنگام آپلود


 

جهت دسترسی به این بخش از پروژه، اسپارکر پلاس شوید.

 

 


شیلد توسعه Nodemcu CH340


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

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

 

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

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

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

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

 

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

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

تولید کننده محتوا / کارشناس 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 میشه باهاشون کار کرد.
    یعنی دیگه نمیشه با اردوینو باهاشون کار کنیم؟

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

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

  • سلام من کد زیر رو روی 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 به وجود می‌آید و بایستی تمامی موارد بررسی گردد.
      ورژن نرم افزار آردوینو چیست؟

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