جدول المحتويات:

كيف تصنع بوابة WIFI الخاصة بك لتوصيل Arduino بشبكة IP؟: 11 خطوة (بالصور)
كيف تصنع بوابة WIFI الخاصة بك لتوصيل Arduino بشبكة IP؟: 11 خطوة (بالصور)

فيديو: كيف تصنع بوابة WIFI الخاصة بك لتوصيل Arduino بشبكة IP؟: 11 خطوة (بالصور)

فيديو: كيف تصنع بوابة WIFI الخاصة بك لتوصيل Arduino بشبكة IP؟: 11 خطوة (بالصور)
فيديو: التحكم في أجهزة المنزل عن بعد و يدويا - ESP32 Home Automation 2024, شهر نوفمبر
Anonim
كيف تصنع بوابة WIFI الخاصة بك لتوصيل Arduino بشبكة IP؟
كيف تصنع بوابة WIFI الخاصة بك لتوصيل Arduino بشبكة IP؟

نظرًا لأن العديد من الأشخاص تعتقد أن Arduino هو حل جيد جدًا للقيام بالأتمتة المنزلية والروبوتية

ولكن فيما يتعلق بالاتصال ، تأتي Arduinos مع روابط تسلسلية.

أنا أعمل على روبوت يحتاج إلى أن يكون متصلاً بشكل دائم بخادم يقوم بتشغيل كود ذكاء اصطناعي ، لقد حاولت استخدام شبكة RF كما اعتدت أن أفعل مع الدوموتيك لكنها ليست فعالة بما فيه الكفاية. أثناء تحرك الروبوت لا يمكنني استخدام Ethernet Arduino Shield. Arduino Wifi Shield غالي الثمن ويبدو لي أنه تصميم قديم.

كنت بحاجة إلى شيء يمكنه تبادل البيانات بطريقة بسيطة للغاية وفعالة مع الخادم.

هذا هو السبب في أنني قررت تصميم بوابة تعتمد على وحدة التحكم الدقيقة ESP8266 الرخيصة جدًا والموفرة للطاقة

يمكنك هنا العثور على كيفية إنشاء المكون الإلكتروني وتنزيل البرنامج.

لقد استخدمت هذه البوابة لأتمتة المنزل وللروبوت.

هذا جزء من البنية التحتية العالمية للتشغيل الآلي للمنزل ، يمكنك إلقاء نظرة هنا

لقد صنعت تعليمات أخرى تستخدم درع ESP8266 وتجنب اللحام

اللوازم

لقد كتبت تعليمات أخرى حول هذا الموضوع

الخطوة 1: كيف يعمل؟

كيف يعمل ؟
كيف يعمل ؟

تعتمد البوابة على وحدة ESP8266

هذه الوحدة متصلة من جانب واحد بالرابط التسلسلي من الجانب الآخر إلى شبكة IP مع Wifi.

إنه بمثابة صندوق أسود. يتم إرسال حزم البيانات الواردة من الارتباط التسلسلي إلى منفذ IP / Udp والعكس بالعكس.

عليك فقط ضبط التكوين الخاص بك (IP ، WIFI …) بمجرد تشغيل البوابة لأول مرة.

يمكنه نقل إما ASCII الخام والبيانات الثنائية (بدون HTTP ، JSON …)

إنه مصمم لربط الكائنات ببرامج الخادم المنزلية التي تحتاج إلى عمليات نقل سريعة ومتكررة لحزمة قصيرة من البيانات.

من الأسهل استخدامه مع Arduino Mega الذي يحتوي على أكثر من UART (Arduino Mega على سبيل المثال) ولكن يمكن تشغيله أيضًا مع UNO.

الخطوة الثانية: ما هي الوظائف الرئيسية؟

في الغالب هو صندوق أسود يقوم بتحويل البيانات التسلسلية وإرسالها إلى حزمة UDP في كلا الاتجاهين.

يحتوي على 3 مصابيح LED تشير إلى حالة وحركة مرور البوابة.

يوفر GPIO الذي يمكن أن يستخدمه Arduino لانتظار أن تكون البوابة متصلة بشبكة WIFI و IP.

يتم تشغيله في 3 أوضاع مختلفة تم ضبطها باستخدام مفاتيح:

  • وضع البوابة هذا هو الوضع العادي
  • وضع التكوين المستخدم لضبط المعلمات
  • وضع التصحيح لوضع التصحيح

يمكن تعديل معظم المعلمات لتناسب احتياجاتك.

الخطوة 3: بناء المواد

بناء المواد
بناء المواد

فوق Arduino الخاص بك سوف تحتاج

  • 1 × وحدة ESP8266 - اخترت MOD-WIFI-ESP8266-DEV من Olimex الذي يكلف حوالي 5 يورو وهو سهل الاستخدام للغاية.
  • مصدر طاقة 1 × 5 فولت
  • منظم طاقة 1 × 3.3 فولت - أستخدم LM1086
  • مكثف 1 × 100 ميكرو فاراد
  • 1 × وحدة ULN2803 APG (يمكن استبدالها بـ 3 ترانزستورات)
  • مقاومات 8 × (3 × 1 كيلو ، 1 × 2 كيلو ، 1 × 2.7 كيلو ، 1 × 3.3 كيلو ، 1 × 27 كيلو ، 1 × 33 كيلو)
  • 3 × LED (أحمر ، أخضر ، أزرق)
  • 1 × اللوح ثنائي الفينيل متعدد الكلور
  • بعض الأسلاك والموصلات

