
ما هو هذا المقال حول
نواصل سلسلة المقالات على
ShIoTiny - وحدة تحكم قابلة للبرمجة بصريًا تستند إلى شريحة
ESP8266 .
يتحدث هذا المقال حول ما الذي تغير منذ البرامج الثابتة
ShIoTiny السابقة: كيف تغيرت واجهة المستخدم ؛ كيفية إعادة تعيين "الساقين" وغيرها من الأشياء الأقل أهمية ، ولكن لا تقل عن الأشياء التي طال انتظارها.
يقدم المقال شيئًا ما يشبه "صحيفة
وقائع " عن الحالة في مجال
تطوير البرامج الثابتة
ShIoTiny . أولئك الذين لا يهتمون بتطوير هذا المقال يمكنهم تخطي هذه المقالة بضمير مرتاح.
بالنسبة لأولئك الذين لا يعرفون ما الذي يتحدثون عنه ، ولكنهم يريدون معرفة ذلك ، يمكنهم قراءة مقالاتي السابقة حول البرامج الثابتة
ShIoTiny أو الرجوع إلى
الوثائق .
موقع مشروع ShIoTinyالإصدار عبر الإنترنت من محرر ElDraw هو نفسه كما هو الحال في البرامج الثابتة ، للرجوع إليها.
ارتباطات إلى الخطط والبرامج الثابتة والمزيد - على موقع
ShIoTiny في قسم الوثائق.
مقالات ShIoTiny السابقة ومقالاتي الأخرىمقدمة لطمأنة الجمهور الموقر
لقد حدث أن الربع الرابع هو اندفاع دائم. لذلك ، بدأ بعض الرفاق بالفعل في دفن مشروع
ShIoTiny والكتابة إليّ بالبريد ، يقولون - "مهلا ، مؤلف ، أين أنت؟! لماذا لا تكتب؟ نحن نستخدم البرامج الثابتة الخاصة بك هنا! وأنت لست مقالًا جديدًا! "
بالطبع ، كان ذلك بطريقة مهذبة ، ولكن من حيث المعنى كان. على العكس من ذلك ، كتب البعض اقتراحات وتعليقات ، مما ساعد كثيرًا في التقاط برغوث البرامج. شكرا يا شباب. من الجيد دائمًا ألا تطبخ في العصير الخاص بك ، ولكن لديك أشخاص متشابهين في التفكير.
الأصدقاء! أذكركم أن مشروعي هواية وإلى جانب ذلك لدي وظيفة وزوجة وأطفال. لذا أتوسل إليك: كن متساهلاً! يكتب المؤلف كيف يمكن وما في وسعهم :)
أسارع إلى طمأنة الجميع:
المشروع لم يمت ! لقد اكتشفت عددًا غير قليل من البراغيث من الشفرة ، وبالإضافة إلى ذلك ، أعدت موقع المشروع (على الرغم من أنني لم أكمله بعد - لقد ملأت الموقع بالمحتوى)
من وجهة نظر معظم التعاليم الفلسفية في العالم لا يوجد شيء دائم. حتى كوننا يتطور. ماذا يمكن أن نقول عن البرامج الثابتة متحكم أو موقع المشروع؟
أثرت التغييرات الأساسية في البرامج الثابتة
ShIoTiny على شيئين أساسيين: إمكانية إعادة تعريف الأرجل وصفحة حالة جهاز التحكم. سنتحدث عنهم. بالنسبة للتصميم الجديد لموقع المشروع ، لن أتطرق إليه هنا: أي شخص فضولي سيأتي وينظر وينتقد.
إعادة تعريف ESP8266 الساقين
لذلك ، الساقين أو هم -
GPIO . في البداية ،
لم يكن المقصود من الساق من متحكم
ESP866 لإعادة تعريف. تم تسميتها بشكل صارم على مدخلات ومخرجات لوحة
ESP-07 (أي شخص مهتم - كل شيء عنها موجود على موقع المشروع).
لكن فجأة اتضح أن البرنامج الثابت الخاص بي دون أي تغيير لا ينطبق فقط على وحدة
ESP-07 مع 1MB FLASH ، ولكن أيضًا على
ESP-01 و
ESP-12 وحتى على
ESP-8285 !
السؤال الذي يطرح نفسه هو أن المرء يحتاج إلى 5 مدخلات ومخرج واحد ، ومخرجات 6 أخرى دون مدخلات ، ومقاييس الحرارة الثالثة في نفس الوقت.
موجة من الرسائل من الجمهور الساخط تكاد تظلم بقايا ذهني! كانت زوجتي تستعد بالفعل لدعوة لي بالترتيب مع قميص الموت ... ولكن تبين لي أن يكون الجوز صعبة!
جمعت أسناني وشربت ثلاثة لترات من القهوة ، وجمعت بقايا المخ ، والتي لم تكن في حالة سكر بالمصادفة في جسم الطالب ، واكتشفت كيفية تنفيذ الحيلة من خلال إعادة تعريف الساقين بحيث يشعر الجميع بالرضا.
لن أحمل القارئ مع مطبخ البرنامج الداخلي. من وجهة نظر المستخدم ، يبدو كل شيء بسيطًا للغاية: يضغط الماوس على عقدة متصلة بأي جزء من وحدة
GPIO ويختار ساق واحدة من قائمة الأشكال الممكنة. تقريبا كما هو مبين في الشكل أدناه.
N / A - يعني أن القدم غير محددة.
إذا كانت هناك عقدة في الدائرة مع عدم تحديد الساق غير المحددة ، فلا يمكن تحميل هذه الدائرة في الجهاز - لن يسمح محرر
ElDraw بذلك . ولكن يمكن تنزيل هذا المخطط على القرص لمواصلة تحريره "في وقت لاحق".
كل شيء بسيط للغاية ، ولكن هناك فروق دقيقة.
أولاً ، وهو مريح للغاية في رأيي ، يتم عرض الساقين غير المستخدمة فقط في القائمة. وهذا هو ، واختيار ساق واحدة مرتين أمر مستحيل.
ثانياً ، تم
تخصيص الضلع GPIO15 لزر AP ولا يمكن استخدامه لأغراض أخرى. آسف ، ولكن على خلاف ذلك ، لا مفر ...
ثالثًا ، لا يمكن استخدام
الضلع GPIO16 كمدخلات ثنائية منتظمة (عقدة
الإدخال ).
رابعًا ، لا يمكن استخدام
الأرجل GPIO9 و
GPIO10 إلا على وحدة
ESP-8285 . على الوحدات الأخرى ، ستكون النتيجة كارثية - التبعية الكاملة وإعادة التشغيل التي لا تنتهي!
النقطة الأخيرة - تعليق بعض الوحدات عند اختيار
الساقين GPIO9 و
GPIO10 جعلني أفكر بشدة. بعد كل شيء ، لا أريد تغيير وحدة التحكم في كل مرة إذا تم اختيار الساقين بشكل غير صحيح! وقد توصلت إلى طريقة جديدة معدلة للدخول في وضع التكوين.
طريقة جديدة للدخول في وضع التكوين
إذا قرأ شخص ما مقالاتي السابقة ، فإنه يتذكر أن وضع تكوين البرنامج الثابت
ShIoTiny هو الوضع الذي تصبح فيه رقاقة ESP8266 نقطة وصول مفتوحة ، ولا تبدأ دائرة البرنامج تلقائيًا بعد إعادة التشغيل. وإذا لم يبدأ ، فلن يتوقف عند اختيار أي أرجل
GPIO .
وهذا هو ، في وضع التكوين ، يمكنك تغيير أرجل مشكلة
GPIO9 و
GPIO10 للآخرين. ولكن المشكلة هي أنه لا يمكنك الدخول في وضع التكوين إلا عن طريق الضغط على زر
AP لمدة 4 ثوانٍ! وخلال هذا الوقت ، سيكون لدى وحدة التحكم الوقت لبدء تنفيذ برنامج الدائرة "المنحنى" وتجميده!
لحل هذه المشكلة ، توصلت إلى فاصل حماية نصف ثانية بعد إعادة تشغيل وحدة التحكم. إذا تم الضغط على زر
AP في غضون 0.5 ثانية بعد إعادة تشغيل وحدة التحكم ، سيتم إعادة تشغيل وحدة التحكم على الفور في وضع التكوين. في نفس الوقت ، خلال فاصل الحراسة النصف الثاني ، لا يبدأ مخطط البرنامج. وهذا يعني أنه لا يمكن تعليقه.
سلبيات واضحة - البرنامج لا يبدأ على الفور ، ولكن بعد نصف ثانية. المزايا أكبر بكثير - إذا قمت بتحديد "الأرجل الخاطئة" أو تجمد برنامج الدائرة لسبب آخر ، يمكنك دائمًا الدخول في وضع التكوين وإصلاح الموقف دون وميض وحدة التحكم.
في الممارسة العملية ، يبدو كل شيء أبسط من اللفت على البخار: نضغط على زر
إعادة الضبط ، ونطلق زر
إعادة الضبط هناك ، دون تدخل ، نضغط على زر
AP . مباشرة لمدة نصف ثانية تقريبًا ، يضيء مصباح
STATUS LED الأزرق (إذا كنت ، بطبيعة الحال ،
قمت بتثبيته على
GPIO0 ) وسيتم إعادة تشغيل وحدة التحكم في وضع التكوين.
إذا كانت دائرة البرنامج تعمل بشكل طبيعي ، فيمكنك دائمًا التبديل إلى وضع التكوين بالطريقة "القديمة" - بالضغط مع الاستمرار على زر
AP لمدة 4 ثوانٍ تقريبًا (حتى يضيء مصباح
STATUS LED الأزرق).
صفحة حالة ShIoTiny
أدت القدرة على توصيل الأرجل حسب
رغبة المستخدم إلى مراجعة صفحة المعلومات الرئيسية لبرنامج
ShIoTiny الثابت.
بعد مداولات مكثفة ، توصلت إلى استنتاج مفاده أن الصفحة يجب أن تكون) غنية بالمعلومات و (ب) لا تحتوي على الكثير.
ما حصلت عليه مبين في الشكل أدناه.

