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

بدء استخدام MicroPython على ESP8266: 10 خطوات (بالصور)
بدء استخدام MicroPython على ESP8266: 10 خطوات (بالصور)

فيديو: بدء استخدام MicroPython على ESP8266: 10 خطوات (بالصور)

فيديو: بدء استخدام MicroPython على ESP8266: 10 خطوات (بالصور)
فيديو: Строительство метеостанции Wi-Fi | Adafruit ESP8266 ***Устарело – доступна новая версия *** 2024, شهر نوفمبر
Anonim
الشروع في العمل مع MicroPython على ESP8266
الشروع في العمل مع MicroPython على ESP8266

هل تريد طريقة مختلفة لبرمجة اللوحات المستندة إلى ESP8266 بدلاً من الطريقة الشائعة باستخدام Arduino IDE جنبًا إلى جنب مع لغة البرمجة C / C ++؟

في هذا البرنامج التعليمي سوف نتعلم من يقوم بتكوين والتحكم في لوحة ESP8266 باستخدام MicroPython.

وقت البناء: 60 دقيقة صعوبة: التصنيف: سهل

الخطوة 1: ما هو MicroPython؟

MicorPython هي واحدة من العديد من لغات البرمجة التي يمكننا استخدامها لبرمجة وحدة ESP8266. إنه إصدار خفيف وسريع من لغة برمجة Python 3 وله العديد من المزايا مقارنة بلغات البرمجة التقليدية مثل C و C ++.

تم تصميم MicroPython ليكون متوافقًا مع Python العادية قدر الإمكان. يحتوي على مترجم Python ووقت تشغيل كامل ، ويوفر موجهًا تفاعليًا يعرف باسم REPL (Read-Eval-Print Loop).

تم تصميم MicorPython لدعم أنواع قليلة مختلفة من ميكروكنترولر. لكن في هذا البرنامج التعليمي ، سأعمل مع نموذج واحد فقط: اللوحة المستندة إلى ESP8266 (NodeMCU). لاحظ أن هناك عددًا قليلاً من اللوحات المختلفة التي يمكنك شراؤها بنفس الشريحة.

القراءة والموارد:

ميكروبايثون

NodeMCU

الخطوة 2: المتطلبات

متطلبات
متطلبات
متطلبات
متطلبات
متطلبات
متطلبات
متطلبات
متطلبات

لتتمكن من متابعة هذا البرنامج التعليمي ، تحتاج فقط إلى امتلاك خبرة أساسية في الترميز مع Python. لا تحتاج إلى أي معرفة سابقة بالميكروكونترولر أو الإلكترونيات أو حتى MicroPython.

ستحتاج أيضًا إلى كمبيوتر يعمل بنظام Windows أو Mac أو Linux مع منفذ USB مجاني ، حيث ستقوم بتوصيل متحكم دقيق بجهاز الكمبيوتر الخاص بك لبرمجته.

الأجزاء المطلوبة:

1 × NodeMCU (أو لوحة أخرى قائمة على ESP8266)

1 × أحمر 5 مم LED

1 × 220Ω 1/4 واط المقاوم

1 × 10KΩ مقياس الجهد الدوراني

1 × اللوح

1 × USB إلى كابل MicroUSB

أسلاك العبور.

الخطوة 3: لماذا اللوحة القائمة على ESP8266؟

لماذا اللوحة القائمة على ESP8266؟
لماذا اللوحة القائمة على ESP8266؟

إحدى الطرق التي يمكنك من خلالها تحقيق أقصى استفادة من ESP8266 هي استخدام MicroPython. أيضًا ، تعد الوحدة النمطية ESP8266 واحدة من أفضل الأنظمة الأساسية التي يمكنك من خلالها تعلم كيفية استخدام MicroPython. هذا لأن ESP8266 يوفر وظائف تحكم GPIO pin بسيطة بالإضافة إلى وظائف لاسلكية ، مما يسمح لك باختبار جميع جوانب لغة برمجة MicroPython.

شريحة ESP8266 مشهورة في صناعة تطوير المصادر المفتوحة. هناك العديد من لوحات التطوير من جهات تصنيع مختلفة تستخدم شريحة ESP8266. تم تصميم MicroPython لتوفير منفذ عام يمكن تشغيله على معظم تلك اللوحات ، مع أقل قدر ممكن من القيود. يعتمد المنفذ على لوحة Adafruit Feather HUZZAH عند استخدام لوحات ESP8266 الأخرى ، تأكد من التحقق من المخططات وأوراق البيانات الخاصة بهم حتى تتمكن من تحديد الاختلافات بينها وبين لوحة Adafruit Feather HUZZAH. بهذه الطريقة ، يمكنك استيعاب الاختلافات في التعليمات البرمجية الخاصة بك.