أثناء خطوات البناء فقط ، سوف تحتاج

  • 1 × FTDI 3.3v للتكوين
  • لحام الحديد والقصدير

قبل اللحام ، من المهم إعداد جميع المكونات الموجودة على اللوح والتحقق من أن كل شيء على ما يرام.

الخطوة 4: لنبدأ مع Electronic on the Breadboard

لنبدأ بالإلكتروني على اللوح!
لنبدأ بالإلكتروني على اللوح!

التصميم الإلكتروني متاح بتنسيق Fritzing

يمكنك تنزيله من هنا الخطوة 1:

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

فقط قم بعمل مخطط من خلال الاهتمام بالجهد.

تذكر أن ESP8266 لا يدعم الفولتية الأعلى من 3.3 فولت. يجب ضبط FTDI على 3.3 فولت.

الخطوة 5: دعنا نذهب إلى البرنامج

دعنا نذهب إلى البرنامج!
دعنا نذهب إلى البرنامج!

لنبدأ بجانب البوابة

لقد كتبت الكود باستخدام Arduino IDE. لذلك أنت بحاجة إلى أن تعرف ESP8266 باللوحة بواسطة IDE. حدد اللوحة المناسبة مع قائمة الأدوات / اللوحات.

إذا كنت لا ترى أي ESP266 في القائمة ، فهذا يعني أنه قد يتعين عليك تثبيت ESP8266 Arduino Addon (يمكنك العثور هنا على الإجراء).

كل الكود الذي تحتاجه متاح على جيثب. حان الوقت لتنزيله!

الكود الرئيسي للبوابة موجود:

علاوة على معيار Arduino و ESP8266 ، فإن الكود الرئيسي الذي يحتاج إلى 2 يتضمن: LookFoString الذي يستخدم لمعالجة السلاسل وهو موجود:

ManageParamEeprom المستخدم لقراءة وتخزين المعلمات في Eeprom ans موجود:

بمجرد حصولك على كل الكود ، حان الوقت لتحميله في ESP8266 ، قم أولاً بتوصيل FTDI بمنفذ USB في جهاز الكمبيوتر الخاص بك.

أقترح عليك التحقق من الاتصال قبل محاولة التحميل.

  • اضبط شاشة Arduino التسلسلية على منفذ USB الجديد.
  • اضبط السرعة على 115200 كلا cr nl (سرعة افتراضية لـ Olimex)
  • الطاقة على اللوح (يأتي ESP8266 مع برنامج يتعامل مع أوامر AT)
  • أرسل "AT" باستخدام الأداة التسلسلية.
  • يجب أن تحصل على "موافق" في المقابل.

إذا لم يكن التحقق من الاتصال الخاص بك وإلقاء نظرة على مواصفات ESP8266 الخاصة بك.

إذا حصلت على "موافق" ، فأنت جاهز لتحميل الكود

  • قم بإيقاف تشغيل اللوح ، انتظر بضع ثوان ،
  • اضغط على micro-swith الأسود الخاص بـ ESP8266. من الطبيعي الحصول على بعض القمامة على الشاشة التسلسلية.
  • اضغط على IDE للتحميل مثل Arduino.
  • بعد اكتمال التحميل ، اضبط السرعة التسلسلية على 38400.

سترى شيئًا كما في الصورة.

مبروك لقد قمت بتحميل الكود بنجاح!

الخطوة 6: لنقم بالتكوين

لنقم بالتكوين!
لنقم بالتكوين!

يجب ضبط configGPIO على 1 للدخول في وضع التكوين

في البداية ، قم بفحص WIFI عن طريق إدخال الأمر: ScanWifi. سترى قائمة بالشبكة المكتشفة.

  • ثم قم بتعيين SSID الخاص بك عن طريق إدخال "SSID1 = yournetwork"
  • ثم قم بتعيين كلمة المرور الخاصة بك عن طريق enterind "PSW1 = yourpassword"
  • ثم أدخل "SSID = 1" لتعريف الشبكة الحالية
  • أدخل "إعادة التشغيل" لتوصيل البوابة بشبكة WIFI الخاصة بك.
  • يمكنك التحقق من حصولك على IP عن طريق إدخال "ShowWifi".
  • يضيء المصباح الأزرق ويومض المصباح الأحمر.

حان الوقت لتحديد عنوان خادم IP الخاص بك عن طريق إدخال العناوين الفرعية الأربعة (الخادم الذي سيقوم بتشغيل كود اختبار Java). على سبيل المثال:

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

الخطوة الأخيرة المطلوبة هي تعيين منفذ استماع خادم UDP عن طريق إدخال "listenPort = xxxx".

أدخل "ShowEeprom" للتحقق مما قمت بتخزينه للتو في Eeprom

الآن قم بتوصيل GPIO2 بالأرض لمغادرة وضع التكوين

بوابتك جاهزة للعمل

هناك بعض الأوامر الأخرى التي يمكن أن تجدها في الوثائق.

الخطوة 7: لنفعل جانب Arduino

لنفعل جانب الأردوينو!
لنفعل جانب الأردوينو!
لنفعل جانب الأردوينو!
لنفعل جانب الأردوينو!

قم أولاً بتوصيل Arduino

إذا كان لديك Mega فسيكون من الأسهل أن تبدأ به. ومع ذلك يمكنك استخدام Uno.

للتحقق من عملك ، من الأفضل استخدام المثال.

يمكنك تنزيله من هناك:

يتضمن رمز SerialNetwork الموجود هنا:

فقط قم بتحميل الكود داخل Arduino الخاص بك.

يومض مؤشر LED الأخضر في كل مرة يرسل فيها Arduino البيانات.

الخطوة 8: لنفعل جانب الخادم

لنفعل جانب الخادم!
لنفعل جانب الخادم!
لنفعل جانب الخادم!
لنفعل جانب الخادم!

مثال الخادم هو برنامج Java يمكنك تنزيله من هنا:

فقط قم بتشغيله

انظر إلى وحدة تحكم Java.

انظر إلى شاشة Arduino.

اردوينو ترسل 2 حزم مختلفة.

  • الأول يحتوي على دبابيس رقمية من 2 إلى 6 حالة.
  • الثانية تحتوي على قيمتين عشوائيتين ، مستوى الجهد A0 بالسيارات والعدد المتزايد.

برنامج جافا

  • اطبع البيانات المستلمة بتنسيق سداسي عشري
  • قم بالرد على النوع الأول من البيانات بقيمة تشغيل / إيقاف عشوائية لضبط تشغيل / إيقاف تشغيل Arduino LED
  • الرد على النوع الثاني من البيانات بالعدد المستلم وقيمة عشوائية.

الخطوة 9: حان الوقت للقيام ببعض اللحام

حان الوقت للقيام ببعض اللحام!
حان الوقت للقيام ببعض اللحام!
حان الوقت للقيام ببعض اللحام!
حان الوقت للقيام ببعض اللحام!
حان الوقت للقيام ببعض اللحام!
حان الوقت للقيام ببعض اللحام!

إنه يعمل على اللوح!

حان الوقت لجعلها أكثر قوة عن طريق لحام أجزاء على ثنائي الفينيل متعدد الكلور

علاوة على ما فعلته بلوح التجارب ، يجب إضافة 3 موصلات.

  • C1 1 x pin one الذي سيتم استخدامه للدخول في وضع تتبع الشبكة.
  • C2 3 x دبابيس واحدة سيتم استخدامها للتبديل بين وضع التشغيل والتكوين.
  • C3 6 x دبابيس واحدة سيتم استخدامها لتوصيل البوابة إما بـ Arduino أو FTDI.

يجب تأريض C1 المتصل بـ GPIO2 يدويًا إذا كنت تريد تنشيط تتبع الشبكة.

يمكن ضبط C2 المتصل بـ GPIO 4 في وضعين مختلفين. واحد يتم ضبطه على الأرض في وضع التشغيل العادي والآخر مضبوط على 3.3 فولت للدخول في وضع التكوين.

اضبط جميع المكونات الموجودة على PCB وفقًا للرسم التخطيطي ثم ابدأ اللحام للحصول على المنتج النهائي!

الخطوة 10: لنقم بالاختبار النهائي

Image
Image

ابدأ برنامج اختبار Java.

قم بتوصيل Arduino.

قم بتشغيل البوابة.

وانظر إلى وحدة تحكم Java وشاشة Arduino و Arduino LED و Gateway LEDs.

الخطوة 11: يمكنك تكييف هذا التصميم مع متطلباتك الخاصة

بخصوص الأجهزة

  • إذا اخترت بعض ESP8266 الآخر ، فسيتعين عليك ضبط المواصفات.
  • إذا اخترت منظم 3.3 فولت آخر ، فيجب أن يوفر أكثر من 500 مللي أمبير وسيتعين عليك تكييف المكثف.
  • يمكنك تعديل مقاومات LED لضبط السطوع.
  • يمكنك قمع كل مؤشر LED ولكني أوصي بالحفاظ على اللون الأحمر على الأقل.
  • يمكنك استبدال ULN2803 بـ 3 ترانزستورات (أو أقل اخترت عدم الاحتفاظ بـ 3 LED).
  • لقد اختبرت ولكن هناك يجب أن تعمل مع لوحات Arduino 3.3 فولت. ما عليك سوى توصيل Tx Rx بالموصل 3.3 فولت.

بخصوص التكوين

  • يمكنك تخزين 2 SSID مختلف والتبديل
  • يمكنك تعديل GPIO المستخدم

بخصوص البرنامج

موصى به: