خادم اردوينو ميجا

صورة

نعم ، هذا هو Arduino مرة أخرى ، ولكن لا تتسرع في إغلاق الصفحة ، هذه المرة تنتظر شيئًا جديدًا ومثيرًا حقًا. بشكل أساسي ، ستركز هذه المقالة على لوحات الميكروكونترولر Arduino Mega وبطاقة واجهة الشبكة Ethernet Shield W5100 وعلى المعجزة التي يمكن القيام بها معهم إذا سمحت لنفسك بتجاوز الصور النمطية.

إذن ، ما هي لوحة Arduino النموذجية؟ متحكم "ضعيف" 8 بت مع كمية سخيفة من ذاكرة الوصول العشوائي (في حالة ميجا هو 8 كيلوبايت) ونفس الكمية السخيفة من ذاكرة الفلاش (256 كيلوبايت للميجا). تضيف بطاقات التوسعة بعض الحيوية إلى المناظر الطبيعية ، في حالتنا هي Ethernet Shield ، ولكنها في الأساس لا تغير أي شيء. نطاق هذه اللوحات هو الحرف الهامشية والوميض الشهير لمصابيح LED.

لكن ذلك كان حتى آخر لحظة. الآن في الطبيعة يوجد خادم Arduino Mega Server ، والذي يغير الأشياء بشكل أساسي. على سبيل المثال ، ماذا ستقول إذا صادفت العبارة التي تقول:
  • على Arduino يمكنك تنظيم خادم ويب كامل ليس له قيود على حجم الملفات وعددها؟
  • تحديث المحتوى بشكل حيوي دون إيقاف الخادم؟
  • HTML5, CSS3, JavaScript, Ajax, Processig, THREE.js, . .?
  • «» ( )?
  • , , ( 32 )?

يمكنك القول أن هذا ببساطة غير ممكن.

ومع ذلك ، هذه حقيقة. ويمكنك تنزيل مجموعة التوزيع على جهاز الكمبيوتر الخاص بك لترى بنفسك (باستثناء هبر ، هذا مثال افتراضي).

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

لكي يعمل كل هذا ، تحتاج إلى كتابة محرك خادم لـ Arduino وتعليمه كيفية عرض محتويات بطاقة ذاكرة فلاش عند طلب المتصفحات. في الواقع ، كل شيء تقريبًا. تحتاج أيضًا إلى تنظيم تحديث ملفات الخادم والمحتوى بطريقة أو بأخرى "على الطاير" ، حتى لا تضطر إلى النهوض من على الأريكة ، وإيقاف تشغيل Arduino وإزالة بطاقة الذاكرة في كل مرة تحتاج فيها إلى تغيير شيء ما في تكوين الخادم أو تغيير ما أو في المحتوى. تُعهد هذه المهمة الصعبة والنبيلة إلى Arduino Serial Commander ، الذي يتحكم في تنزيل الملفات إلى خادم عامل ، دون إيقافها.

صورة

إذا كان كل شيء بسيطًا جدًا ، فلماذا لم يتم ذلك من قبل؟ هذا حقا سؤال إن روايتي هي الصورة النمطية للتفكير. قالوا لك أن هذه وحدة تحكم 8 بت ، ما هو THREE.js؟ ماذا استضافة؟ ما الذي تتحدث عنه؟ في الإنصاف ، يجب أن أقول أن جميع أجزاء اللغز موجودة بالفعل في الطبيعة ، لكنها كانت موجودة بشكل غير لائق تمامًا - إما في شكل خادم تجريدي منفصل تمامًا عن الواقع ، أو في شكل أجاكس ، ولكن مرة أخرى مع زرين مجردة فقط ليس من الواضح ما يجب فعله.

منطقة التطبيق


الآن دعونا نتحدث عن تطبيق هذه التكنولوجيا وما هو في الواقع رائع ومفيد للغاية في ذلك.