القراءة والموارد:

ESP8266

ريشة Adafruit HUZZAH

الخطوة 4: إعداد جهاز الكمبيوتر الخاص بك

إعداد جهاز الكمبيوتر الخاص بك
إعداد جهاز الكمبيوتر الخاص بك
إعداد جهاز الكمبيوتر الخاص بك
إعداد جهاز الكمبيوتر الخاص بك
إعداد جهاز الكمبيوتر الخاص بك
إعداد جهاز الكمبيوتر الخاص بك
إعداد جهاز الكمبيوتر الخاص بك
إعداد جهاز الكمبيوتر الخاص بك

هناك العديد من الأشياء التي يجب عليك إعدادها قبل استخدام MicroPython لبرمجة لوحة ESP8266 الخاصة بك. سنخوض عملية الإعداد في هذه الخطوة. بهذه الطريقة ستعرف كيفية تكوين لوحة ESP8266 لاستخدامها مع MicroPython.

يستعد

كل ما تحتاجه من هذه الخطوة إلى الخطوة 6 هو ESP8266 وكابل USB. قم بتوصيل لوحة ESP8266 بجهاز الكمبيوتر الخاص بك.

كيف افعلها…

الخطوة 1: تثبيت برامج تشغيل الجهاز

إذا كان لديك جهاز كمبيوتر يعمل بنظام Linux ، فلن تحتاج إلى تثبيت أي برامج تشغيل للأجهزة حتى يتم التعرف على وحدة التحكم الدقيقة ، ولكن لديك جهاز يعمل بنظام التشغيل Mac أو Windows ، يلزم وجود برنامج تشغيل للسماح للكمبيوتر بالتعرف على وحدة التحكم الدقيقة كجهاز تسلسلي.

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers.

الخطوة 2: قم بتثبيت Python

الأدوات التي ستستخدمها للتواصل مع ESP8266 مكتوبة بلغة Python ، لذلك تحتاج إلى تثبيت Python على جهاز الكمبيوتر الخاص بك.

إذا كان نظام التشغيل الخاص بك لا يوفر Python معبأة مسبقًا ، فيمكنك الانتقال إلى https://python.org لتنزيل إصدار رسمي لأي من أنظمة التشغيل المدعومة.

الخطوة 3: قم بتثبيت esptool و rshell

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

نقطة تثبيت esptool rshell

الخطوة 4: تنزيل MicroPython

قم بتنزيل أحدث البرامج الثابتة MicroPython.bin من الرابط التالي:

في الوقت الذي أكتب فيه هذا ، الإصدار الحالي هو 1.11 ، وملف البرنامج الثابت يسمى esp8266-20190529-v1.11.bin

بحلول الوقت الذي تقوم فيه بذلك ، قد تجد إصدارًا أحدث.

الخطوة 5: تفليش MicroPython باستخدام Esptool.py

وامض MicroPython مع Esptool.py
وامض MicroPython مع Esptool.py
وامض MicroPython مع Esptool.py
وامض MicroPython مع Esptool.py

قبل وميض برنامج ثابت جديد في اللوحة ، من الأفضل مسح أي بيانات سابقة ، وهذا شيء يجب عليك فعله دائمًا حتى تعمل البرامج الثابتة الجديدة من حالة نظيفة.

اذهب حيث قمت بوضع ملف.bin. استخدم esptool.py لمسح الفلاش.

بالنسبة إلى Linux:

esptool.py --port / dev / ttyUSB0 erase_flash

للنوافذ:

esptool.py - منفذ COM3 erase_flash

قد تضطر إلى تغيير المنفذ التسلسلي في الأمر الخاص بك إلى المنفذ التسلسلي الذي تتصل به لوحة ESP8266. إذا كنت لا تعرف رقم المنفذ التسلسلي الخاص بـ ESP8266 ، فيمكنك التحقق من Arduino IDE. ما عليك سوى فتح IDE ثم النقر فوق "أدوات" | الموانئ. يجب أن ترى المنفذ التسلسلي للوحة ESP8266 مدرجًا هناك. استبدل المنفذ التسلسلي في الأمر (/ dev / ttyUSB0) بالمنفذ التسلسلي للوحة الخاصة بك.

