بيان مطور الأنظمة الذكية: 15 مبدأ

نلفت انتباهكم إلى مقال بقلم فلاديسلاف زايتسيف ( vvzvlad ) ، ضيف مدعو على مدونتنا. انخرط فلاديسلاف منذ فترة طويلة في موضوع "المنازل الذكية" ، ولخص خبرته ، وهو يقدم المبادئ الأساسية التالية لتصميم هذه الأنظمة.

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

الصورة

من خلال الاستمرار في قراءة المقالة ، فإنك توافق على أنك راضٍ عن إخلاء المسؤولية التالي.

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

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



المنزل الذكي هو نظام يأخذ جزءًا من المخاوف اليومية للشخص. من هنا يتبع المبدأ الأول والأساسي:

1. المنزل الذكي يجب أن يجعل الحياة أسهل وأسهل.


المنزل الذكي هو نظام للحياة ، وليس لعبة للمهوسين. أي نظام يصعب استخدامه 1 من المفاتيح التقليدية ليس منزلًا ذكيًا.

يجب اختبار أي منتج جديد للامتثال لهذا المبدأ. إذا لم تجعل الحياة أسهل ، ولا تفهم كيفية جعلها أسهل ، فهي لا تنتمي إلى منزل ذكي. يمكنك محاولة تخيله كنظام تعلم.


يتعلق المبدأ الثاني الأكثر أهمية بكيفية تفاعل المستخدم مع النظام:

2. تعد تجربة المستخدم الجيدة أكثر أهمية من الوظيفة.


Worthless هي أداة رائعة لا يمكن استخدامها بشكل طبيعي. من المرجح أن تنجح الأجهزة المريحة والموثوقة ذات الوظائف المحدودة عن المنتجات المتطورة "لجميع المناسبات".

2.1. واجهات مريحة أفضل من التخصيص.


لا تفهم كيفية حفظ مجموعة من الوظائف وواجهة بسيطة؟ تضغط على جميع الوظائف على التوالي على أمل أن يكتشف المستخدم ما يحتاجه؟ اخرج من المهنة!
لا تفهم كيفية الجمع بين الراحة ومجموعة من الإعدادات؟ تبرع بالإعدادات. ستكون أي وظيفة أكثر برودة من المحول العادي ، ولكن التعقيد المفرط سيجبر المستخدم بسهولة على العودة إلى المحول.

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

2.2. إن جودة الوظائف المنفذة أكثر أهمية من عددها.


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

2.3. يجب ألا يقلل تنفيذ النظام من سرعة العمل المعتادة.


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

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

2.4. يجب ألا يكسر النظام عادات المستخدم التي تم تشكيلها بالفعل.


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

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

إذن ما العمل؟

2.5. يجب أن يجلب النظام تجربة جديدة ، ولا يحاول استبدال التجربة القديمة.


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



يحتل منطق العمل مكانًا مهمًا في المنزل الذكي. ما الذي يحدد القواعد التي سيعمل بها هذا المنزل الذكي. والمبدأ المهم التالي هو فقط عن ذلك:

3. لا يمكن أن يقتصر المستخدم على المنطق المتاح له.


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

3.1. بأبسط ما يمكن: لا تتطلب كتابة المنطق معرفة خاصة بجهاز النظام


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

كيف تنام ، جون هو مبرمج تسلسلي؟

3.2. يجب التحكم في الأجهزة ذات الوظائف نفسها بالتساوي.


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



نحن جميعا نعيش في العالم المادي. يتكون جسم الإنسان والدماغ للتفاعل مع الأشياء المادية. ومن هنا المبدأ:

4. أجهزة التحكم المادية أفضل من الأجهزة الافتراضية.


أيًا ، حتى أفضل التطبيقات على الهاتف مع أزرار التحكم الافتراضية تفقد في التبديل الفعلي المعتاد في المكان الصحيح.

شيء آخر هو أنه يجب أن يكون المفتاح موجودًا في المكان الصحيح . ومن هنا قاعدة مهمة أخرى:

5. الراديو أفضل من الأسلاك.


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

5.1. الراديو السيئ أسوأ من الأسلاك.


الراديو الجيد هو الراديو الذي يسمح لك بعدم التفكير في مدى البعد عن وحدة التحكم المركزية التي يجب وضعها في الأجهزة. الراديو الجيد هو بروتوكولات الشبكة المتداخلة : ZigBee و Z-Wave و 6LoWPAN وما إلى ذلك.

جميع الخيارات الأخرى هي راديو سيء. شبكة Wi-fi راديو سيئة. بروتوكولات محلية الصنع للشركات الفردية (وهي معروفة من قبل عصامي تحت اسم "433 MHz" ، على الرغم من أنها يمكن أن تكون على ترددات أخرى ، ويمكن أن تكون مختلفة جدًا عن بعضها البعض) - راديو سيء.

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



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

6. يجب أن تكون عملية الإصلاح والتحديث والصيانة والتشخيص بسيطة.


كل شيء واضح في B2B: هناك مستخدم ، وهناك مطور ، وهناك عامل - شخص أو منظمة يعرف كيف يعمل النظام ويمكنه العمل معه على المستوى المهني. لا يحتاج أي شخص إلى معرفة محاسبية بالبرمجة تحت 1C ، فهذا شخص خاص. ولا يحتاج أي شخص إلى شخص يستأجر مكتبًا لفهم كيفية عمل التهوية فيه - وظيفته أن يقول: "إنه خانق في مكتبنا".

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