شرح ضروري. يحتوي الاسم على كلمة "خادم" والجزء الأول من المقالة حول وظائف الخادم للنظام. يمكن أن يؤدي ذلك إلى الضلال وإعطاء الانطباع بأن الغرض الرئيسي من النظام هو استضافة الملفات والمواقع وتوزيع المحتوى. هذا ليس صحيحًا تمامًا. الاختناق الضيق في هذا النظام هو سرعة بطاقة SD وبالطبع ، فإن استبدال وحدة التحكم الدقيقة بخادم ويب حقيقي سيفشل.

معنى النظام مختلف إلى حد ما. جنبًا إلى جنب مع خادم Arduino Mega Server ، يمكنك الحصول على القدرة على إدارة جهازك بسهولة باستخدام واجهة الويب وببساطة الفخامة (بالمعنى البصري) التي تعرض نتائج عمله باستخدام جميع التقنيات الحديثة (HTML5 ، CSS3 ، THREE.js ، إلخ). سواء كان نظام تحكم لمنزل ذكي أو دفيئة أو آلة بيع المشروبات أو محطة الطقس أو أي شيء لديك ما يكفي من الخيال.

صورة

مجال آخر مثير للاهتمام لتطبيق النظام هو التوثيق الذاتي (التفاعلي). على سبيل المثال ، تجد في غرفة تخزين متربة (لك أو لعميلك) وحدة التحكم الدقيقة غير واضحة ماذا وكيف تفعل (لقد مر وقت طويل وفقدت جميع الوثائق). كل ما تحتاجه هو الذهاب إلى موقعه والحصول على معلومات شاملة حول الاتصالات والبروتوكولات والبيئات ، وما إلى ذلك. بعد كل شيء ، ليس لدينا قيود على حجم الملفات المخزنة. قد تكون الوثائق تفاعلية. على سبيل المثال ، لا يتم رسم دبوس التحكم فقط على الصفحة ، ولكن يتم تحديثه أيضًا في الوقت الفعلي (الحالات والإمكانيات وما إلى ذلك). يمكنك أن ترى على الفور ماذا وكيف يعمل وماذا وكيف لا يعمل.

صورة

ما على متن الطائرة باستثناء الخادم


لقد أولت الكثير من الاهتمام لوظائف الخادم ، ولكن هذا ليس سوى جزء واحد من النظام. بالإضافة إلى الخادم ، يحتوي Arduino على رمز لجميع المناسبات:
  • قياس الحرارة
  • صيانة أجهزة استشعار PIR
  • صيانة أجهزة استشعار الاتصال
  • ساعة الوقت الحقيقي
  • وحدة لرصد وقياس جهد الشبكة والتيار لـ 13 قناة
  • وحدة شريط LED
  • وحدة تحديد توفر جهاز الشبكة
  • وحدة للعمل مع بطاقات الذاكرة SD
  • وحدة استقبال وإصدار الأوامر عبر الشبكة
  • وحدات التكامل مع أنظمة التشغيل الآلي للمنزل
  • والعديد من الميزات الأخرى بالإضافة إلى القدرة على إنشاء جديد

يتم دعم الهيكل المعياري والتجميع الانتقائي للوحدات. يتعرف جزء المستعرض من التعليمات البرمجية على وجود أو عدم وجود وحدة نمطية مترجمة ويسمح لك بتمكينها أو تعطيلها ديناميكيًا مباشرةً من صفحة الويب.

صورة

التكامل مع MajorDoMo


تاريخيا ، تم تطوير خادم Arduino Mega Server (المشار إليه فيما يلي باسم AMS) بالاشتراك مع وكجزء من نظام التشغيل الآلي للمنزل القائم على منصة MajorDoMo المفتوحة ولديه دعم "أصلي" مدمج لهذه المنصة. يمكنه إرسال الحالات والبيانات للتحليل والتخزين إلى "أخيه الأكبر" وتلقي أوامر التحكم منه عبر الشبكة.

بالإضافة إلى ذلك ، تعمل AMS في الوقت الحالي فيما يسمى. وضع الترادف ، أي لبعض الوظائف ، يتم استخدام موارد خادم MajorDoMo. لكن العمل بالاقتران مع Mega Server غير مبدئي ، يمكن أن يعمل بشكل مستقل تمامًا.

صورة

التقنيات الجانبية


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

صورة

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

صورة