الآن بعد أن تم مسح اللوحة بالكامل ، يمكنك وميض إصدار MicroPython الذي قمت بتنزيله للتو ، ويتم هذا أيضًا باستخدام الأمر esptool.py:

esptool.py --port / dev / ttyUSB0 --baud 460800 write_flash 0 esp8266-20190529-v1.11.bin

سيقوم هذا الأمر بكتابة محتويات ملف MicroPython.bin إلى اللوحة على العنوان 0.

تأكد من تغيير اسم ملف.bin الخاص بالبرنامج الثابت في الأمر (esp82688-2019-080529-v1.11.bin) إلى اسم البرنامج الثابت الذي قمت بتنزيله.

بمجرد تثبيت البرنامج الثابت بنجاح على لوحة ESP8266 ، يمكنك الوصول إلى REPL على اللوحة الخاصة بك عبر اتصال سلكي (منفذ تسلسلي UART) أو شبكة WiFi.

الخطوة 6: استخدام MicroPython REPL مع Rshell

باستخدام MicroPython REPL مع Rshell
باستخدام MicroPython REPL مع Rshell
باستخدام MicroPython REPL مع Rshell
باستخدام MicroPython REPL مع Rshell

أنت الآن جاهز لبدء تشغيل MicroPython على لوحة ESP8266.

ما سأوضحه لك كيفية الاتصال بموجه Python الذي يعمل على اللوحة الخاصة بك ، وهذا ما يسمى REPL ، والتي تعني "Read-Eval-Print-Loop". هذا هو موجه Python القياسي الذي من المحتمل أن تكون معتادًا على رؤيته عند العمل مع مترجم Python العادي ، ولكن هذه المرة سيتم تشغيله على لوحك ، وللتفاعل معه ، ستستخدم الاتصال التسلسلي بجهاز الكمبيوتر الخاص بك. مستعد؟

للاتصال باللوحة الخاصة بك وفتح جلسة REPL ، أدخل الأمر التالي:

rshell --port

سينقلك هذا الأمر إلى موجه rshell. انظر الصورة أعلاه.

إذا كنت تتابع هذا البرنامج التعليمي على Windows ، فلاحظ أن rshell لديه سجل من المشاكل عند التشغيل على Windows.

لذلك لإصلاح هذا النوع:

rshell -a منفذ COM3

من خلال هذه المطالبة ، يمكنك تنفيذ مهام الإدارة المتعلقة بلوحة وحدة التحكم الدقيقة الخاصة بك ، وكذلك بدء Python REPL الذي يمكنك استخدامه للتفاعل مع اللوحة في الوقت الفعلي ، لذا فقط أدخل الأمر التالي:

رد

للتأكد من أن كل شيء يعمل ، اكتب جملة بايثون بسيطة:

طباعة ("Hello World")

الخطوة 7: التحكم في الدبابيس باستخدام MicroPython

التحكم في الدبابيس باستخدام MicroPython
التحكم في الدبابيس باستخدام MicroPython
التحكم في الدبابيس باستخدام MicroPython
التحكم في الدبابيس باستخدام MicroPython

في هذه الخطوة ، سوف نتعلم كيفية التحكم في دبابيس ESP8266 باستخدام MicroPython. للقيام بذلك ، سوف نتوصل إلى إعداد حيث سنقوم بتبديل حالة مؤشر LED المتصل بمسمار GPIO للوحة ESP8266. سيساعدك هذا على فهم كيفية التحكم في المخرجات الرقمية باستخدام MicoPython.

يستعد

ستحتاج إلى الأشياء التالية لإنجاز هذه الخطوة:

1 × NodeMCU

1 × أحمر 5 مم LED

1 × 220 المقاوم

1 × اللوح

أسلاك العبور

البناء

ابدأ بتركيب مؤشر LED على اللوح. قم بتوصيل أحد طرفي المقاوم 220 بالجزء الموجب من LED (عادةً ما يكون الجزء الموجب لمصباح LED هو الطرف الأطول من الساقين). قم بتوصيل الطرف الآخر من المقاوم بالدبوس D1 للوحة ESP8266. ثم قم بتوصيل الجزء السالب من LED بدبوس GND للوحة ESP8266. الاتصال كما هو موضح في الرسم البياني أعلاه.

بمجرد اكتمال الإعداد ، قم بتوصيل لوحة ESP8266 بجهاز الكمبيوتر الخاص بك عبر كابل USB.

كيف افعلها…

اكتب الكود التالي في REPL الخاص بك:

# وميض LED كل ثانية واحدة

وميض def (دبوس = 5 ، الوقت = 1) # وظيفة وميض دبوس افتراضي = 5 ، الوقت = 1s استيراد الجهاز # وحدة الجهاز تحتوي على تكوينات وأنماط الدبوس من وقت استيراد السكون # استيراد السكون لبعض التأخير LED = الجهاز. (led_pin، machine. PIN. OUT) # تكوين LED كـ OUTPUT بينما True: # قم بتشغيل LED للأبد.القيمة (1) # اضبط LED على السكون العالي (الوقت) # انتظر 1 ثانية بواسطة LED الافتراضي. القيمة (0) # مجموعة LED to LOW sleep (time) # انتظر ثانية واحدة افتراضيًا

اكتب blink () في جلسة RPEL لاختبار هذا الرمز ، وسيومض هذا المصباح المتصل بـ GPIO5 كل ثانية واحدة.

يمكنك تغيير الرقم السري و / أو الوقت بالاتصال على:

وميض (دبوس = ، الوقت =)

اضغط على ctrl + c للخروج من الكود قيد التشغيل.

يمكنك استخدام MicroPython لقراءة إدخال من متصل بـ ESP8266. انتقل إلى الخطوة التالية لمعرفة كيفية القيام بذلك.

تحقق من الفيديو إذا علقت.

الخطوة 8: يتلاشى الصمام

يتلاشى الصمام
يتلاشى الصمام
يتلاشى الصمام
يتلاشى الصمام

في هذه الخطوة ، سوف نتعلم كيفية ضبط سطوع LED باستخدام مقياس جهد دوار. سنستخدم تقنية تسمى Pulse Width Modulation (PWM) ، فهي تسمح لنا بتعتيم مؤشر LED بما يصل إلى 256 إعدادًا.

ملاحظة: يمكن استخدام جميع دبابيس ESP8266 كدبوس PWM باستثناء GPIO16 (D0).

يستعد:

ستحتاج إلى الأشياء التالية لإنجاز هذه الخطوة:

1 × NodeMCU

1 × أحمر 5 مم LED

1 × 50 KΩ مقياس جهد دوار.

1 × اللوح

أسلاك العبور

البناء

الاتصال كما هو موضح في الرسم البياني أعلاه: بمجرد اكتمال الإعداد ، قم بتوصيل لوحة ESP8266 بجهاز الكمبيوتر الخاص بك عبر كابل USB.

كيف افعلها…

اكتب الكود التالي في REPL الخاص بك:

# يتلاشى مؤشر LED كل 0.5 من خلال قراءة البيانات من مقياس الجهد

استيراد الجهاز من وقت استيراد السكون led_pin = 5 # POT pin POT = machine. ADC (0) # ADC0 pin LED = machine. Pin (led_pin) # إنشاء كائن LED LED_pwm = machine. PWM (LED ، التكرار = 500) # إنشاء LED_pwm الكائن وتعيين التردد إلى 500 هرتز بينما صحيح: LED_pwm.duty (POT.read ()) # احصل على القيمة من القدر واضبطها على سكون دورة العمل (0.5) # انتظر 0.5

سيؤدي ذلك إلى تغيير سطوع مؤشر LED المتصل بـ GPIO 5 عن طريق تغيير قيمة مقياس الجهد.

اضغط على ctrl + c للخروج من الكود قيد التشغيل.

تحقق من الفيديو إذا علقت.

الخطوة التاسعة: إلى أين من هنا؟

لقد رأينا حتى الآن كيفية تكوين وتشغيل MicroPython على اللوحات المستندة إلى ESP8266. تعلمنا كيفية التحكم في المسامير لتضيء بمصباح LED ثم أضفنا مقياس جهد للتحكم في سطوع مؤشر LED باستخدام تقنية تعديل عرض النبض.

الآن يمكننا قراءة البيانات من جهاز الاستشعار وإرسالها إلى السحابة ، ويمكننا أيضًا إنشاء خادم HTTP حيث يمكنك طباعة بياناتنا في صفحة ويب بسيطة ، إلخ …

هذا يعطينا فكرة كثيرة عن إنترنت الأشياء (IoT).

الخطوة 10: الخاتمة

ها أنت ذا! انطلق وقهر عالم MicroPython.

إذا كان لديك أي سؤال بالطبع يمكنك ترك تعليق.

لمعرفة المزيد حول أعمالي ، يرجى زيارة قناتي على YouTube:

myYouTube

myGitHub

myLinkedin

شكرًا على قراءة هذه التعليمات ^^ وأتمنى لك يومًا سعيدًا.

اراك لاحقا.

أحمد نويرة.

موصى به: