فهرست مطالب:

چگونه می توان دروازه WIFI خود را برای اتصال Arduino به شبکه IP ایجاد کرد؟: 11 مرحله (همراه با تصاویر)
چگونه می توان دروازه WIFI خود را برای اتصال Arduino به شبکه IP ایجاد کرد؟: 11 مرحله (همراه با تصاویر)

تصویری: چگونه می توان دروازه WIFI خود را برای اتصال Arduino به شبکه IP ایجاد کرد؟: 11 مرحله (همراه با تصاویر)

تصویری: چگونه می توان دروازه WIFI خود را برای اتصال Arduino به شبکه IP ایجاد کرد؟: 11 مرحله (همراه با تصاویر)
تصویری: ESP32 Tutorial 54 - Set WS2812 LED Strip Color over Wifi | SunFounder's ESP32 IoT Learnig kit 2024, نوامبر
Anonim
چگونه می توان دروازه WIFI خود را برای اتصال Arduino به شبکه IP ایجاد کرد؟
چگونه می توان دروازه WIFI خود را برای اتصال Arduino به شبکه IP ایجاد کرد؟

به نظر بسیاری از افراد ، آردوینو یک راه حل بسیار خوب برای انجام اتوماسیون خانگی و روباتیک است

اما در ارتباطات ، آردوینوس فقط دارای پیوندهای سریال است.

من روی رباتی کار می کنم که باید به طور دائم با سروری که کد هوش مصنوعی را اجرا می کند متصل شود. من سعی کردم از شبکه RF همانطور که قبلاً برای domotic استفاده می کردم استفاده کنم اما به اندازه کافی کارآمد نیست. با حرکت روبات نمی توانم از سپر آردوینو اترنت استفاده کنم. سپر وای فای آردوینو گران هستند و به نظر من طراحی قدیمی دارند.

من به چیزی نیاز داشتم که بتواند داده ها را به روشی بسیار ساده و کارآمد با سرور مبادله کند.

به همین دلیل است که تصمیم گرفتم یک Gateway را بر اساس میکروکنترلر بسیار ارزان و کارآمد ESP8266 طراحی کنم

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

من از این دروازه برای اتوماسیون خانگی و برای Robotic استفاده کردم.

این بخشی از زیرساخت های جهانی اتوماسیون خانگی را می گیرد که می توانید در اینجا مشاهده کنید

من دستورالعمل دیگری را استفاده کردم که از سپر ESP8266 استفاده می کند و از لحیم کاری جلوگیری می کند

تدارکات

من دستورالعمل دیگری در این زمینه نوشتم

مرحله 1: چگونه کار می کند؟

چگونه کار می کند؟
چگونه کار می کند؟

Gateway بر اساس یک ماژول ESP8266 ساخته شده است

این ماژول از یک طرف با پیوند سریال از طرف دیگر به شبکه IP با Wifi متصل می شود.

مانند یک جعبه سیاه عمل می کند. بسته های داده ای که از پیوند سریال دریافت می شوند به درگاه IP/Udp ارسال می شوند و برعکس.

فقط باید اولین بار که Gateway را روشن می کنید ، پیکربندی خود را (IP ، WIFI …) تنظیم کنید.

می تواند ASCII خام و داده های باینری را منتقل کند (بدون HTTP ، JSON …)

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

استفاده از Arduino Mega که دارای بیش از یک UART است (برای مثال Arduino Mega) اما می تواند با UNO نیز اجرا شود ، ساده ترین است.

مرحله 2: عملکردهای اصلی چیست؟

بیشتر آن یک جعبه سیاه است که داده های سریال را به هر دو صورت به بسته UDP تبدیل و ارسال می کند.

دارای 3 LED است که وضعیت و ترافیک Gateway را نشان می دهد.

این یک GPIO ارائه می دهد که می تواند توسط Arduino مورد استفاده قرار گیرد تا منتظر بماند تا Gateway به WIFI و IP متصل شود.

در 3 حالت مختلف که با سوئیچ تنظیم شده است اجرا می شود:

  • حالت دروازه که حالت عادی است
  • حالت پیکربندی برای تنظیم پارامترها استفاده می شود
  • حالت اشکال زدایی که برای حالت اشکال زدایی است

اکثر پارامترها را می توان متناسب با نیازهای شما تغییر داد.

مرحله 3: ساخت مواد

ساخت از مواد
ساخت از مواد

در بالای آردوینو شما نیاز دارید

  • 1 ماژول ESP8266-من MOD-WIFI-ESP8266-DEV را از Olimex انتخاب می کنم که حدود 5 یورو هزینه دارد و استفاده از آن بسیار آسان است.
  • منبع تغذیه 1 x 5v
  • 1 تنظیم کننده قدرت 3.3 ولت - من از LM1086 استفاده می کنم
  • خازن 1 در 100 میکروفاراد
  • 1 عدد ماژول APG ULN2803 (می تواند با 3 ترانزیستور جایگزین شود)
  • 8 مقاومت (3 x 1K ، 1 x 2K ، 1 x 2.7k ، 1x 3.3K ، 1x 27K ، 1x 33k)
  • 3 x LED (قرمز ، سبز ، آبی)
  • 1 عدد PCB بردبورد
  • برخی از سیم ها و اتصالات