يوجد قسمان في صفحة المعلومات الرئيسية:
معلومات -
معلومات عامة و
GPIOs مستعملة - معلومات حول استخدام أرجل الإدخال / الإخراج. لننظر فيها بمزيد من التفصيل.
قسم المعلومات
الاسم: esp_8266_155da4 - اسم فريد للجهاز. يتم إنشاؤه تلقائيا ولا يمكن تغييره.
Ver: 2019-10-22 22:54:51 +0700 6b5ee82 نظيفة - إصدار البرامج الثابتة (تاريخ البناء ومعرف الالتزام).
MQTT: متصل بـ: 192.168.1.2:21064 ، SSL - اتصال بخادم MQTT. يعرض عنوان IP الخاص بالخادم أو عنوان URL ، ومنفذ الخادم ، ووضع SSL في حالة استخدام اتصال آمن. تذكر أنه إذا كان برنامج الدائرة لا يحتوي على عقد للعمل مع MQTT ، فلن يتم تأسيس الاتصال أبدًا!
شبكة WiFi: STA ip: 192.168.1.134. - وضع تشغيل
WiFi ESP8266 : محطة
STA ، نقطة وصول
AP . يمكن تحديد كلا الوضعين بعناوين IP مختلفة في نفس الوقت.
الآن: الأربعاء 30 أكتوبر 2019 21:49:28 بتوقيت جرينتش + 0700 - الوقت الحالي. يظهر أنه لا يوجد سوى الوقت المحدد بواسطة عقدة
ضبط الوقت ! خلاف ذلك ، سيتم الإشارة إلى أن الوقت غير متزامن وغير مضبوط.
تستخدم قسم GPIOs
يعرض هذا القسم جميع أرجل الوحدة النمطية المستخدمة في مخطط البرنامج وحالتها الحالية.
تنسيق الإخراج واضح:
GPIO <رقم الساق> (وظيفة): الحالةرقم الساق هو الرقم أو ، بالنسبة إلى
ADC ، بدلاً من الرقم ، سيكون
adc النقش.
وظيفة:
المدخلات - المدخلات الثنائية.
ترحيل - الإخراج الثنائي ؛
ADC - ADC أو نوع المستشعر:
DS182x أو
DHTxx .
حقل "الدولة" - يعتمد على الغرض من الساق.
للمدخلات والمخرجات الثنائية - 0 أو 1.
لأجهزة الاستشعار - درجة الحرارة والرطوبة.
بالنسبة إلى ADC - قراءاتها يتم إعادة حسابها وفقًا للصيغة المحددة (انظر وصف العمل مع ADC في التعليمات).
في رأيي ، تحتوي الصفحة الرئيسية على جميع المعلومات اللازمة حول تشغيل وحدة التحكم.
استنتاج
هنا ، في الواقع ، هي كل التغييرات الرئيسية في البرامج الثابتة اليوم. بالإضافة إلى هذه الابتكارات ، تم إصلاح العشرات من الأخطاء الطفيفة الخمسة.
كالعادة - تعليمات مفصلة على موقع
ShIoTiny في قسم الوثائق أو
هنا .
الاقتراحات ، والرغبات ، والنقد ،
والمال ، والهدايا ، وما إلى ذلك - أرسل لي تعليقًا أو رسالة بريد إلكتروني:
shiotiny@yandex.ru .
في انتظار ردود الفعل والاقتراحات.