در پروژه های اینترنت اشیا 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 را نصب کنید.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
از منو 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، موارد زیر را اجرا کنید:
- ابتدا برد Nodemcu را از طریق کابل مناسب انتقال دیتا به لپتاپ اتصال دهید.
- سپس از طریق کابل پایه GPIO0 را به GND اتصال دهید.
- کلید Reset را فشار دهید.
- برنامه مورد نظر را آپلود کنید.
- پس از آپلود برنامه، اتصالات را جدا کنید.
- ارور برطرف خواهد شد.
شیلد توسعه Nodemcu CH340
شیلد توسعه Nodemcu فقط برای مدل CH340 طراحی شده است. دسترسی سریع و آسان به پایه های GPIO و اشتراک گرفتن از پایه ها از ویژگی مثبت این برد میباشد. از نکات قابل توجه میتوان به جک آداپتوری قرار گرفته شده بر روی شیلد اشاره کرد که نیاز کاربران را در خصوص تغذیه جداگانه اشاره کرد.
شیلد توسعه برد Nodemcu بر پایه ESP8266 اینترنت اشیاء Node MCU Base Shield
وسایل مورد نیاز
برد NodeMCU بر پایه ESP8266 با تراشه CH340G
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
با سلام
نزدیک به دو هفتس که درگیر این مشکل هستم و سرچ انگلیسی میکردم و به نتیجه ای نرسیدم
با دیدن آموزش شما واقعا شوکه شدم و مشکل حل شد.
بی نهایت از تلاش های شما ممنونم خانم مهندس
با سلام
از توجه و دقت نظر شما ممنونم.
سلام من کد زیر رو روی 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 میباشد. یک زبان برنامه نویسی مناسب برای IoT است. ربطی به Lora ندارد.
اره بد نوشتم. خب با این nodemcu lua میشه با محیط اردوینو کد نویسی کرد؟
با سلام
زبان برنامه نویسی Lua کلا مجزا است. اگر بردی که میفرمایید دارای فریمور مخصوص Lua باشد، در برنامه نویسی و کار با آردوینو IDE با مشکل مواجه خواهید شد. رفع این موارد هم کمی کار پیچیده ای است.
با سلام.
من یک فریمور روی nodemcu ریختم که دستورات at را پشتیبانی کند. و البته بعد از نصب فریمور دستوران at کار میکنند ولی متاسفانه برنامههای که با IDE روی برد مینویسم دیگر اجرا نمیشوند. اسکچ ها آپلود میشوند ولی اتفاقی نمیافتد.
میخواستم بپرسم برای درست شدن برد، باید فریمور پاک بشه؟
بدون فریمور هم برد قابلیت کار دارد؟
با سلام
دستکاری در فریمور ماژولها موضوعی نیست که به سادگی قابل پیگیری باشد. با توجه به اینکه دقیقا نمیدانم شما چه کاری کردهاید، امکان رسیدگی به این موضوع وجود ندارد. پیشنهاد میکنم بدون اتلاف وقت، یک برد دیگر تهیه کنید.
باسلام من تامرحله ای که باید سرچ کنیesp8266رفتم ولی نیاورد
با سلام
در کدام مرحله مشکل دارید، اعلام کنید تا راهنمایی شود.
سلام؛
ببخشید که یکم سوالم نامربوطه ولی خُب بی ارتباط هم نیست …..
ما میدونیم که در صورتی که قابلیت وای فای یک دیوایس روشن باشه، اون دیوایس دائم مک آدرسش رو برای روترهای اطراف خودش میفرسته و از این موضوع میشه به نوعی برای ردیابی حرکات شخص استفاده کرد.
سوال من اینه که ما میتونیم این مک آدرس ارسالی از جانب دیوایس رو از روتر استخراج کنیم؟
آیا این مک آدرس ها که توسط طیف مختلفی از دیوایس ها ارسال میشن در یک جای خاص ذخیره میشن؟
چون فقط مک آدرس هایی که به روتر متصل باشن رو میشه شناسایی کرد.
ممنون میشم پاسخ بدین…..
با سلام
ردیابی از طریق وای فای امکان پذیر نیست. برای این منظور بایستی از بلوتوث استفاده شود. در خصوص مک آدرس با توجه به نیازمندی جنابعالی، بنده اطلاعاتی ندارم. از دیگر کاربرانی که در این خصوص تجربه کاری دارند، تقاضا دارم تا در این بحث شرکت کنند.
سلام من کد زیر رو روی 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 چند وقتی هست کار میکنم . اوایل خوب بود پروژه ها را اجرا می کرد. اما بعد از مدتی برنامه روی ان که اپلود می کنیم اجرا نمی کند برنامه ها را فقط اپلود میشه. چند تا دیگه مثل مدل ۰۱ هم اینطوری شده. علت چی هست؟
با سلام
دستورات AT روی ماژول ست کردهاید؟
متاسفانه مشکل برطرف نشد.طبق مراحلی که توضیح دادید عمل کردم ولی همون خطا ظاهر میشه.
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 و … هنوز پا برجاست.
با روش های این صفحه هم متاسفانه رفع نشد.
با سلام
لطفا یک تصویر از ارور ضمیمه نمایید تا بررسی شود.
http://uupload.ir/files/x364_20200623_190002.jpg
ارور دریافتی اینجانب.
با سلام
موارد مورد نیاز جهت تست در کامنت های قبل اعلام شده است. این مشکل نرم افزاری است و بایستی با تغییر ورژن نرم افزار و پکیج esp8266 تست نمایید.
اینم کل متنای توی اون باکس پایین نرم افزار آردوینو.
http://uupload.ir/view/x8xv_console.txt
با سلام
از چه برنامه ای استفاده شده است؟ آیا کتابخانه ای در کدها وجود دارد؟
از کد هایی استفاده کردم که در همین سایت وجود داره.
کنترل وسایل برقی با nodemcu.
البته کد های خیلی ساده مثل کد معروف خاموش روشن کردن led که جهت تست توی همه سایت ها هست رو هم زدم همین ارور وجود داره.
هم کد هم برد از مجموعه دانشجوکیت و دیجی اسپارک تهیه شده.
با سلام
کاربر گرامی در این خصوص بایستی ورژن های مختلف از نرم افزار آردوینو و پکیج ESP8266 را نصب و یک به یک بررسی نمایید. دقت داشته باشید برد کاملا سالم است و طبق تیکت ارسال شده توسط شما در پرتال پشتیبانی در ابتدا توسط شما تایید داده شده است.
همچنین جهت بررسی مجدد لطفا برد Nodemcu را بدون هیچ برنامه ای در صفحه پیش فرض نرم افزار آردوینو کامپایل کرده و عکس را ارسال نمایید تا مجدد برای شما بررسی و رفع عیب شود.
تمام ورژن های آردوینو ide و پکیج esp8266 تست شده.
با دو ویندوز ۷ و ۱۰ و لینوکس ubuntu هم تست کردم، تمام ورژن ها رو.
در هیچ کدوم مشکل کامپایل کد ندارم اما در بعضی ورژن ها ارور espcom sync faild و در باقی ورژن ها مشکل گیر کردن توی connecting . . . رو دارم.
تایید بنده به دلیل عدم آگاهی بنده با برد و نرم افزار آردوینو بوده. توی همون پیام مثلا تایید سلامت برد هم عرض کردم که ارور از شکلی به شکل دیگه تغییر یافته(از کانکتینگ به ارور سینک که همونجا هم درخواست برای حل اون مشکل دادم و ارجاع داده شدم به ابنجا).
فرموده سرکارعالیه هم انجام شد . لینک تصویر : http://uupload.ir/files/bv3i_20200629_191816.jpg
با سلام
مجدد از طریق پرتال پشتیبانی اقدام فرمایید تا بررسی شود. با توجه به تایید شما موارد جهت پیگیری به تاخیر افتاده است و بایستی با کارشناس تمامی مراحل را بدون تاخیر دنبال فرمایید.
با سلام هر کاری کردم در پروگرام کرد برد ESP8266 NODEMCU CH340 به مشگل می خورم
با سلام
کاربر گرامی ارور دریافتی را ضمیمه کنید تا بررسی شود.
سلام
چطور میشه با گوشی اندوریدی به این ماژول متصل شد و اطلاعات ردو بدل کرد؟
با سلام
در این خصوص از آموزش های زیر میتوانید استفاده کنید.
کنترل وسایل برقی با WIFI توسط ماژول ESP8266 و اپلیکیشن اندروید
آموزش ساخت اپلیکیشن اختصاصی اندروید برای بردهای آردوینو Arduino
سلام وقت بخیر
مهندس من روند بالا انجام دادم ادرسم که گذاشتین داخل url گذاشتم اما وقتی داخل برد منیجر esp8266 سرچ میکنم هیچی نشونم نمیده توی دو نسخه ۱.۸.۵ و ۱.۸.۱۳ تست کردم نتیجه یکسان بود سیستم هم به نت وصله و مشکلی نداره فایل کتاب خونه رو از کجا مبتونم گیر بیارم که دستی داخل دایکیومنت خودم بزارم؟
با سلام
در ابتدا کانکشن اینترنت را بررسی کنید که بر روی سیستم فعال باشد. روش دیگری توسط من تست نشده است. url را دقیقا کپی و مجدد تست کنید.
سلام.
در قسمت سریال مانیتورینگ، ماژول esp دیتا ارسال میکند ولی توانایی دریافت کاراکترهایی که با گوشی به ماژول ارسال شده را ندارد، ممنون میشم راهنمایی کنید.
از نرم افزار socket protocol برای تبادل دیتا استفاده کردم.
با سلام
کاربر گرامی این مورد توسط بنده تا به حال تست نشده است.
از دیگر کاربرانی که در این مورد اطلاعاتی دارند، تقاضا میکنم در بحث شرکت کنند.
سلام من در نصب ESP8266 روی آردوینو مشکل دارم. با اینکه از ورژن ۱۸٫۱۰ اردوینو و ورژن ۲٫۳٫۰ اون میکروکنترلر ESP استفاده کردم…موقع اینستال تا وسط پروسه انجام میشه ولی بعدش ارور میده…یک ارور یکسان در طی ۵ بار نصبی که امتحان کردم و ناموفق بود…ممنون میشم راهنماییم کنید چه کنم؟
نمیدونم چطور عکس اروری که میده بفرستم براتون.
با سلام
عکس را از طریق لینک ارسال کنید تا بررسی شود.
[URL=https://uupload.ir/][IMG]https://uupload.ir/files/stwc_error.png[/IMG][/URL]
با سلام
لینک صحیح نیست.
سلام
من پین 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)
با سلام
تراشه برد ch340 است یا cp2102?
سلام ممنون بابت پاسخگوییتون
CP2102 DCLOOX2108+
پیشنهاد میکنم از یک مبدل usb ttl برای پروگرام کردن برد استفاده کنید.
سلام برای آپلود GIPO0 رد به ۳٫۳ وصل کنم چیزیش نمیشه شما برای تصویر مقاومت هم زده بودین
با سلام
باید به GND متصل شود نه به تغذیه
در آموزش کامل نوشته شده است.
ممنون از پاسخگویی تون
سپاس از همراهی شما کاربر گرامی
با تشکر از آموزش خوبتون
درایور CH340G رو از کجا میتونم دانلود کنم؟
با سلام
از صفحه زیر در بخش دانلودها دریافت کنید.
https://daneshjookit.com/board/arduino/%D8%A8%D8%B1%D8%AF-%D8%A2%D8%B1%D8%AF%D9%88%DB%8C%D9%86%D9%88-arduino/628-62-%D8%A8%D8%B1%D8%AF-%D8%A2%D8%B1%D8%AF%D9%88%DB%8C%D9%86%D9%88-arduino-uno-smd.html#/36-%D9%86%D9%88%D8%B9_%DA%A9%D8%A7%D8%A8%D9%84-%D8%A8%D8%AF%D9%88%D9%86_%DA%A9%D8%A7%D8%A8%D9%84_%D9%85%D8%AE%D8%B5%D9%88%D8%B5
سلام من تجربه کار با برد esp01 را دارم و در کار با آن به مشکلاتی برخورد کردم که توانسته ام آنها را برطرف کنم . تصمیم گرفتم از بورد esp12 در پروژه هایم استفاده کنم که یک بوردwitty cloud خریداری کردم. همه چیز را درست اتصال می دهم . پورت را شناسایی میکند نرم افزار اردینو . ولی برنامه آپلود نمی شود و این error را نمایش میدهد:
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
تمامی ورژن های پکیج ای اس پی ۸۲۶۶ را در آردینو تست کردم ولی مشکل حل نشد.
تمامی بورد هارا از بورد منیجر تست کردم بازم مشکل حل نشد. خیلی سردرگم شدم. خواهش می کنم در حل این مشکل به من کمک کنید. لازم به ذکر است هنگام آپلود ای ای دی آبی بورد روشن میشود و چشمک های ضعیفی میزند ولی کد آپلود نمی شود و خطا می دهد.
با سلام
برد witty cloud روش راه اندازی متفاوتی دارد. بهتر است در یوتیوب مشکلتان را جستجو کنید.
سلام من با این روش ۶ مرحله ای که شما گفتین برای ارور اپلود انجام دادم ولی دوباره باز همون ارور داد بعد با اطمینان ارور خواهد شد