تم إنشاء وحدة لتصور والتحكم في شكل التيار الكهربائي والتيار الرئيسي في أي من 13 قناة. بالإضافة إلى ذلك ، تتم إضافة مرسمة الذبذبات الشبكية عندما ينقل Arduino في الوقت الفعلي إشارة ديناميكية (شكل موجة) إلى صفحة الويب الخاصة بك. والتي ليس لها نظائرها أيضًا ، على حد علمي.

صورة

تمت إضافة وحدة شاشة التوقف لألواح عرض المعلومات الحديثة. يمكنك إزالة جميع المعلومات التقنية من الشاشة وترك المعلومات الضرورية فقط على خلفية صورة جميلة. اتضح شيء مثل صورة في إطار لوحة كبيرة أو صغيرة.

صورة

لا يزال يتم تنفيذ أشياء مثل مقياس التردد لجهد التيار الكهربائي ، والذي يمكن استخدامه للتحذير من الأعطال المحتملة في المستقبل القريب ، على سبيل المثال ، مؤشر حالة النظام ثلاثي الأبعاد متعدد الوظائف لـ 216 كائنًا / نظامًا فرعيًا / وظيفة ، والتي تدور في رأس الموقع. معناه أنه في لمحة يمكنك تقييم حالة نظام معقد.

وهكذا دواليك ، هناك تقنيات أكثر مما يمكن احتواؤها في هذه الصفحة. وكل هذا يعمل على متحكم 8 بت مع 8 كيلوبايت من الذاكرة ، وهو أمر لا يصدق ببساطة.

صورة

الآفاق


الاحتمالات غير محدودة. يمكنك تنفيذ هذه التقنية بأي ، حتى أروع المشاريع. على سبيل المثال ، تم توزيع ذكاء المنزل الذكي عبر وحدات التحكم ، والوميض الديناميكي لوحدات التحكم عبر الشبكة (اعتمادًا على بعض الظروف) وإعادة التكوين الديناميكي للمنزل الذكي على مستوى الحديد ، وتوفير واجهة ويب لـ Arduino Uno "السيئ حقًا" ، وما إلى ذلك ، إلخ. ناهيك عن مصانع الجعة الذكية وكل موقع زهرة في منزلك مع مدوناتهم الشخصية.

ولهذا لن تحتاج إلى أي شيء باستثناء Arduino و Ethernet Shield و AMS وبطاقات SD وخيالك.

صورة

الآفاق التجارية


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

كيف نفعل ذلك بدون حام الحديد؟ سيساعدك معيار (Open-Automated Automation Automation Standard (OHAS)) وأجهزة الاستشعار المتصلة بنقرة واحدة في ذلك ، ولكن هذه قصة أخرى. إذا كان الأمر مثيرًا للاهتمام ، فسأصف هنا اثنين من تقنيات "الاختراق" الإضافية.

حالة المشروع


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

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

صورة

يمكنك تنزيل أحدث إصدار على الموقع الرسمي للمشروع . إذا كان لديك أي أسئلة ، فيمكنك طرحها على المنتدى . يحتوي المنتدى أيضًا على تعليمات حول تثبيت وتكوين AMS.

اصحاب! نسيت أن أذكر آخر ، ربما أهم جزء من المشروع. هذه وظيفة تعليمية. إذا بدأت العمل مع مشروع وقمت بتغيير التعليمات البرمجية لمهامك ، فسوف تتعلم بسرعة ممارسة العديد من التقنيات الحديثة ، مثل HTML و CSS وجافا سكريبت والتفاعل بين المتصفحات وشفرة التصحيح في المستعرض والبرمجة لـ Arduino والمعالجة وغير ذلك الكثير.

وآخر واحد. المشروع مكتظ حرفيًا بالأفكار والحصري. يمكنك ببساطة أخذ الأجزاء الضرورية من التعليمات البرمجية لمشاريعك الخاصة ، وتكميلها وتحسينها.

إضافة . قناة Youtube مفتوحة وهنا فيديو ترويجي لخادم Arduino Mega ، والذي يوضح كيفية العمل مع نظام حقيقي.

Source: https://habr.com/ru/post/ar382177/


All Articles