فقط در مراحل ساخت ، به آن نیاز خواهید داشت

  • 1 x FTDI 3.3v برای پیکربندی
  • لحیم کاری آهن و قلع

قبل از لحیم کاری ، مهم است که همه اجزاء را روی نان برد نصب کنید و همه چیز را بررسی کنید.

مرحله 4: بیایید با دستگاه الکترونیکی روی Breadboard شروع کنیم

بیایید با دستگاه الکترونیکی روی Breadboard شروع کنیم!
بیایید با دستگاه الکترونیکی روی Breadboard شروع کنیم!

طرح الکترونیکی در قالب Fritzing موجود است

مرحله 1 را می توانید از اینجا بارگیری کنید:

github.com/cuillerj/Esp8266IPSerialGateway/blob/master/GatewayElectronicStep1.fzz

فقط با توجه به ولتاژ ، به عنوان طرحواره عمل کنید.

به یاد داشته باشید که ESP8266 ولتاژ بالاتر از 3.3v را پشتیبانی نمی کند. FTDI باید روی 3.3v تنظیم شود.

مرحله 5: بیایید به نرم افزار برویم

بریم سراغ نرم افزار!
بریم سراغ نرم افزار!

بیایید از سمت Gateway شروع کنیم

من کد را با Arduino IDE نوشتم. بنابراین شما نیاز به ESP8266 دارید تا به عنوان برد توسط IDE شناخته شوید. برد مناسب را با منوی Tools / boards انتخاب کنید.

اگر هیچ ESP266 را در لیست مشاهده نمی کنید ، این بدان معناست که ممکن است مجبور شوید ESP8266 Arduino Addon را نصب کنید (روش کار را در اینجا بیابید).

تمام کدهای مورد نیاز شما در GitHub موجود است. زمان بارگیری آن فرا رسیده است!

کد اصلی Gateway آنجاست:

علاوه بر استاندارد Arduino و ESP8266 شامل کد اصلی مورد نیاز این دو عبارتند از: LookFoString که برای دستکاری رشته ها استفاده می شود و در آنجا وجود دارد:

ManageParamEeprom که برای خواندن و ذخیره پارامترها در Eeprom ans استفاده می شود وجود دارد:

هنگامی که تمام کد را دریافت کردید زمان بارگذاری آن در ESP8266 فرا رسیده است. ابتدا FTDI را به پورت USB کامپیوتر خود وصل کنید.

پیشنهاد می کنم قبل از بارگذاری اتصال را بررسی کنید.

  • مانیتور سریال Arduino را روی پورت USB جدید تنظیم کنید.
  • سرعت را روی 115200 هر دو cr nl تنظیم کنید (سرعت کم برای Olimex)
  • تغذیه بر روی نان برد (ESP8266 همراه با نرم افزاری است که با دستورات AT سروکار دارد)
  • "AT" را با ابزار سریال ارسال کنید.
  • در عوض باید "OK" را دریافت کنید.

در غیر اینصورت اتصال خود را بررسی کنید و به مشخصات ESP8266 خود نگاه کنید.

اگر "OK" دارید ، آماده بارگذاری کد هستید

  • صفحه نان را خاموش کنید ، چند ثانیه صبر کنید ،
  • روی میکرو سوئیچ سیاه ESP8266 فشار دهید. طبیعی است که مقداری زباله روی مانیتور سریال بریزید.
  • IDE آپلود را برای Arduino فشار دهید.
  • پس از اتمام بارگذاری ، سرعت سریال را روی 38400 تنظیم کنید.

چیزی را مانند تصویر مشاهده خواهید کرد.

تبریک می گویید که کد را با موفقیت بارگذاری کردید!

مرحله 6: اجازه دهید پیکربندی را انجام دهیم

بیایید پیکربندی را انجام دهیم!
بیایید پیکربندی را انجام دهیم!

برای ورود به حالت پیکربندی باید configGPIO روی 1 تنظیم شود

ابتدا WIFI را با وارد کردن دستور: ScanWifi اسکن کنید. لیستی از شبکه شناسایی شده را مشاهده خواهید کرد.

  • سپس با وارد کردن "SSID1 = شبکه خود" SSID خود را تنظیم کنید
  • سپس رمز عبور خود را با enterind "PSW1 = yourpassword" تنظیم کنید
  • سپس "SSID = 1" را وارد کنید تا شبکه فعلی تعریف شود
  • برای اتصال Gateway به WIFI خود "Restart" را وارد کنید.
  • با وارد کردن "ShowWifi" می توانید تأیید کنید که IP دارید.
  • LED آبی روشن می شود و LED قرمز چشمک می زند.

زمان آن رسیده است که آدرس سرور IP خود را با وارد کردن 4 زیر آدرس (سروری که کد تست جاوا را اجرا می کند) تعریف کنید. برای مثال:

  • "IP1 = 192"
  • "IP2 = 168"
  • "IP3 = 1"
  • "IP4 = 10"

آخرین مرحله مورد نیاز تنظیم پورت گوش دادن به سرور UDP با وارد کردن "listenPort = xxxx" است.

