
المقدمة
يعمل هذا الجهاز للوصول عن بُعد إلى خادم Linux عبر المنفذ التسلسلي ويسمح لك بالتخلي عن الشاشة ولوحة المفاتيح المحلية. لماذا هو مطلوب إذا كان هناك SSH و VNC؟ يجب أن تضع في اعتبارك عددًا من المشكلات المتعلقة بالإدارة في مرحلة تمهيد النظام وإدارة الطاقة:- , recovery mode, memtest. S , fsck .
- . initramfs dropbear . SSH. , , , .
- . , Wake-on-LAN (WOL), , , «» , .
- UPS, .
- لسوء الحظ ، فإن معدات الخادم المنزلي ليست صناعية ولا تتمتع بدرجة عالية من الموثوقية. وينطبق الشيء نفسه على البرمجيات ، غالبًا ما تعمل وحدات النواة "الأولية". ونتيجة لذلك ، "علق" الخادم أكثر من مرة دون الاستجابة إما عبر الشبكة أو الضغط على مفاتيح لوحة المفاتيح. اضطررت إلى استخدام إعادة تعيين الأجهزة بالضغط مع الاستمرار على زر الطاقة لأكثر من 3 ثوانٍ.
لا توجد مثل هذه المشاكل في المعدات الصناعية ، على سبيل المثال ، يتيح لك حل HP iLO تثبيت نظام عن بُعد على الأقل ، ناهيك عن أشياء مثل إدارة الطاقة وتشخيص النظام. بالمناسبة ، لديهم منتجات للمنزل / الأعمال الصغيرة مع هذا الحل. ولكن حدث أن النظام تم بناءه على أساس اللوحة الأم miniITX التقليدية دون هذه القدرات.كانت هناك حاجة لجهاز يسمح:- كن متاحًا عبر الشبكة
- تفاعل مع برنامج bootloader ونظام تشغيل الخادم ، على الأقل في وضع النص
- يتفاعل Zhelezno مع زر الطاقة ويكون قادرًا على إغلاق جهات اتصال هذا الزر لأكثر من 3 ثوانٍ لفرض إيقاف التشغيل
- تغيير إعدادات BIOS (EFI) (لم يتقرر بعد ، متاح فقط لبعض اللوحات الأم)
إنها حقيقة معروفة أن المحطات النصية المستخدمة سابقًا والمتصلة بالمنفذ التسلسلي للجهاز. تاريخياً كان هناك دعم طرفي لينكس ومحمل إقلاع اليرقات. على اللوحات الأم الحديثة ، هذا المنفذ ليس بالشكل المعتاد لموصل DB-9 الخارجي ، ولكنه دائمًا ما يتم توجيهه إلى الموصل الداخلي ذو 10 سنون.مع ظهور بنس ESP8266 ، وهو عبارة عن جسر بين Wi-Fi و UART ، ظهرت فكرة تنفيذ محطة شبكة تستند إليها ، مع وظائف إدارة الطاقة.بالإضافة إلى ESP8266 ، هناك خيارات مختلفة.OpenWRT . UART'a MAX232 ( USB — RS232 ), GPIO, , . , , .
, ./., . .
.
مخطط الرسم البياني
يحتوي العنصر الرئيسي - ESP8266 (ESP-03) ، على شبكة Wi-Fi للتواصل مع العالم الخارجي ، و UART للتواصل مع الخادم ، واثنين من GPIOs ، حيث يتم تعليق مؤشر الحالة ومصابيح LED للتتابع لإغلاق زر الطاقة. هناك زوجان من GPIOs المجانية التي يمكن استخدامها لتوصيل I2C و 1-Wire وأجهزة استشعار وأجهزة أخرى.يتم استخدام شريحة MAX232 الشهيرة لتحويل UART من ESP8266 إلى RS-232. يتم تشغيل MAX232 بجهد 5 فولت ، بينما يتم استخدام ESP8266 عبر محول LM1117 5-3.3V ، في حالة استخدام مقسم جهد يؤدي إلى 5 فولت من خرج MAX232 إلى 3.3 فولت على خط RX الخاص بـ ESP8266. ينقسم خرج MAX232 إلى موصلين ، أحدهما للاتصال بـ DB-9 والثاني IDC-10 للتوصيل مباشرة بجهات الاتصال على اللوحة الأم مع حلقة مباشرة. يتم استخدام التتابع لإغلاق جهات اتصال زر طاقة الكمبيوتر ويتم توصيله بالتوازي مع الزر الموجود على العلبة. بالمناسبة ، لربط زر الطاقة من حالة وحدة النظام ، يمكنك توفير موصل على اللوحة ، لقد قمت بتطبيقه من خلال ضعف 2.54 دبابيس على موصل اللوحة الأم. بشكل عام ، قرار استخدام المرحلات مثير للجدل. يكفي من الترانزستور. في التخطيط ، وضعت optocoupler 817 ، لكنها لم تعمل ،تم اتخاذ تدابير جذرية وتشغيل التتابع ... نجحت. دعك من ذلك ، يمكن أن يكون مفيدًا بعد ذلك لإغلاق / فتح دوائر 220 فولت ، بالإضافة إلى ذلك ، يتم سماع النقرات - فهي مفيدة للتشخيص. P6 - موصل لسهولة البرمجة من خلال محولات صينية لاردوينو FTDI. في وضع البرمجة ، يتم تنشيط الطائر بواسطة JP1. يتم تشغيل الجهاز عبر موصل P4 مباشرة من الجهد الاحتياطي لمزود الطاقة أو من منفذ USB. يتم استخدام الموصل P1 لتوصيل هوائي خارجي.يتم تشغيل الجهاز عبر موصل P4 مباشرة من الجهد الاحتياطي لمزود الطاقة أو من منفذ USB. يتم استخدام الموصل P1 لتوصيل هوائي خارجي.يتم تشغيل الجهاز عبر موصل P4 مباشرة من الجهد الاحتياطي لمزود الطاقة أو من منفذ USB. يتم استخدام الموصل P1 لتوصيل هوائي خارجي.لوحة الدوائر المطبوعة
طبقة واحدة ، ولكن خرجت 5 جامعات كاملة.
جعل أخرق في المنزل
P6.
البرامج الثابتة
يتكون أبسط واحد من خادم TELNET واحد - في الواقع للتبادل. يتم إلقاء كل ما يظهر في UART على جميع عملاء TELNET ، ويتم طرح كل ما يأتي من العملاء على UART. يتم أيضًا تثبيت أوامر AT للتحكم في زر الطاقة وتكوين معلمات المنفذ و Wi-Fi. على الرغم من أن تكون صريحًا ، فإن هذا بعيد عن خادم RFC 854 ، والأوامر غير مدعومة ، وأنا أتصل بـ TELNET لأن المنفذ 23 ، وتبادل النص المباشر ، وعملاء TELNET رائعون للتفاعل (تم اختباره على عميل Android ConnectBot و Linux ، عملت أداة telnet بشكل صحيح بالنسبة لي مع تصدير متغير البيئة TERM = VT100 ، والمعلمة -8 والانتقال اللاحق إلى وضع الحرف ^] حرف الوضع).ميزة جديرة بالملاحظة ، يمكن أن تعمل ESP8266 كنقطة وصول وعملاء شبكة لاسلكية في نفس الوقت. هذا مهم جدًا للتسامح مع الأخطاء - فهو يسمح لك بالاتصال بالجهاز الطرفي في حالة تعطل معدات الشبكة.تمت كتابة البرامج الثابتة في الأصل في Sming . الميزة الرئيسية لـ Sming هي أنك لا تحتاج إلى فهم الصينية ESP8266 SDK ، لجميع الاحتياجات هناك بالفعل غلاف قابل للهضم ، سواء كان خادم WEB ، أو تحديث البرنامج الثابت عبر الهواء أو العمل مع GPIO. ولكن عند استخدام غلاف خادم TCP لتنفيذ TELNET عند نقل كميات كبيرة ، انقطع الاتصال ، وعلق ESP8266. كانت هناك محاولات للعمل مباشرة مع واجهة برمجة التطبيقات lwip ...ولكن في هذه المرحلة صادفت مشروع الجسر الشفاف ESP8266. تقرر ببساطة تفرعها من أجل تنفيذ الأوامر للتحكم في زر الطاقة ، وقد تم فعل كل شيء آخر من قبل مؤلفها. وأضاف بالا أمر AT+++AT PWBTN <duration: SHORT | LONG | HARDRESET>
هناك خلل في البرامج الثابتة. إذا تم إخراج كمية كبيرة من المعلومات إلى الجهاز في وقت واحد ، فقد يتم فقد بعض البيانات. ومع ذلك ، فإن ESP8266 ليس Moxa NPort وقدراته محدودة. على سبيل المثال ، إذا أنشأنا dmesg ، فلن نرى سوى جزء من البيانات ، لذلك علينا استخدام grep أكثر فأكثر وتجنب الشاشات الطويلة على الشاشة. بشكل عام ، يجدر محاولة زيادة المخزن المؤقت للنقل في البرامج الثابتة ، والآن تبلغ 1024 بايت فقط ، حتى تصل يديك ، اجعلها 32768 وقد يصبح من المريح العمل مع أدوات مثل htop.تكوين جهاز Linux
في / etc / default / grub يجب أن يكون مثل:GRUB_CMDLINE_LINUX="console=ttyS0,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
لعرض قائمة أداة تحميل التشغيل ورسائل التمهيد إلى المنفذ التسلسلي. في هذه الحالة ، يكون الأول بمعدل بت 115200. بعد التحرير ، قم بتشغيل الأمر update-grub. من حيث المبدأ ، يمكن أن يكون هذا محدودًا ، ولكن فقط في حالة ، لا يزال بإمكانك فتح المحطة الطرفية على المنفذ التسلسلي ، لهذا إنشاء /etc/init/ttyS0.conf مع المحتويات التالية:
start on stopped rc or RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L 115200 ttyS0 vt102
الاتصال بالخادمكما ذكرنا من قبل ، يتم أخذ الطاقة مباشرة من الجهد الاحتياطي لمصدر الطاقة أو من منفذ USB ، ويتم توصيل مخرجات التتابع بالتوازي مع زر الطاقة ، يتم توصيل لوحة RS-232 بواسطة كابل مباشر بموصل IDC-10. هناك فارق بسيط في وضع الجهاز داخل حاوية الخادم ؛ تحتاج إلى إزالة الهوائي المتصل بموصل u.fl للجهاز خارج حاوية Wi-Fi. بالطبع ، لا يمكن القيام بذلك إذا كانت الحالة شفافة نسبيًا ، على سبيل المثال ، مصنوعة من الخشب.
قدر العملية الحسابية
3 دولارات مقابل ESP8266 ، و 1 دولارًا مقابل 10 قطع من MAX232 ، والباقي عادة ما يكون في المزرعة.مظاهرة فيديو
مصادر الحديد والبرمجيات هنا .