در پروژههای اینترنت اشیا IOT، ارتباط بیسیم به صورت وای فای از اهمیت ویژه ای برخوردار است. تراشه ESP8266 نیاز بسیاری از کاربران را در این مورد برطرف کرده است. بردهای متنوعی از تراشه داخلی ESP8266 بهره میبرند، که در این بین برد Nodemcu طرفداران خاص خودش را دارد. در این پست به بررسی برد Nodemcu مدل CP2102 میپردازیم. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
معرفی برد Nodemcu CP2102
برد Nodemcu ار تراشه داخلی وای فای ESP8266 طراحی شده است و در پروژه های DIY اینترنت اشیا بسیار کاربردی است. مدل های مختلفی برای Nodemcu با سری های متفاوت عرضه شده است که هر کدام ویژگی های منحصر به فرد خود را دارد. ولتاژ کاری برد Nodemcu CP2102 برابر با ۳٫۳ ولت است و همچنین از پین Vin بهره میبرد. طبق اطلاعات ارایه شده در دیتاشیت کالا، میتوان ورودی ۵ ولت را از طریق پایه Vin به برد اعمال کرد.
بررسی پایههای برد Nodemcu CP2102
برد کنترل اینترنت اشیا Nodemcu CP2102 بر خلاف مدل CH340 بدون نیاز به درایور توسط سیستم شناخته میشود. تنها کافیست همانند آموزش بخش اول پکیچ ESP8266 را نصب و راه اندازی کنید. آموزش کامل نصب پکیج ESP8266 در آموزش بخش اول Nodemcu توضیح داده شده است.
- ۱۳ پایه GPIO به ترتیب با D در تصویر زیر مشخص شده است.
- از سه پایه تغذیه ۳٫۳ ولت و چهار پایه GND تشکیل شده است و با رنگ قرمز و مشکی در تصویر مشخص شده است.
- جهت ارتباط SPI پایه های HMOSI، HCS، HMISO و HSCLK با رنگ سبز مشخص شده است.
- پایه های I2C به ترتیب D1 برابر SCL و D2 برابر با SDA میباشد.
- دقت کنید پایه A0 در واقع همان پایه ADC0 است که برای اتصال سنسورهای آنالوگ مورد استفاده قرار میگیرد.
- پایههای آبی رنگ به ترتیب پایه های ارتباط سریال TX و RX میباشد.
- پایه Vin جهت تغذیه جداگانه و ۵ ولت مورد استفاده قرار میگیرد.
راه اندازی برد Nodemcu
همانند بخش اول راه اندازی برد Nodemcu در هر دو مدل کاملا یکسان است. به بخش اول مراجعه کرده و طبق متن آموزش Nodemcu را در نرم افزار آردوینو Arduino IDE نصب و راه اندازی کنید. در بخش سوم اولین پروژه با برد Nodemcu را اجرا خواهیم کرد. در پست سری آموزشهای Nodemcu بخش اول; راه اندازی Nodemcu CH340 مشکلات مهم راه اندازی در مدل CH340 را بررسی کردیم.
وسایل مورد نیاز
برد NodeMCU بر پایه ESP8266 با تراشه CP2102 و بادریت ۹۶۰۰
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک و دانشجوکیت و digispark و daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام من به یه مشکل خوردم ممنون میشم کمکم کنید
موقع پروگذام کذدن ماژول چه برد به ماژول متصل بلشه چه نباشه من وقتی VERIFY رو میزنم ارور زیر رو میده چطور باید برطرفش کنم؟؟؟
Arduino: 1.8.9 (Windows 10), Board: “Generic ESP8266 Module, 80 MHz, Flash, Disabled, ck, 26 MHz, 40MHz, DOUT (compatible), 512K (no SPIFFS), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200”
Build options changed, rebuilding all
In file included from c:\programdata\matlab\supportpackages\r2018b\3p.instrset\arduinoide.instrset\idepkgs\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\algorithm:60:0,
from C:\ProgramData\MATLAB\SupportPackages\R2018b\3P.instrset\arduinoide.instrset\idepkgs\packages\esp8266\hardware\esp8266\2.5.0\cores\esp8266/Arduino.h:257,
from sketch\sketch_may09a.ino.cpp:1:
c:\programdata\matlab\supportpackages\r2018b\3p.instrset\arduinoide.instrset\idepkgs\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2\utility:68:28: fatal error: bits/c++config.h: No such file or directory
#include
^
compilation terminated.
exit status 1
Error compiling for board Generic ESP8266 Module.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
با سلام
از چه بردی استفاده میکنید؟
از NODEMCU و ماژول esp8266
از هر کدومشون استفاده میکنم ارور میده
چرا تو ارور ها از پوشه برنامه متلب نام برده؟؟؟
در صورت استفاده از برد Nodemcu، از قسمت انتخاب نوع برد بایستی بورد nodemcu را انتخاب کنید.
در خصوص ارور ممکن است در محل نصب کتابخانه ها تداخل ایجاد شده باشد.
سلام خسته نباشید ممنون میشم راهنماییم کنین
من بردم nodemcu cp2102 هست و مراحل راه اندازی رو طبق گفته شما انجام دادم ولی موقع کامپایل این ارور رو میده مشکل از کجاست؟
Arduino: 1.8.5 (Windows 8), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Enabled, 4M (no SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 115200”
Build options changed, rebuilding all
In file included from C:\Users\sam\Documents\Arduino\nodemcu-relay\nodemcu-relay.ino:3:0:
C:\Users\sam\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\sam\Documents\Arduino\libraries\UniversalTelegramBot
Not used: F:\Arduino\libraries\UniversalTelegramBot
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.h یافت شده است و باید از پوشه library آن را ادیت نمایید.
بررسی و نتیجه را از همین طریق اطلاع رسانی کنید.
خیلی ممنون از راهنماییتون مشکل حل شد
خواهش میکنم.
موفق باشید.
سلام و تشکر از مطالب و توضیحات کامل
در خصوص خرید برد Nodemcu دو مدل در سایت دانشجوکیت موجود است یکی Nodemcu cp2102 و دیگری nodemcuch340 هدف از پروژه گرفتن دمای سنسور و ارسال روی وب سرور است.
ممنون میشوم راهنمایی فرمایید.
با سلام
هر دو برد از لحاظ عملکرد یکسان هستند. تفاوتی ندارد کدام را تهیه کنید.
با سلام و احترام.
هنگام آپلود کد روی برد با این خطا مواجه میشوم.لطفا راهنمایی بفرمایید:
Arduino: 1.8.10 Hourly Build 2019/07/23 10:33 (Windows 7), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, 4M (1M SPIFFS), v2 Lower Memory, Disabled, None, Only Sketch, 9600”
\\ –
C:\Users\IOT_DEV\AppData\Local\Arduino15\packages\esp8266\tools\esptool\0.4.13/esptool.exe -vv -cd nodemcu -cb 9600 -cp COM3 -ca 0x00000 -cf C:\Users\IOT_DEV\AppData\Local\Temp\arduino_build_577678/Blink.ino.bin
esptool v0.4.13 – (c) 2014 Ch. Klippel
setting board to nodemcu
setting baudrate from 115200 to 9600
setting port from COM1 to COM3
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
An error occurred while uploading the sketch
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
با سلام
نوع تراشه ماژول Nodemcu مورد استفاده چیست؟
esp8266 ورژن ۰٫۱
تراشه مورد استفاده CH340 است و یا CP2102?
ch340g
جهت رفع مشکل از آموزش زیر استفاده نمایید.
سری آموزشهای Nodemcu بخش اول; رفع مشکل آپلود کد در CH340
سلام خانم مهندس
من یک برد node mcu با تراشه ۲۱۰۲ و بادریت ۹۶۰۰ خریداری کرده ام ولی در تنظیمات بادریت نرم افزار آردویینو این بادریت نیست که باعث مشکل در تبادل برنامه با برد میشه.لطفا راهنمایی فرمایید.
با سلام
بادریت را روی ۱۱۵۲۰۰ تست و نتیجه را اعلام فرمایید.
سلام
اگه بخواهیم تعداد پایه های آنالوگ را از یکی به چندتا افزایش بدهیم،چه کارکنیم؟
با سلام
در این خصوص از مبدل های آنالوگ به دیجیتال میتوانید استفاده کنید.
سلام
اگه بخواهیم تعداد پایه های آنالوگ را از یکی به چندتا افزایش بدهیم،چه کارکنیم؟
با سلام
در این خصوص از مبدل میتوانید استفاده کنید.
ماژول مبدل آنالوگ به دیجیتال با تراشه ADS1115 سرعت ۱۶ بیت ۴ کانال
سلام وقتتون بخیر ببخشید این راهنمای انجام پروزه که فرمودید کجا هست ؟ چطور میتونیم دریافتش کنیم ؟
با سلام
از طریق لینک زیر درخواست خود را ارسال کنید تا بررسی شود.
پرتال پشتیبانی فروشگاه
سلام من مشکل اپلود دارم این ارور رو میده
Arduino: 1.8.13 (Windows 10), Board: “NodeMCU 0.9 (ESP-12 Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), v2 Lower Memory, Disabled, None, Only Sketch, 115200”
Executable segment sizes:
IROM : 228624 – code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 26756 / 32768 – code in IRAM (ICACHE_RAM_ATTR, ISRs…)
DATA : 1248 ) – initialized variables (global, static) in RAM/HEAP
RODATA : 688 ) / 81920 – constants (global, static) in RAM/HEAP
BSS : 24880 ) – zeroed variables (global, static) in RAM/HEAP
Sketch uses 257316 bytes (24%) of program storage space. Maximum is 1044464 bytes.
Global variables use 26816 bytes (32%) of dynamic memory, leaving 55104 bytes for local variables. Maximum is 81920 bytes.
esptool.py v2.8
Serial port COM11
Connecting…….._____….._____….._____….._____….._____….._____…..____Traceback (most recent call last):
File “C:\Users\sizan-pc\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4/tools/upload.py”, line 65, in
esptool.main(cmdline)
File “C:/Users/sizan-pc/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py”, line 2890, in main
esp.connect(args.before)
File “C:/Users/sizan-pc/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: 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.
اگه ممکنه راهنماییم کنین.
با سلام
این مورد نرم افزاری است. ورژن کتابخانه ESP8266 و ورژن آردوینو را بایستی آپدیت و یا به ورژن های قبلی تغییر دهید.
سلام من موقع اپلود کد روی node mcu با ارور زیر مواجه می شوم
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, Only Sketch, 115200”
Executable segment sizes:
IROM : 226744 – code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 27008 / 32768 – code in IRAM (ICACHE_RAM_ATTR, ISRs…)
DATA : 1252 ) – initialized variables (global, static) in RAM/HEAP
RODATA : 672 ) / 81920 – constants (global, static) in RAM/HEAP
BSS : 24888 ) – zeroed variables (global, static) in RAM/HEAP
Sketch uses 255676 bytes (24%) of program storage space. Maximum is 1044464 bytes.
Global variables use 26812 bytes (32%) of dynamic memory, leaving 55108 bytes for local variables. Maximum is 81920 bytes.
esptool.py v2.8
Serial port COM6
Connecting…….._____….._____….._____….._____….._____….._____….._____
Traceback (most recent call last):
File “C:\Users\PAIA\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.2/tools/upload.py”, line 65, in
esptool.main(cmdline)
File “C:/Users/PAIA/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/tools/esptool\esptool.py”, line 2890, in main
esp.connect(args.before)
File “C:/Users/PAIA/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.6.2/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.
با سلام
در این خصوص سریال پورت شناسایی نشده است، بادریت را تغییر دهید و تصویری از نرم افزار ضمیمه کنید تا بررسی شود.
Executable segment sizes:
ICACHE : 32768 – flash instruction cache
IROM : 231500 – code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 26217 / 32768 – code in IRAM (IRAM_ATTR, ISRs…)
DATA : 1496 ) – initialized variables (global, static) in RAM/HEAP
RODATA : 876 ) / 81920 – constants (global, static) in RAM/HEAP
BSS : 25520 ) – zeroed variables (global, static) in RAM/HEAP
Sketch uses 260089 bytes (24%) of program storage space. Maximum is 1044464 bytes.
Global variables use 27892 bytes (34%) of dynamic memory, leaving 54028 bytes for local variables. Maximum is 81920 bytes.
esptool.py v3.0
Serial port COM5
Connecting….
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 58:bf:25:da:59:00
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Auto-detected Flash size: 4MB
Compressed 264240 bytes to 194532…
Writing at 0x00000000… (8 %)
Writing at 0x00004000… (16 %)
Writing at 0x00008000… (25 %)
Writing at 0x0000c000… (33 %)
Writing at 0x00010000… (41 %)
Writing at 0x00014000… (50 %)
Writing at 0x00018000… (58 %)
Writing at 0x0001c000… (66 %)
Writing at 0x00020000… (75 %)
Writing at 0x00024000… (83 %)
Writing at 0x00028000… (91 %)
Writing at 0x0002c000… (100 %)
Traceback (most recent call last):
File “C:\Users\Pooya\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2/tools/upload.py”, line 66, in
esptool.main(cmdline)
File “C:/Users/Pooya/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py”, line 3604, in main
operation_func(esp, args)
File “C:/Users/Pooya/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py”, line 3016, in write_flash
raise FatalError(“MD5 of file does not match data in flash!”)
esptool.FatalError: MD5 of file does not match data in flash!
Wrote 264240 bytes (194532 compressed) at 0x00000000 in 17.3 seconds (effective 122.2 kbit/s)…
File md5: 183bf5831ef7b4fdc597a0693e9d0892
Flash md5: 20ee46ee202e989350f815e72dcd2ef3
MD5 of 0xFF is 2d6f6b555c8288c3231d7a7e597ba576
Failed uploading: uploading error: exit status 1
سلام این ارور رو دریافت میکنم ممنون میشم راهنمایی کنید .
با سلام
یک بار برد را بدون کد با یک TAB NEW اجرا کنید و سپس ارور را ارسال کنید.
سلام وقت بخیر
من بردی ک استفاده میکنم esp8266 nodemcu cp2102 هستش و وقتی ب سیستم متصل میکنم صدا میده ک متصل شده و چراغش ی چشمک میزنه برد ولی توی ide اردینو نشون نمیده
راهکاری براش هست؟
با سلام
اگر در Arduino ide شناخته نشده است، پورت را تشخص نداده و بایستی درایور را بررسی کنید.
اوکی شد. درایور میخواست
با سلام
بسیار عالی از اینکه نتیجه را اطلاع دادید، سپاسگزارم.
با سلام و درود خدمت شما عزیزان- ببخشید من میخام بدون کابل usb و بصورت مستقیم از طریق پایه ها ماژول رو روشن کنم- به کدوم پایه ها و چه مقدار ولتاژ باید بدم؟؟ ممنون میشم پاسخ بدید- خیلی ممنون از سایت خوبتون
با سلام
در این خصوص بایستی تغذیه را از Vin تامین کنید. تغذیه ۵ ولت و یا باتری لیتیومی ۳٫۷ برای ولتاژ کافی است.
سلام و عرض ادب خدمت استاد ارجمند .
بند یک برد ۸۶۲۲ خریداری کردم و نرم افزار ادینو ۱٫۸ را نصب نمودم ..سوال داشتم برای انتخاب برد چه نام را از گزینه board انتخاب کردو ادیگر اینکه پروژه بنده خاموش و روشن کردن چرا ال ای دی است..؟چه برنامه ای از کتابخانه اپلود کنم..؟با تشکر
با سلام
کافی است آموزش را مطالعه کنید. در متن آموزش نوشته شده است.
سلام و ارز ادب
بنده یک ماژول nodemcu ESP8266 cp2102 خریدم ولی وقتی به کامپیوتر متصل می کنم بعد از روشن شدن بورد برای نصب درایور که به Device Manager میرم بجای عبارت مخصوص مبدل های CP2102 usb to serial یک عبارت Verifone usb modem هست که باقطع کردن برد از کامپیوتر میره و با وصل کردن میاد و مینویسه درایورش نصب نیست از سایت silabs هم درایورهاشو گرفتم و نصب کردم ولی نشده حتی با چند کابل و چند سیستم دیگه هم امتحان کردم باز هم اصلا ماژولرو نمیشناسه و همش همون Verifone رو می نویسه. از جاهای دیگه هم درایور گرفتم که نشد. ماژول را هم عوض کردم باز همون اسم میاد. چیکار کنم درایور ماژول وای فای درست نصب بشه. لطفا راهنمایی کنید سه روزه درگیرم باهاش
با سلام
از طریق لینک زیر درایور را نصب کنید و نتیجه را اعلام کنید.
سلام خسته نباشید من یک برد esp_12f node mcu دارم که وقتی میخوام کد رو روش اپلود کنم حین یا بعد از اجرای فر ایند این ارور رو میده
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet heade
با سلام
برد شناسایی نشده است. از مبدل مناسب باید استفاده کنید.
با سلام
از مبدلهای مخصوص باید استفاده کنید.