برنامه نویسی ماژول وایفای ESP8266 با نرم افزار آردوینو

محتویات
سلام. برنامه نویسی ماژول وایفای ESP8266 با نرم افزار آردوینو + آموزش جامع را آماده کردیم.
آموزش کامل برنامه نویسی برد ESP8266 با Arduino
در این آموزش ما یاد میگیریم چطور نرم افزاز Arduino را برای آپلود کد روی برد های ESP8266 پیکربندی کنیم. همچنین برنامه چشمک زن LED را روی برد ESP8266 بارگذاری میکنیم. اینکار بدون استفاده از برد های آردوینو و فقط با ماژول وایفای ESP8266 انجام میشود. با استفاده از یک ماژول آداپتور سریال FTDI ، به راحتی می توان با استفاده از دستورات AT و Arduino IDE ، ماژول ESP را برنامه ریزی کرد.
ماژول ESP8266 با یک سیستم عامل از پیش بارگذاری شده در آن همراه است. این سیستم عامل می تواند برای ارتباط با ماژول ESP8266 از طریق دستورات AT استفاده شود. اما اگر از Arduino IDE استفاده کنیم ، این سیستم عامل به پایان می رسد. این بدان معنی است که هنگامی که از Arduino IDE برای برنامه ریزی ماژول ESP استفاده میکنیم، دیگر نمی توانیم از دستورات AT استفاده کنیم. از این رو ، باید ماژول را با سیستم عامل پیش فرض فلاش کنیم تا بتوانیم از دستورات AT شروع به استفاده کنیم.
تعدادی از پروژه های سایت با ESP8266 :
- آموزش ارسال دما و رطوبت محیط به گوگل Sheet (پروژه IoT) با ماژول وایفای ESP8266
- پروژه IoT کنترل رنگ LED RGB با موبایل (ماژول وایفای ESP8266 و آردوینو)
- پروژه IoT سنسور حرکت با هشدار در موبایل با ماژول ESP8266 ( اینترنت اشیا با سنسور PIR)
- پروژه کنترل سروو موتور با اینترنت آردوینو و ماژول وایفای ESP8266
- و …
قطعات مورد نیاز برای آموزش
- ماژول وایفای ESP8266
- برد FTDI با ولتاز 3.3
توضیحات ماژول وای فای ESP8266
بیشتر افراد ESP8266 را به عنوان یک ماژول WIFI می دانند ، اما در واقع یک میکروکنترلر است. ESP8266 نام یک میکروکنترلر است که توسط شرکت Espressif Systems ساخته شده است و یک شرکت مستقر در شانگهای است. این میکروکنترلر توانایی انجام فعالیتهای مرتبط با WIFI را دارد از این رو به صورت گسترده به عنوان یک ماژول WIFI مورد استفاده قرار می گیرد.
انواع مختلفی از ماژول های ESP8266 وجود دارد ( از ESP8266-01 تا ESP8266-12 ). ما در این پروژه PIC از ESP8266-01 استفاده میکنیم. زیرا ارزان ترین آن است و در دسترس است. این ماژول با ولتاژ 3.3 تغذیه میشود و مصرف آن حدود 10uA-170mA است. ماژول ESP8266 دارای یک مبدل ADC است.
دستورات AT برای برقراری ارتباط با ESP8266 استفاده می شوند. جدول زیر برخی از دستورات AT مفید را نشان می دهد.
دستور AT | کاربرد |
AT | اگر همه چیز خوب باشد OK دریافت میشود |
AT+RST | راه اندازی مجدد ماژول |
AT+GMR | نمایش اطلاعات |
AT+CWMODE=1 یا 2 یا 3 | حالت وایفای : 1 = ایستگاه ، 2= AP و 3= هردو |
AT+CWLAP | لیست AP |
AT+CWJAP=”SSID”,”PASSWORD” | پیوستن AP |
AT+CWQAP | خروج AP |
AT+CIFSR | دریافت آدرس IP |
AT+CIPMUX= 0 , 1 | تنظیم تعداد اتصالات : 0 = یگانه ، 1 = چند گانه |
AT+CIPSTART AT+CIPSTART=<type>,<address>,<port> AT+CIPSTART=<id>,<type>,<address>,<port> | تنظیم ارتباط TCP/UDP : addres = آدرس آی پی – Port = پورت – در اتصال یگانه = Type = TCP, UDP در اتصال چند گانه id = میتواند بین 0 تا 4 باشد |
<AT+CIPSEND AT+CIPSEND=<length <AT+CIPSEND=<id>,<length | ارسال اطلاعات در اتصال یگانه : Length = طول داده ها در اتصال چندگانه id = از 0 تا 4 میتواند باشد |
AT+CIPSTATUS | دریافت اطلاعات اتصال |
AT+CIPSERVER=<mode>,<port> | Set as Server 0-Server close, 1-Open port تنظیم سرور 1= بسته – 2= باز |
AT+CIPCLOSE | بستن اتصال TCP یا UDP |
آماده سازی نرم افزار Arduino برای برنامه نویسی برد ESP8266
مرحله 1: ابتدا آخرین نسخه نرم افزاز Arduino را از این لینک دانلود کنید : دانلود آردوینو
مرحله 2: پس از نصب ، کامپایلر Arduino را باز کنید و به Files -> Preferences بروید.
سپس در قسمتی که در تصویر بالا مشخص شده لینک زیر را کپی کنید و در آن جا قرار بدهید.
http://arduino.esp8266.com/stable/package_esp8266com_index.json
سپس روی Ok کلیک کنید.
مرحله 3: اکنون به Tools -> Boards -> Board Managers بروید. در این پنجره ESP8266 را سرچ کنید و سپس مانند تصویر زیر ESP8266 by esp8266 community را پیدا کنید و روی install کیلک کنید.
مرحله 4: سپس به Tools -> Boards بروید و Generic ESP8266 modules را انتخاب کنید. باید پایین نرم افزار شما مانند تصویر زیر شده باشد.
مرحله 5: حالا برای وارد کردن برنامه چشمک زن ال ای دی به مسیر File -> Examples -> ESP8266 بروید و Blink را انتخاب کنید.
مرحله 6: سپس ماژول خود را مانند تصویر زیر به کامپیوتر متصل کنید. ما از برد FTDI استفاده کرده ایم.
ماژول ESP8266 و برد FTDI را همانطور که در مدار نشان داده شده است وصل کنید و مطمئن شوید که GPIO0 شما به GND متصل شده است. ما از سوئیچ برای انتخاب بین حالت برنامه نویسی Arduino IDE و حالت از طریق AT استفاده کرده ایم. سپس ماژول را روشن کرده و با فشار دادن دکمه روی برد، آن را تنظیم مجدد میکنیم.
مرحله 7: حالا روی دکمه upload در نرم افزار آردوینو کلیک میکنیم.
سپس شما باید ال ای دی آبی روی برد را در حالت چشمک زن مشاهده میکنید. این چشمک زدن تایید میکند ما کارمان را درست انجام داده ایم.
پس از انجام این مراحل دیگر شما نمیتوانید دستورات AT را ارسال کنید. برای اینکار باید ماژول ESP8266 را فلش بزنید که انشالله در آموزش های بعدی نحوه فلش زدن را آموزش خواهم داد.
پایان.
سلام
من وقتی آپلود می کنم ، این پیام میاد
Connecting…….._____….._____….._____….._____….._____….._____…..____
A fatal esptool.py error occurred: Failed to connect to ESP8266: Timed out waiting for packet header_
با اینکه مطمئن هستم تمام سیم کشی ها رو درست انجام دادم
از ماژول سریال 2303 استفاده می کنم و gpio0 رو هم زمین کردم
لطفا راهنمایی بفرمایید
برد من برنامه نویسی نمی شه میشه راهنمایی کنید.
منوی تولز خیلی تنظیماتش بیشتره، تازه من نتونستم مثل شما تنظیماتش رو انجام بدم بعضی وقت ها اپلود میشه ولی می نویسه soft resseting و چراغ ابی روی برد چشمک نمی زنه، چکار کنم؟
با سلام و خسته نباشید، سوال داشتم اینکهبنده با برد esp8266 کار میکنم به دلیل سرعت بالای وفرکانس ۱۶۰ مگا فکر کنم نوشته بود رفتم به سراغش، اردینو جواب نمیده برا برنامه با حجم زیاد ، فقط مشکلی که با این برد دارم نمیتوانم مثل اردینو پایههای دیجتیالش و با چه شمارهای هست و
و چندتا هست که برنامه نویسی بکنم به آن عنوان خروجی ، ۱۶ تا پایه دیجیتال به عنوان خروجی لازم دارم ، ممنون
سلام عزیز. نام پایه ها رو به صورت D1, D2 و … وارد کنید
در صورت نیاز میتونید دوره آموزش اینترنت اشیا رو ببینید ما کار با NodeMCU ESP8266 و Wemos ESP8266 رو آموزش میدیم
یه پروژه داشتم سخت افزاری
خواستم بیزحمت یه براورد کنید
یه ماجول وای فای با یک گجت رطوبت سنج
میزان رطوبت رو به یه ای ادرس مشخص بفرسته
روی اون ای پی هم یه برنامه کپچر کنه توی فایل بریزه با تاریخ و ساعت
و بصورت گراف روزانه و هفتگی نمایش بده
سلام عزیز، ما پروژه سفارشی انجام نمیدیم.
سلام مهندس جان ممنون میشم منو راهنمایی کنین
ماژولی هست که مثل گوشی سیم کارت بخوره بشه از اینترنتش بصورت وایفا استفاده کرد
سلام جناب. بنده ماژولی رو نمیشناسم که هم سیمکارت بخوره و هم وای فای رو ارائه بده.
شیلد اترنت اردوینو اونو ایطوریه ولی قیمتش از خود اردوینو اونو بیشتره
سلام
دلیل اینکه باید پایه GPIO0 به زمین وصل بشه چیه؟ و چه زمانی باید این کار رو کرد؟؟؟
بعد اینکه مدار شکل بالا خیلی شلوغه. بهتر نیست که که TX ماژول وای فای به TX برد FTDI و RX ماژول به RX برد و VCC و CH_PD ماژول به VCC برد و GND ماژول به GND برد وصل بشه
از طرفی چون ماژول وای فای با ولتاژ 3.3V کار میکنه می تونیم جامپر برد FTDI روی 3.3V تنظیم کنیم تا VCC اون 3.3V بشه.
لطفا راهنمایی کنید.
جناب نمیشه Tx به Tx وصل بشه. باید ضربدری باشند یعنی Tx به Rx وصل بشه. مثل شماتیک متصل کنید.