6.1. يجب أن يعمل الجهاز أو لا يعمل. لا يوجد ثالث.


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

إذا كنت مقتنعًا تمامًا بأن تدهور الوظائف مقبول ، فيجب أن تحذر المستخدم برسالة واضحة: "تم الكشف عن فشل القناة الخافتة الثانية. من الضروري استبدال باهتة. هل تريد الاستمرار في استخدام أول قناة باهتة؟ نعم / لا

6.2. يجب أن يكون استبدال جهاز مكسور أمرًا سهلاً.


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

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

6.3. رسائل واضحة.


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

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

6.4 نقص المعلومات غير الضرورية في الرسائل.


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

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

6.5. لا تتطلب الصيانة معرفة ومعدات خاصة.


امنح المستخدم الفرصة لتحديث البرنامج الثابت - دعه يتم تحديثه ببساطة عن طريق الضغط على زرين. وسيتم ذلك إما من خلال الواجهة القياسية (USB / BT / Wi-Fi) ، أو لا تذكر في وثائق المستخدم حول تحديث البرنامج الثابت باستخدام مبرمج SPI بشكل عام.

لا يمكنك مطالبة المستخدم بحساب أقنعة البت لتكوين جهاز إذا كان هذا التكوين مطلوبًا في الاستخدام العادي.

6.6. يجب ألا يتطلب النظام صيانة مستمرة.


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

6.7. يجب أن يكون لدى النظام القدرة على التحديث أو التوسيع.


يجب أن تزيد تكلفة توسيع النظام بشكل خطي. يجب أن يكلف الكتلة الجديدة تكلفة الكتلة الجديدة.

يجب ألا يكون هناك موقف عندما تحتاج إلى شراء وحدة تحكم جديدة لإضافة مستشعر جديد ، لأن المستشعر القديم لا يدعم أكثر من ستة أجهزة استشعار 5 .

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

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

7. الاكتفاء الذاتي: الشبكات الخارجية هي خيار وليس ضرورة.


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

8. المركزية: إن عدم وجود محور مركزي يحد من المنطق المتاح.


ومع ذلك ، لا تتسرع في التطرف الآخر - حاول جعل النظام لا مركزيًا ، وبالتالي يمكن الاعتماد عليه تمامًا.

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

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

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



9. يجب ألا يقوم النظام بتنفيذ إجراءات يحتمل أن تكون خطرة بدون تأكيد أو إخطار للمستخدم.


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

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

10. يجب أن يكون النظام قادراً على ضبط النفس والتشخيص الذاتي.


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

11. يجب أن يكون النظام قابلاً للتحكم يدويًا.


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

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

12. المطورون والمتسللون لا يقل أهمية عن المستخدمين العاديين.


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

13. الانفتاح: يجب أن يكون لدى النظام واجهة برمجة تطبيقات للتكامل مع الأنظمة الأخرى.


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

14. التوثيق: التوثيق هو جزء مهم من النظام مثل التعليمات البرمجية والأجهزة.


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

وأخيرًا ، المبدأ الأخير (ولكن بعيدًا عن الأخير من حيث الأهمية):

15. الاكتفاء الذاتي والاستدامة الذاتية: يجب أن يستمر النظام في العمل ، حتى لو توقفت الشركة عن العمل


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

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



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

ولكن إذا فكرت في واحد منهم على الأقل ، فهذا يعني أن المقال قد كتب دون جدوى.

الحواشي والتعليقات


1. عندما أقول "استخدام" ، لا أقصد عملية التكوين ، بل عملية التفاعل الطبيعي مع النظام.
2. يرجى ملاحظة أنني لا أقول "يجب أن يكون التأخير هو نفسه" ، ولكن "يجب ألا يلاحظ المستخدم". تبين الممارسة أن الشخص لا يلاحظ تأخيرًا يصل إلى حوالي 300 مللي ثانية.
3. ربما نشأ في آسيا الوسطى ويعتقد أن أفضل علاج للحرارة هو الشاي الأخضر الساخن.
4. بالطبع ، عندما أقول "لا حاجة لإظهار المعلومات" ، هذا يعني أنه لا يجب عليك إرسال رسالة إلى المستخدم حولها في كل مرة. يجب أن يتم عرضها بناءً على طلب المستخدم - من خلال النقر على الزر "إظهار السجلات" أو "إظهار معلومات التصحيح". لا ينبغي اعتبار المستخدمين أغبياء ، ولكن يجب احترام وقتهم.
5. بالطبع ، من المستحيل تصميم نظام يدعم عدد لا نهائي من الأجهزة. ستكون هناك قيود دائمًا ، ولكن مهمة المطور هي التأكد من أنه لا يلعب دورًا في 99 ٪ من الحالات. حد ستة أجهزة استشعار غير مقبول. مائة ومائتان جهاز في شبكة واحدة هو عدد كافٍ لمعظم مستخدمي المنازل الذكية.
6. أنا أتحدث عن قراصنة في المعنى الأصلي للكلمة ، وفقًا لـ RFC1983 ، وليس كقراصنة .

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


All Articles