برای بررسی آنچه در Eeprom ذخیره کرده اید ، "ShowEeprom" را وارد کنید

حالا GPIO2 را به زمین وصل کنید تا از حالت پیکربندی خارج شوید

Gateway شما آماده کار است

برخی از دستورات دیگر وجود دارد که می توانید در اسناد پیدا کنید.

مرحله 7: بیایید سمت آردوینو را انجام دهیم

بیایید سمت آردوینو را انجام دهیم!
بیایید سمت آردوینو را انجام دهیم!
بیایید سمت آردوینو را انجام دهیم!
بیایید سمت آردوینو را انجام دهیم!

ابتدا آردوینو را وصل کنید

اگر مگا دارید ، شروع با آن آسان تر خواهد بود. با این وجود می توانید از Uno استفاده کنید.

برای بررسی بهتر کار خود استفاده از مثال است.

می توانید آن را در آنجا بارگیری کنید:

این شامل کد SerialNetwork است که در اینجا وجود دارد:

فقط کافی است کد داخل Arduino خود را بارگذاری کنید.

هر بار که آردوینو داده ارسال می کند ، چراغ سبز چشمک می زند.

مرحله 8: اجازه دهید سمت سرور را انجام دهیم

بیایید سمت سرور را انجام دهیم!
بیایید سمت سرور را انجام دهیم!
بیایید سمت سرور را انجام دهیم!
بیایید سمت سرور را انجام دهیم!

مثال سرور یک برنامه جاوا است که می توانید از اینجا بارگیری کنید:

فقط آن را اجرا کنید

به کنسول جاوا نگاه کنید.

به مانیتور آردوینو نگاه کنید.

آردوینو 2 بسته مختلف ارسال می کند.

  • مورد اول شامل وضعیت پین های دیجیتال 2 تا 6 است.
  • دومی شامل 2 مقدار تصادفی ، سطح ولتاژ A0 در mV و شمارش افزایشی است.

برنامه جاوا

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

مرحله 9: زمان انجام لحیم کاری فرا رسیده است

زمان انجام لحیم کاری فرا رسیده است!
زمان انجام لحیم کاری فرا رسیده است!
زمان انجام لحیم کاری فرا رسیده است!
زمان انجام لحیم کاری فرا رسیده است!
زمان انجام لحیم کاری فرا رسیده است!
زمان انجام لحیم کاری فرا رسیده است!

روی تخته نان کار می کند!

زمان آن رسیده است که با لحیم کاری قطعات روی PCB آن را قوی تر کنیم

علاوه بر کاری که با تخته نان انجام دادید ، باید 3 کانکتور اضافه کنید.

  • C1 1 x pin pin که برای ورود به حالت ردیابی شبکه استفاده می شود.
  • C2 3 x پین هایی است که برای جابجایی بین حالت اجرا و پیکربندی مورد استفاده قرار می گیرد.
  • C3 6 x پین هایی است که برای اتصال Gateway یا به Arduino یا FTDI استفاده می شود.

اگر می خواهید ردپای شبکه را فعال کنید ، C1 متصل به GPIO2 باید به صورت دستی پایه گذاری شود.

C2 متصل به GPIO 4 را می توان در 2 موقعیت مختلف تنظیم کرد. یکی برای حالت عادی در حال اجرا و دیگری برای ورود به حالت پیکربندی روی 3.3 ولت تنظیم شده است.

همه اجزای PCB را مطابق نمودار تنظیم کنید و سپس لحیم کاری را شروع کنید تا محصول نهایی به دست آید!

مرحله 10: بیایید آزمایش نهایی را انجام دهیم

Image
Image

برنامه تست جاوا را شروع کنید.

آردوینو را وصل کنید.

Power on the Gateway.

و به کنسول جاوا ، مانیتور آردوینو ، LED آردوینو و LED های Gateway نگاه کنید.

مرحله 11: می توانید این طرح را با الزامات شخصی خود تطبیق دهید

در مورد سخت افزار

  • اگر ESP8266 دیگری را انتخاب می کنید ، باید خود را با مشخصات تنظیم کنید.
  • اگر رگولاتور 3.3 ولت دیگری را انتخاب کنید ، باید بیش از 500 میلی آمپر ارائه دهد و شما باید خازن را تنظیم کنید.
  • برای تنظیم روشنایی می توانید مقاومت LED ها را تغییر دهید.
  • می توانید تمام LED ها را خاموش کنید اما توصیه می کنم حداقل رنگ قرمز را روشن نگه دارید.
  • شما می توانید ULN2803 را با 3 ترانزیستور (یا کمتر انتخاب می کنید که 3 LED را نگه ندارید) جایگزین کنید.
  • من تست کردم اما در آنجا باید با بردهای آردوینو 3.3 ولت کار کند. کافی است Tx Rx را به کانکتور 3.3v متصل کنید.

در مورد پیکربندی

  • می توانید 2 SSID مختلف ذخیره کرده و سوئیچ کنید
  • می توانید GPIO مورد استفاده را تغییر دهید

در مورد نرم افزار

توصیه شده: