جدول المحتويات:
- الخطوة 1: تكوين Rapberry Pi
- الخطوة 2: قم بتوصيل ESP-01 بـ Raspberry Pi
- الخطوة 3: إعداد البرنامج (Python to Operate و Arduino IDE to Program)
فيديو: Flash ESP-01 (ESP8266) بدون محول USB إلى تسلسلي باستخدام Raspberry Pi: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
يرشدك هذا Instructable إلى كيفية بدء برمجة متحكم ESP8266 الخاص بك على وحدة ESP-01 WIFI. كل ما تحتاجه للبدء (إلى جانب وحدة ESP-01 بالطبع) هو
- فطيرة التوت
- أسلاك العبور
- 10 كيلو المقاوم
كنت أرغب في تجديد مصباح قديم بجانب السرير وتحويله إلى مصباح ليلي LED حديث من شركة Alexa. لا شيء يتوهم فقط تشغيله / إيقاف تشغيله باستخدام الأمر الصوتي. لقد طلبت أبسط وحدة ESP-01 WIFI ومرحل وسلك مزود بمصابيح LED عبر الإنترنت ، ونسيت تمامًا طلب محول USB إلى تسلسلي لبرنامج متحكم ESP8266. ولكن نظرًا لأن لدي Raspberry Pi وكان لدى كل من Raspberry Pi ولوحة ESP-01 دبابيس UART ، فقد اعتقدت أنه يمكنني استخدام RPi الخاص بي لبرمجة ESP8266 بدون المحول.
الخطوة 1: تكوين Rapberry Pi
لقد استخدمت Raspberry Pi 3 Model B + ، ومع ذلك ، يجب أن تعمل التعليمات على الإصدارات الأخرى ، خاصة على الطراز B.
لذا ، أول الأشياء أولاً - نحتاج إلى تمكين UART على Pi.
انتقل إلى إعدادات تكوين RPi. في نافذة تشغيل المحطة
sudo raspi-config. $
انتقل إلى 5 Interfacing Options ، ثم حدد P6 Serial. ثم طلبت بعد ذلك هل ترغب في أن يكون الوصول إلى غلاف تسجيل الدخول عبر التسلسل؟ حدد ذلك لأننا لا نريد استخدام UART لتشغيل Pi بدون رأس ، ولكن للتواصل مع الأجهزة الأخرى ، وبالتالي في الشاشة التالية عندما يُطلب منك ذلك ، هل ترغب في تمكين أجهزة المنفذ التسلسلي؟ تحديد. أعد تشغيل Pi كما هو مطلوب. يجب الآن تمكين UART للاتصال التسلسلي على طرف RX و TX الخاص بـ Raspberry Pi 3. ملاحظة: بعد ذلك يجب أن يظهر إدخال جديد enable_uart = 1 في نهاية /boot/config.txt.
الخطوة 2: قم بتوصيل ESP-01 بـ Raspberry Pi
الآن نبدأ في توصيل كل شيء معًا.
أولاً ، حدد على دبابيس RPi 3.3V و GND (الأرضية) لتشغيل متحكم ESP8266 ، ودبابيس TXD (إرسال) و RXD (استقبال) للتواصل ، واثنين من دبابيس للأغراض العامة لتشغيل ESP8266 (دبابيس يمكن ضبطها إما عالية أو قليل). ابحث عن ترتيب الدبوس على pinout.xyz أو اكتب Terminal:
pinout دولار
ثانيًا ، حدد المسامير الضرورية في ESP-01. لكن في البداية نحتاج إلى فهم دبابيس ESP-01. لقد وجدت عددًا من الموارد المفيدة المتاحة على الإنترنت لمساعدتك في هذا الصدد. هذا هو الأقصر ، بينما يقدم هذا تفسيرًا أفضل بكثير. باختصار: هناك 8 دبابيس ، سنحتاج إلى 7 منها ، وهي VCC power و GND (الأرض) من أجل الطاقة ، ودبابيس TXD و RXD للاتصال ، و RST (إعادة التعيين) ، CH_PD (Chip Power Down ، المسمى أحيانًا CH_EN أو رقاقة تمكين) و GPIO0 لتشغيل الوحدة. عادةً ما يعمل ESP8266 في الوضع العادي ، ولكن عند تحميل رمز إلى ESP8266 ، يجب أن يكون في وضع الفلاش. بالنسبة لوضع التشغيل العادي أو العادي ، يجب توصيل الوحدة بالطاقة (من الواضح) ، ولكن أيضًا يجب توصيل الدبوس CH_PD بـ VCC عبر 10 كيلو (تختلف هذه القيمة باختلاف الموارد ، لقد وجدت قيمًا تصل إلى 3 كيلو) المقاوم في التمهيد. على الجانب الآخر ، للدخول في وضع الوميض أو البرمجة ، تحتاج إلى تأريض دبوس GPIO0 عند التمهيد. لمنع التدفق غير المقيد للتيار عبر GPIO0 عند التأريض ، يوصى بتوصيل GPIO0 بالأرض عبر بعض المقاومة منخفضة المقاومة 300Ω - 470Ω (المزيد حول هذا هنا). يشير دبوس RST كما يشير الاسم إلى إعادة تعيين (أو إعادة تشغيل) MCU. أثناء التشغيل العادي ، قد يتم توصيله بـ VCC عبر مقاوم سحب 10K ، ولكن يجب تأريضه لإعادة ضبط المتحكم الدقيق. في حين أنه من الممكن دائمًا استخدام الأزرار المادية لأرضية دبابيس RST و GPIO0 (أو حتى ربط الأسلاك يدويًا لمحاكاة زر) ، فمن الأفضل استخدام دبابيس Raspberry Pi لضبط الجهد العالي والمنخفض على RST و GPIO0 للوحدة دبابيس. كذلك لا حاجة لمقاومات 10K و 470Ω إذن.
الآن بعد أن أدركنا خصائص دبابيس ESP-01 ، يمكننا البدء في ربط كل شيء معًا. يمكنك استخدام الجدول التالي كمرجع مع الرسم أعلاه:
ESP-01 Raspberry Pi
- VCC (3.3V) pin # 1 (3.3V)
- دبوس GND رقم 6 (GND)
- TXD pin # 10 (RXD / BCM 15)
- دبوس RXD رقم 8 (TXD / BCM 14)
- CH_PD رقم 1 (3.3 فولت)
- دبوس RST رقم 3 (BCM 2)
- GPIO 0 pin # 5 (BMC 5)
قم بتوصيل دبوس VCC الأخير. سيتم تشغيل المثيل الذي قمت بتوصيله بـ VCC pin الخاص بك بوحدة Wi-Fi. استخدم الشاشة أو minicom للتحقق مما إذا كان بإمكان RPi و ESP8266 التواصل باستخدام UART (ملاحظة: قد تحتاج إلى تثبيت الشاشة أو minicom أولاً ، حيث لا يبدو أنهما مثبتان على Raspbian افتراضيًا).
باستخدام تشغيل الشاشة:
شاشة $ sudo / dev / serial0 115200
باستخدام minicom run:
$ sudo minicom -b 115200 -o -D / dev / serial0.00 جنيه
ملاحظة: تقترح العديد من الموارد عبر الإنترنت الاتصال بـ ESP8266 على / dev / ttyAMA0 ، لكن هذا لا يعمل مع RPi 3 أو ما بعده (بما في ذلك صفر وات) وفقًا لوثائق RPi. اتصل عبر / dev / serial0 بدلا من ذلك أو / dev / ttyS0.
بعد إدخال الشاشة أو minicom ، استخدم أوامر AT للتواصل مع ESP8266. اكتب AT ، ثم اضغط على Enter ثم اضغط على Ctrl + J لإرسال الأمر. يجب أن تحصل على موافق في الرد. يمكن العثور على قائمة أوامر AT المتوفرة على espressiff.com أو هنا فقط.
الأجهزة متصلة فعليًا وتتحدث مع بعضها البعض ، يمكننا الوصول إلى برمجة دبابيس RPi GPIO وأخيراً ESP8266 نفسها.
الخطوة 3: إعداد البرنامج (Python to Operate و Arduino IDE to Program)
الجزء 1. استخدام بيثون للتبديل بين أوضاع ESP8266
كما ذكر أعلاه ، من الملائم استخدام دبابيس GPIO الخاصة بـ RPI لتبديل أوضاع التشغيل الخاصة بـ ESP8266. لقد كتبت رمزي بايثون أساسيين وضعا ESP8266 في الوضع العادي أو وضع البرمجة.
الوضع العادي: لوضع المتحكم الدقيق في وضع التشغيل العادي ، نحتاج فقط إلى تشغيله وتوصيل CH_PD عبر المقاوم للسحب إلى VCC ، ولكن لتبديل MCU من البرمجة إلى الوضع العادي ، نحتاج إلى إعادة ضبطه (فكر في إعادة التشغيل). للقيام بذلك على RPi ، سنقوم بإغلاق GPIO الخاص بـ RPi المتصل بـ RST pin على ESP-01 (افتراضيًا ، يتم تعيين RPi pin الذي استخدمته لإعادة الضبط على HIGH). كيف باختصار؟ بالنسبة لي هذا سؤال تخميني. يمكنك تجربة فترات زمنية مختلفة ، لكنني وجدت أن 200 - 500 مللي ثانية تعمل بشكل جيد. اكتب التعليقات إذا كانت لديك فكرة أفضل. احفظ الرمز الخاص بك باسم reset.py
#! / usr / bin / python
استيراد RPi. GPIO كوقت استيراد GPIO. وضع GPIO.setmode (GPIO. BOARD) # تعيين تعريف GPIO عن طريق إعادة تعيين أرقام الدبوس الفعلية = 3 # تحديد دبوس RPi المادي المتصل بـ ESP8266 RST pin GPIO.setup (resetPin ، GPIO. OUT) # إعادة تعيين دبوس كإخراج GPIO.output (resetPin، GPIO. LOW) # انخفاض الجهد على وقت دبوس RST.sleep (.2) # انتظر.2 ثانية GPIO.output (resetPin، GPIO. HIGH) # استعادة الجهد على RST pin GPIO. cleanup () # إعادة تعيين المسامير على RPI لمنع تحذيرات وقت التشغيل المستقبلية
-
وضع البرمجة: لوضع MCU في وضع البرمجة ، نحتاج إلى تشغيل ESP8266 مع GPIO0 مؤرضًا ، أو بدلاً من ذلك إعادة تعيينه وأرضي GPIO0 أثناء التشغيل (مرة أخرى ، المدة الدقيقة لانخفاضات الجهد ليست معروفة تمامًا بالنسبة لي ، لذلك لا تكن صارمًا تسترشد بالقيم المستخدمة). احفظ الكود باسم flash.py أو قم بالتنزيل أدناه. تتابع الإجراءات على النحو التالي:
- اسحب دبوس RST
- هدم دبوس GPIO0
- سحب دبوس RST
- سحب دبوس GPIO0
#! / usr / bin / python
استيراد RPi. GPIO كوقت استيراد GPIO. وضع GPIO.setmode (GPIO. BOARD) # يحدد تعريف GPIO عن طريق إعادة تعيين أرقام الدبوس الفعلية = 3 # تحديد دبوس RPi المادي المتصل بـ ESP8266 RST pin flashPin = 5 # تحديد دبوس RPi المادي المتصل بـ ESP8266 GPIO0 pin GPIO.setup (resetPin، GPIO. OUT) # تعيين دبوس إعادة الضبط كإخراج GPIO.setup (flashPin، GPIO. OUT) # تعيين دبوس الفلاش كإخراج GPIO.output (resetPin، GPIO. OUT) # انخفاض الجهد على وقت دبوس RST. sleep (.2) # الحاجة لهذا الانتظار هي مضاربة GPIO.output (flashPin، GPIO. LOW) # انخفاض الجهد على GPIO0 time.sleep (.2) # الحاجة لهذا الانتظار هي مضاربة GPIO.output (resetPin، GPIO. HIGH) # بدء تشغيل ESP8266 time.sleep (.5) # انتظر حتى ESP8266 لتشغيل GPIO.ouput (flashPin. GPIO. HIGH) # استعادة الجهد على GPIO pinGPIO.cleanup () # إعادة تعيين المسامير على RPI لمنع تحذيرات وقت التشغيل المستقبلية
في أذونات تغيير المحطة:
sudo chmod + x flash.py
sudo chmod + x reset.py
من الآن فصاعدًا ، كلما احتجت إلى الدخول في وضع البرمجة ، قم بتشغيل الجهاز:
$ python /flash.py
بعد تحميل الكود للدخول إلى وضع التشغيل العادي ، قم بتشغيل:
$ python /reset.py
في هذه المرحلة ، قد ترغب أيضًا في تحديث البرنامج الثابت ESP8266. هناك العديد من البرامج التعليمية عبر الإنترنت حول كيفية القيام بذلك ، لذلك لن أخوض في التفاصيل حول كيفية القيام بذلك.
الجزء 2. إعداد Arduino IDE
إذا كان لديك Arduino IDE مثبتًا بالفعل ، فقد لا تزال ترغب في تصفح القسم للتأكد من أن IDE الخاص بك جاهز لـ ESP8266.
على Rapberry Pi ، يمكنك استخدام Arduino IDE لبرمجة ESP8266. هناك طريقتان لتثبيت IDE على RPi:
- عبر سطر الأوامر من المستودعات باستخدام apt-get install
- قم بالتنزيل والتثبيت يدويًا من arduino.cc.
أقترح بشدة السير في المسار الأخير. يبدو أن إصدار IDE من المستودعات قد عفا عليه الزمن وسيكون عليك بالتأكيد فعل المزيد قبل أن تكون جاهزًا لبدء برمجة ESP8266. لتجنب المتاعب ، انتقل إلى صفحة تنزيل Arduino.cc وقم بتنزيل إصدار Linux ARM. قم بإلغاء الضغط والتثبيت التالي: إذا كان اسم الملف الذي تم تنزيله يبدو مثل هذا arduino-X. Y. Z-linuxarm.tar.xz ، في مجلد التنزيل ، قم بتشغيل:
tar -xvf arduino-X. Y. Z-linuxarm.tar.xz
يجب أن يؤدي هذا إلى فك ضغط الملف إلى مجلد arduino-X. Y. Z. يركض:
sudo./arduino-X. Y. Z/install.sh $
يجب أن يقوم هذا بتثبيت IDE. بعد اكتمال التثبيت ، ابدأ IDE.
- من Arduino IDE ، انتقل إلى ملف> تفضيلات. ابحث عن "عناوين URL الإضافية لمدير مجلس الإدارة" في الجزء السفلي من نافذة التفضيلات. أدخل https://arduino.esp8266.com/stable/package_esp8266com_index.json في حقل "عناوين URL لمدير اللوحة الإضافية" ، انقر فوق الزر "موافق".
- انتقل إلى Tools> Board: XXX> Boards Manager. في النافذة ، استخدم البحث أو مرر لأسفل ، حدد قائمة اللوحة ESP8266 وانقر فوق تثبيت. انتظر حتى يكتمل التثبيت ويغلق النافذة.
- انتقل مرة أخرى إلى Tools> Board: XXX وابحث عن لوحات ESP8266. اختر وحدة ESP8266 العامة.
الآن IDE جاهز لبرمجة ESP8266. اكتب أو الصق الكود المطلوب في نافذة IDE واحفظه. انقر فوق تحميل. من الطرفية flash.py ، يجب أن يضع هذا اللوحة في وضع البرمجة. انتظر بضع دقائق حتى ينتهي IDE من التجميع والتحميل (ملاحظة: يأتي ESP-01 عادةً مع 2 LEDs ، وسيومض مؤشر LED الأزرق أثناء تحميل الكود) وقم بتشغيل reset.py. الآن لوحة ESP-01 جاهزة لأداء المهام.
موصى به:
اصنع محول Rock Band Ekit الخاص بك (بدون محول قديم) ، غير مدمر!: 10 خطوات
اصنع مهايئ Rock Band Ekit الخاص بك (بدون محول قديم) ، غير مدمر!: بعد سماع مضيف بودكاست مشهور يذكر قلقه بشأن موت محول USB السلكي القديم ، بحثت عن حل DIY لتوصيل eKit أفضل / مخصص إلى RB . بفضل السيد DONINATOR على Youtube الذي صنع مقطع فيديو يشرح بالتفصيل صورته المماثلة
برنامج Flash AT Command Firmware إلى وحدة ESP01 (يتطلب محول USB إلى TTL): 5 خطوات
برنامج Flash AT Command الثابت إلى وحدة ESP01 (يتطلب محول USB إلى TTL): بواسطة Jay Amiel AjocGensan PHfacebook.com/geeamealyoutube.com/jayamielajoc
تجميع محول تسلسلي RS232 إلى TTL: 8 خطوات
تجميع RS232 إلى TTL Serial Adapter: تجميع خطوة بخطوة من RS232 إلى TTL Serial Adapter Kit من moderndevice.com هذا خيار رائع لتوصيل نسخة Arduino أو Arduino بمنفذ تسلسلي قديم عادي. يتزاوج مباشرة مع BBB أو RBBB أو يمكن إعادة تعيين المسامير إلى f
محول 12 فولت إلى USB محول من 12 فولت إلى 5 فولت (رائع للسيارات): 6 خطوات
محول 12 فولت إلى USB محول من 12 فولت إلى 5 فولت (رائع للسيارات): سيوضح لك هذا كيفية عمل محول 12 فولت إلى USB (5 فولت). الاستخدام الأكثر وضوحًا لهذا هو محولات السيارة بجهد 12 فولت ، ولكن في أي مكان لديك 12 فولت يمكنك استخدامه! إذا كنت بحاجة إلى 5 فولت لأي شيء بخلاف USB ، فما عليك سوى تخطي الخطوات المتعلقة بإضافة منافذ USB
مبرد / حامل كمبيوتر محمول بدون تكلفة (بدون غراء ، بدون حفر ، بدون صواميل ومسامير ، بدون براغي): 3 خطوات
مبرد / حامل للكمبيوتر المحمول بدون تكلفة (بدون غراء ، بدون حفر ، بدون صواميل ومسامير ، بدون براغي): التحديث: يرجى & nbsp ؛ يرجى التصويت على & nbsp ؛ من أجل الدخول في www.instructables.com/id/Zero-Cost-Aluminum-Furnace-No-Propane-No-Glue-/ أو ربما التصويت لأفضل أصدقائي