- ما هو ESP8266؟
- أساسيات نظرية WiFi:
- أنواع البرمجة باستخدام ESP8266:
- جهاز لبرمجة وحدة ESP8266:
- المواد المطلوبة:
- شرح الدائرة:
- بناء مجلس لبرنامج ESP8266:
لقد كان إنترنت الأشياء وأتمتة المنازل موضوعًا مثيرًا للانتباه في الأيام الأخيرة. بناء شيء ما بمفردنا يمكنه الاتصال بشبكة الويب العالمية ويمكن الوصول إليه من أي مكان في العالم ، يبدو حقًا رائعًا ، أليس كذلك؟
لكن انتظر!!! كما يبدو معقدا ؟؟؟….
وكذلك فعلت ذلك من أجلي ، اعتقدت أن الأمر سيستغرق وقتًا ومهارة هائلة لبناء أشياء يمكنها التفاعل مع الإنترنت. لا ، لقد كنت مخطئًا تمامًا ، بفضل هذه الوحدة الرائعة التي تسمى ESP8266 من أنظمة Espressif. الآن ، يمكنك بسهولة فتح أبوابك لمشاريع إنترنت الأشياء بمساعدة هذه الوحدة. يمكن لهذه الوحدة منخفضة التكلفة وصغيرة الحجم أن تفعل العجائب وهي حقًا بسيطة وسهلة الاستخدام ، بشرط أن نتبع الخطوات الصحيحة.
تهدف هذه البرامج التعليمية إلى تعريفك بوحدة ESP8266-01 هذه ومساعدتك على البدء بها. ربما تكون قد أحضرت وحدتك بالفعل وتوقفت أثناء محاولة استخدامها. بعد ذلك ، لست وحدك لا تقلق ، فالعديد من الأشخاص يجدون صعوبة بالغة في البدء بالوحدة نظرًا لعدم وجود إرشادات أو وثائق مناسبة لهذه الوحدة. هذا هو سبب جعل هذا البرنامج التعليمي. اتبع التعليمات هنا ويجب أن تكون قادرًا على تشغيل وحدة ESP8266-01 الخاصة بك في أي وقت من الأوقات ، هنا سوف نستخدم FTDI USB to TTL Serial Adapter Module لبرمجة ESP8266. تحقق من الفيديو التفصيلي في نهاية البرنامج التعليمي.
قبل الدخول في الموضوع ، دعنا نغطي بعض الأساسيات حول الوحدة النمطية ESP8266-01.
ما هو ESP8266؟
معظم الناس يطلقون على ESP8266 كوحدة WIFI ، لكنه في الواقع متحكم دقيق. ESP8266 هو اسم المتحكم الدقيق الذي طورته Espressif Systems وهي شركة مقرها شنغهاي. هذا المتحكم الدقيق لديه القدرة على أداء الأنشطة ذات الصلة بـ WIFI ومن ثم يتم استخدامه على نطاق واسع كوحدة WIFI.
هناك العديد من أنواع وحدات ESP8266 المتاحة والتي تتراوح من ESP8266-01 إلى ESP8266-12. الذي نستخدمه في البرنامج التعليمي هو ESP8266-01 لأنه أرخص واحد ومتاح بسهولة. ومع ذلك ، تحتوي جميع وحدات ESP على نوع واحد فقط من معالجات ESP ، ما يختلف فقط هو نوع كسر الانكسار المستخدم. ستحتوي لوحة الاختراق الخاصة بـ ESP8266-01 على دبابيس GPIO فقط بينما ستكون أعلى في اللوحات الأخرى.
المواصفات الكاملة للوحدة موضحة في الجدول أدناه
الجهد االكهربى |
3.3 فولت |
الاستهلاك الحالي |
10uA-170mA |
الحد الأقصى للاستهلاك الحالي أثناء الوميض |
800 مللي أمبير |
ذاكرة متنقله |
16 ميجا بايت (512 كيلو بايت عادي) |
المعالج |
Tensilica L106 32 بت |
سرعة المعالج |
80-160 ميجا هرتز |
الرامات "الذاكرة العشوائية في الهواتف والحواسيب |
32 ألف + 80 ألف |
GPIO |
17 (لكن معظمها مضاعف) |
محول تناظري رقمي |
1 (10 بت) |
الحد الأقصى لاتصالات TCP |
5 |
حسنًا ، هناك بعض الأشياء التي قد تفاجئك بشأن المواصفات هي أنه ، نعم ، تأتي وحدة ESP8266 مع محول ADC وتستهلك تيارًا عاليًا جدًا يبلغ 0.8 أمبير أثناء وميض جهازك.
تحقق أيضًا من مشاريع إنترنت الأشياء المثيرة للاهتمام القائمة على ESP8266.
أساسيات نظرية WiFi:
بروتوكول التحكم في النقل (TCP) ، بروتوكول الإنترنت (IP) ، بروتوكول مخطط بيانات المستخدم (UDP) ، نقطة الوصول (AP) ، المحطة (Sta) ، معرف مجموعة الخدمات (SSID) ، واجهة برمجة التطبيقات (API) ، خادم الويب….
هل كل المصطلحات المذكورة أعلاه منطقية بالنسبة لك؟
اذا نعم. ثم ، BINGO يمكنك القفز على هذا الجزء والانتقال إلى القسم التالي.
إذا ، لا. إذن ، يجب أن تكون واحدًا من بين العديد من الطلاب الكهربائيين الذين رمشوا عينيك في معظم هذه المصطلحات تمامًا كما فعلت عندما تعرفت على كل هذه الأشياء لأول مرة. لذا ، دعونا نجري بسرعة عبر كل هذه المصطلحات لأنه عندها فقط يمكننا أن نجعل دخولنا إلى عالم إنترنت الأشياء.
بروتوكول التحكم في النقل (TCP):
معظمنا يعرف ماذا يعني هذا. نعم ، هذه هي مجموعة القواعد التي يعتمد عليها الإنترنت. نظرًا لأن ESP8266 لديه القدرة على إعداد اتصالات WIFI. في شبكة Wi-Fi عالية المستوى هي القدرة على المشاركة في اتصالات TCP / IP عبر ارتباط لاسلكي. يمكنك جعل ESP الخاص بك يعمل على بروتوكول TCP / IP أو بروتوكول UDP.
بروتوكول مخطط بيانات المستخدم (UDP):
UDP هو أيضًا نوع آخر من بروتوكول الإنترنت. هذا النوع من الاتصال أسرع من TCP ولكنه أقل دقة. والسبب هو أن TCP يستخدم إفادة أثناء الاتصال لكن UDP لا يستخدمه. يستخدم بروتوكول TCP في الغالب في الشبكات التي تتطلب موثوقية عالية. يتم استخدام بروتوكول UDP في الأماكن التي يكون فيها للسرعة أولوية عالية عن الموثوقية. على سبيل المثال ، يتم استخدام UDP في مؤتمرات الفيديو ، لأنه حتى إذا لم يتم إرسال بعض وحدات البكسل ، فلن يؤثر ذلك على جودة الفيديو كثيرًا ولكن السرعة مهمة جدًا.
تعمل معظم مشاريع ورموز ESP8266 حول TCP / IP ، سيكون UDP أقل إزعاجًا.
نقطة الوصول (AP) والمحطة (STA):
بمجرد أن تبدأ العمل مع وحدة ESP ، ستصادف هذين المصطلحين بشكل متكرر. دعنا نقول أنك أنت وصديقك ترغبان في تصفح الإنترنت على الهواتف الذكية الخاصة بك ، ولكن نظرًا لأنه ليس لديه اتصال إنترنت نشط ، فقد قررت تشغيل نقطة الاتصال الخاصة بك ويتصل صديقك بها. هنا هاتفك الذي يحدد مصدر اتصال الإنترنت هو نقطة الوصول (AP) وهاتف صديقك الذي يستخدم الإنترنت يسمى المحطة (STA).
يمكن استخدام وحدة ESP8266 في ثلاثة أوضاع ، وضع AP ، ووضع STA أو في كل من وضع STA و AP (مدمجين).
معرف مجموعة الخدمات (SSID):
هذا مصطلح بسيط إلى حد ما. استخدمنا جميعًا تقريبًا شبكة WIFI. يُطلق على اسم شبكة Wi-Fi اسم SSID الخاص بها. عندما يكون لدينا نقاط وصول متعددة لمحطة للاتصال بها ، يجب أن تعرف المحطة نقطة الوصول التي يجب أن تتصل بها ، ومن ثم يتم منح كل نقطة وصول (AP) هوية تسمى SSID.
واجهة برمجة التطبيقات (API):
لتبسيط الأمر ، فإن API هو برنامج مراسلة يأخذ طلباتك ويعالجها ويعيد النتيجة المرجوة إلى نظامك تستخدم معظم الأنشطة التي نقوم بها على الإنترنت واجهات برمجة التطبيقات ، مثل عند حجز رحلة ، وإجراء عملية شراء عبر الإنترنت وما إلى ذلك. وتربطك كل مواقع الويب بواجهة برمجة تطبيقات حيث يتم تنفيذ جزء من العمل مثل الاشتراك ، والدفع وما إلى ذلك نيابة عنك هناك.
يستخدم ESP8266 API للتحدث إلى عالم الإنترنت. على سبيل المثال ، إذا كانت تريد معرفة الوقت أو المناخ أو أي شيء يجب أن تطلبه في شكل واجهة برمجة تطبيقات لموقع الويب المقابل. سيتلقى هذا الموقع الإلكتروني الطلب ويعيد النتيجة المرجوة إلى وحدة ESP الخاصة بنا.
قاعدة بيانات للانترنت:
خادم الويب هو شيء مسؤول عن عرض محتويات موقع الويب. سيتم تحميل جميع محتويات هذا الموقع المحدد في خادم الويب الخاص به. هناك أجهزة كمبيوتر مخصصة تتمثل وظيفتها في العمل كخادم ويب فقط. يمكننا أيضًا برمجة ESP8266 الخاص بنا للعمل كخادم ويب ، والاتصال به من أي مكان في العالم.
حسنًا ، هذا كافٍ لنا لنبدأ. الآن ، دعونا نضع أيدينا على الأجهزة.
أنواع البرمجة باستخدام ESP8266:
هناك طريقتان للعمل مع وحدة ESP8266. سيساعدك هذا البرنامج التعليمي على البدء في كليهما. إحدى الطرق هي استخدام أوامر AT. الطريقة الأخرى هي استخدام Arduino IDE. دعونا نفهم ماذا يعني ذلك.
ستحتوي جميع وحدات ESP8266 التي يتم شحنها من المصنع على برنامج ثابت افتراضي (SDK + API) يتم تحميله فيها. سيساعدك هذا البرنامج الثابت على برمجة وحدة ESP8266 من خلال أوامر AT.
الطريقة الأخرى هي عن طريق برمجة وحدة ESP8266 مباشرة باستخدام Arduino IDE (اللوحة غير مطلوبة) ومكتباتها. يمكن تنفيذ جميع المشاريع بكلتا الطريقتين. ولكن ، إذا بدأت في استخدام Arduino IDE لبرمجة ESP8266 ، فقد لا تتمكن من استخدام أوامر AT لأن SDK الافتراضي قد يكون تالفًا. في هذه الحالة ، يجب عليك وميض ESP بالإعدادات الافتراضية. سنغطي ذلك في برنامج تعليمي آخر.
جهاز لبرمجة وحدة ESP8266:
ESP8266 عبارة عن وحدة 8 طرفية. يظهر دبوس خارج نفسه أدناه.
لسوء الحظ ، هذه الوحدة ليست صديقة للوحة التجارب وبالتالي لا يمكننا تركيبها مباشرة على لوح التجارب. أيضًا على عكس Arduino ، لا يحتوي على USB مدمج لبرنامج التشغيل التسلسلي ؛ ومن ثم يتعين علينا استخدام "FTDI USB to TTL Serial Adapter Module" للتواصل معها. تأكد من أن لوحة FTDI يمكن أن تعمل على 3.3 فولت أيضًا ؛ الذي نستخدمه في هذا البرنامج التعليمي موضح أدناه.
الآن ، كما نعلم ، يجب علينا تشغيل ESP8266 بقوة 3.3 فولت. لكن الاستهلاك الحالي هو 0.8A ، لذلك قد لا يعمل كما هو متوقع إذا تم تشغيله من لوحة اختراق FTDI الخاصة بنا. ومن ثم علينا بناء دائرة الطاقة الخاصة بنا. هنا استخدمنا LM317 لغرض الطاقة ؛ يتم إعطاء أقسام لاحقة تفاصيل صنع الأجهزة الكاملة.
المواد المطلوبة:
- مجلس بيرف
- ESP8266-01
- مجلس الاختراق FTDI
- إل إم 317
- 0.1 فائق التوهج مكثف
- 10 فائق التوهج مكثف
- جاك برميل
- Bergstik ذكر وأنثى
- اضغط الزر
- توصيل الأسلاك
- محول 12 فولت لتشغيل اللوحة.
شرح الدائرة:
تظهر مخططات اللوحة أدناه
قد يكون البعض قد حاول تشغيل ESP الخاص بك مباشرة من FTDI الخاص بك وجعله يعمل ، ولكن فيما يلي الأسباب لبناء اللوحة الخاصة بك مع بعض المكونات الإضافية:
- يمكن فقط لعدد قليل من لوحات FTDI أن توفر تيارًا كافيًا لوحدة ESP. قد تستهلك وحدات قليلة من ESP تيارًا عاليًا عن الأخرى أثناء الوميض. ومن ثم ، فمن الآمن دائمًا أن يكون لديك مصدر طاقة خاص بك ، وسيكون من الأسهل دمج دائرة الطاقة في Dot Board بدلاً من اللوح.
- يجب علينا دائمًا إعادة تعيين وحدة ESP قبل تحميل الكود ، وسيساعدنا بناء اللوحة الخاصة بنا في إعادة ضبط الوحدة بسهولة. لقد استخدمنا زر الضغط لإعادة تعيين ESP8266.
- يجب تأريض دبوس GPIO0 عند البرمجة باستخدام Arduino ويجب تركه مجانيًا عند استخدام أوامر AT ، ويمكن بسهولة تبديل هذا إذا قمنا ببناء اللوحة الخاصة بنا. لقد استخدمنا Jumper للتبديل بين وضع أوامر AT ووضع برمجة Arduino IDE.
- تتم جميع البرمجة باستخدام الاتصال التسلسلي ، إذا كنت تستخدم لوحة توصيل ، فقد تتسبب بعض المحطات الطرفية في حدوث خطأ في منتصف الطريق وتجبرنا على وميض الوحدة للعمل مرة أخرى.
ومع ذلك ، يمكنك الاختيار بين استخدام لوح التجارب ، وإنشاء لوحتك الخاصة لبرمجة الوحدة. إذا كنت لا تزال ترغب في استخدام اللوح ، فيمكن إنشاء نفس الدائرة الموضحة أعلاه باستخدام لوح التجارب. سيكون المظهر فقط مختلفًا ، وسيتم تطبيق جميع الإرشادات الأخرى في هذا البرنامج التعليمي بنفس الطريقة.
بناء مجلس لبرنامج ESP8266:
لذلك نحن هنا بصدد بناء اللوحة لبرمجة وحدة ESP8266 التي لها دائرة تشغيل خاصة بها لتشغيل ESP8266.
كما قيل ، ستتطلب وحدتنا حوالي 800 مللي أمبير أثناء برمجتها. ومن ثم قمنا ببناء وحدة الطاقة الخاصة بنا باستخدام منظم الجهد المتغير LM317 نظرًا لأن تيار المصدر لـ LM317 يبلغ 1.2 أمبير تقريبًا. سيكون جهد الدخل لـ LM317 هو 12 فولت والذي سيتم إعطاؤه باستخدام محول التثبيت على الحائط 12 فولت 2 أمبير. سيتم تنظيم خرج LM317 إلى 3.3 فولت باستمرار باستخدام مقاومات 220 أوم و 360 أوم. تحقق أيضًا من دائرة شاحن البطارية باستخدام LM317 لمعرفة المزيد عن LM317.
الصيغ لحساب جهد الخرج لـ LM317 موضحة أدناه:
صوت = 1.25 * (1+ (R2 / R1))
حيث R1 تساوي 220 أوم و R2 تساوي 360 أوم.
يتم توصيل الوحدة النمطية ESP8266 وفقًا للمسامير الموضحة في الجدول أدناه.
رقم الدبوس |
اسم دبوس ESP |
متصلا |
1 |
أرض |
أرضية وحدة FTDI |
2 |
GPIO2 |
تُركت حرة أو متصلة بعصا بيرج للاستخدام في المستقبل |
3 |
GPIO0 |
قم بالتبديل للتبديل بين أوضاع البرمجة |
4 |
آر إكس |
وحدة Tx من FTDI |
5 |
TX |
Rx لوحدة FTDI |
6 |
CH_PH |
3.3 فولت من LM317 |
7 |
إعادة تعيين |
زر الضغط لإعادة ضبط الوحدة |
8 |
Vcc |
3.3 فولت من LM317 |
للتبديل بسهولة بين وضع أوامر AT ووضع برمجة Arduino ، قمت بوضع مفتاح (وصلة مرور) والذي سيسحب GPIO 0 إلى الأرض عند استخدام Arduino IDE وسيتركه عائمًا عند استخدام أوامر AT.
يوجد زر ضغط يقوم عند الضغط عليه بإعادة ضبط وحدة ESP. يتم ذلك ببساطة عن طريق توصيل دبوس RST لوحدة ESP بالقضيب الأرضي من خلال زر الضغط. في كل مرة قبل برمجة وحدة ESP الخاصة بنا ، يجب إعادة ضبطها.
بمجرد تجميع الدائرة ، يجب أن تبدو مثل هذا أدناه.
لقد استخدمت لوحة Perf ولكن يمكنك أيضًا استخدام لوح التجارب إذا كنت مهتمًا (كما تمت مناقشته أعلاه). يظهر البناء والشرح الكاملان في الفيديو أدناه.
بمجرد الانتهاء من التوصيلات. قم بتشغيل اللوحة بدون لوحات ESP و FTDI وتحقق مما إذا كنا نحصل على 3.3 فولت بشكل صحيح على المحطات الطرفية Vcc والأرضية لموضع وحدات ESP. تأكد الآن من أن لوحة FTDI في وضع 3.3V وقم بتوصيل وحدتي FTDI و ESP بلوحك.
قم بتشغيل المحول الخاص بك وتوصيله باللوحة الخاصة بك ، يجب أن تضيء وحدة ESP باللون الأحمر.
ثم قم بتوصيل لوحة FTDI بجهاز الكمبيوتر الخاص بك باستخدام كابل USB صغير إلى USB وانتقل إلى مدير الأجهزة على جهاز الكمبيوتر الخاص بك وستجد أن لوحة FTDI متصلة بمنفذ COM الخاص بك ، كما هو موضح أدناه:
حان الوقت الآن للحصول على أيدينا على برمجة وحدة ESP8266 الخاصة بنا. يمكنك البدء باستخدام أوامر AT ثم الانتقال إلى استخدام Arduino IDE. لا تنس التحقق من مشاريعنا الأخرى القائمة على ESP8266.