ما هي لغات برمجة الأجهزة الذكية
ما هي لغات
برمجة الأجهزة الذكية
التي توجد في كل الأجهزة الذكية الحديثة؟ هل هذه اللغات مهمة في برمجة الأجهزة الذكية؟ تعتبر لغات برمجة الأجهزة الحديثة من اللغات التي ظهرت حديثا يتم بها التعامل مع الإنترنت أو الجهاز الذكي نفسه لتطويره أو إدخال التعديلات عليه.
برمجة الأجهزة الذكية
-
تعد
لغات البرمجة
الحديثة مشابهة للغات البرمجة التي توجد على سطح المكتب للحاسوب المكتبي والخوادم الكبيرة فيعد الاختلاف في طريقة جمع الأشياء التي يتكون منها إنترنت الأشياء. - يمكن للحاسوب المكتبي استخدام اللغات الحديثة مثل Java وC فقد تم تطوير بعض الحواسب المكتبية لتناسب استخدام هذه اللغات حديثا.
تتكون برامج الأجهزة الذكية من ثلاثة أقسام رئيسية يكون لكل واحد منها دور في البرمجة وهم:
- المستشعرات التي تقوم بإنشاء البيانات.
- البوابات المحلية التي تعمل على تنظيم هذه البيانات وقد تسمى المحاور.
- الخوادم المركزية التي تقوم بجمع البيانات وتعد بعيدة جدا جغرافيا.
أجهزة إنترنت الأشياء
- إذا كنت تكتب لجهاز استشعار على معدن مكشوف، فمن المحتمل أنك تستخدم لغة C والتي لها لقدرة على العمل مباشرة مع ذاكرة الوصول العشوائي تجعل C أحد الخيارات الأولى لمطوري الأجهزة.
- تعتبر بقية الأجهزة في السلسلة مألوفة مثل أجهزة الحاسوب المكتبية، من منظور المطور، فيمكن للمطورين استخدام اللغة المألوفة لهم.
- يمكن أن تكون المحاور هاتفًا ذكيًا أو وحدة تحكم صغيرة، لكنها مجرد آلات للأغراض العامة بالداخل،عادةً ما يشغلون نظام تشغيل قياسيًا وغالبًا ما يشعرون بأنهم لا يختلفون عن آلة كبيرة، على الأقل عند الاتصال عبر سطر الأوامر.
اختيار لغة إنترنت الأشياء
- يمكن أن يختار المبرمج نفس اللغة بنفس الطريقة التي يختارونها في مشروع سطح المكتب. إذا كان Raspberry Pi يعمل بنظام Linux، فإن سلوكه لا يختلف عن سطح المكتب.
- بعد مرور الوقت الذي يشق فيه النقاش حول اللغات طريقه إلى الخوادم، لا يوجد هناك فرق أيضًا.
- يتحدثون مع المحاور وأجهزة الاستشعار والذي يعتبر عادة مع نوع من بنية الخدمات المصغر ثم يتم دفع البيانات إلى قواعد البيانات القياسية.
- يعتبر المشتبه بهم المعتادون من اللغات الشائعة يسيطرون بالفعل على مساحة إنترنت الأشياء، حيث وجد استطلاع Eclipse ما لا يقل عن 14 لغة مختلفة تم ذكرها بنسبة 5 في المئة أو أكثر من المطورين.
- تعتبر المجهودات في مجال إنترنت الأشياء في Eclipse متعددة اللغات إنها ليست لغة واحدة.
سويفت –
Swift
- يزال Swift يستخدم بشكل أساسي لإنشاء تطبيقات لأجهزة iOS وmacOS من
- إذا كنت تريد أن تتفاعل الأشياء الخاصة بك مع جهاز iPhone أو iPad، فربما تريد إنشاء التطبيق في Swift.
- تعتبر هذه المكتبات هي أساس نظام HomeKit الأساسي، والذي يوفر الدعم لدمج موجزات البيانات من شبكة من الأجهزة المتوافقة.
- تريد Apple أن تجعل أجهزتها التي تعمل بنظام iOS مركزًا للشبكة المنزلية لأجهزة الاستشعار، لذا فقد عملت على إنشاء مكتبات وبنية تحتية تتعامل مع الكثير من العمل.
- يمكنك التركيز على تفاصيل مهمتك وترك الكثير من تكاليف التكامل
لغة البرمجة
Python
- لقد بدأت كلغة برمجة نصية لتقوم بلصق كود حقيقي معًا، لكنها تُستخدم بشكل متزايد كلغة رئيسية للعديد من المطورين.
- تعتبر هذه اللغة هي الخيار الأول لعلماء الاجتماع وعلماء الأحياء فعندما يحتاجون إلى جهاز ذكي في المختبر يسعدهم استخدام لغة يعرفونها
- عندما تحتوي الأجهزة الصغيرة على ذاكرة وقوة حسابية كافية، يكون للمطورين الحرية في اختيار اللغة التي تجعل حياتهم أسهل والتي غالبًا ما تتحول إلى لغة Python.
- إذا كان المشروع بسيطًا نسبيًا ولا توجد متطلبات حسابية كبيرة، فمن الممكن بناء أدوات فعالة من نفس المجالس والمكتبات المستخدمة في المدارس الابتدائية.
- لغة Python سهلة التعلم ومدعومة من قبل مجتمع كبير ومفيد.
- بناء الجملة نظيف وبسيط، ويجذب مجموعة أكبر من المبرمجين.
- بايثون هي اللغة المفضلة لأحد المتحكمات الدقيقة الأكثر شيوعًا في السوق.
- تمت كتابة الكثير من المؤلفات التدريبية بلغة Python، وتستخدم العديد من المدارس النظام الأساسي لتعليم برمجة الحاسوب.
- هناك أيضًا إصدارات مصممة لتكون أصغر من البرنامج Micro Python متحكم صغير الأمثل لتشغيل بايثون على لوحة صغيرة بضع بوصات مربعة.
جافا –
JAVA
-
Java ME أحد
انواع لغات البرمجة
أو الإصدار المصغر متاح على أجهزة الهواتف الذكية الصغيرة والأجهزة المضمنة الأخرى منذ الموافقة على المواصفات في عام 2000. - يمكن للمطورين استخدام أحدث ميزات نظام Java 8 الأساسي ثم نقل التعليمات البرمجية الخاصة بهم إلى جهاز أصغر مدمج.
- يعتبر الخيار الأفضل لمسح Eclipse واستطلاع موقع embedded-computing.com هو Java، وكانت النتيجة ليست مفاجئة للغة لا تزال معروفة بأنها للكتابة مرة واحدة، حيث يتم تشغيلها في أي مكان.
- يمكن للمطورين إنشاء التعليمات البرمجية وتصحيحها على سطح المكتب الخاص بهم ثم نقلها إلى أي شريحة باستخدام Java Virtual Machine.
- يمكن تشغيل الكود ليس فقط في الأماكن التي تكون فيها JVMs شائعة (الخوادم والهواتف الذكية)، ولكن أيضًا على أصغر الأجهزة.
- لقد وفر مساحة مع مجموعة محدودة جدًا من مكتبات الفصل وأدوات أخرى.
- اليوم يكون معظم التركيز علىJava SE Embedded ، حيث يعتبر هو الأقرب بكثير من حيث القدرة إلى الإصدار القياسي.
- تأتي معظم مدخرات موارد الحوسبة باستخدام Java SE Embedded من تجريد الفئات المطلوبة لعرض المعلومات عندما يمكن تكوين الأجهزة للعمل بلا رأس، بدون شاشة أو لوحة مفاتيح.
- تمر جميع الاتصالات عبر الشبكة.
- هناك العديد من المشاريع مفتوحة المصدر، مثلPi4J و Blue ، والتي تُظهر كيف تعمل نسخة Java المدمجة بشكل جيد، حتى على الرقائق التي تبدو محدودة.
لغة البرمجة
C
- بناء الجملة بلغة البرمجة C بالمليء بعلامات الترقيم.
- مما نراه في السوق، تظل لغة C هي اللغة المفضلة للأجهزة المقيدة لا تتضمن هذه عادةً نظام تشغيل على مستوى تجاري بل نوع أساسي لجدولة المهام لإدارة الموارد المشفرة أيضًا في C.
- هناك مليون خطأ صغير مختلف يمكنك ارتكابها، لكن اللغة لا تزال الخيار الأول للعديد من المبرمجين الذين يكتبون لأدنى طبقة من البرامج، وهي الأقرب إلى العتاد.
- عندما يأتي الهاتف الذكي من Apple، لا يزال يتم إجراء الكثير من البرمجة في Objective C، ولكن من المحتمل أن يتم استبدال هذا تدريجيًا ب Swift.
- لا تخفي اللغة شيئًا عنك، وهذا يعني أنه يمكنك العبث بكل جزء من الكود لاستخراج أفضل أداء من جهاز ضعيف القوة.
- كل قطعة يمكن قلبها،كل قيمة في المكدس متاحة. فقط لا تخطئ، لأن هناك القليل من شبكات الأمان.
- أكثر الأجهزة تقدمًا أو الأكبر ذات أنظمة التشغيل الكاملة لا تزال تستخدم الكثير من رموز C، لكن لغات أخرى مثل Java بدأ استخدامها بشكل متكرر.
جافا سكريبت
- يعتقد الكثير من الناس أن JavaScript كلغة تظهر مربعات التنبيه على صفحات الويب. فإن شعبية اللغة المكتشفة حديثًا على الخادم تجعلها خيارًا شائعًا بشكل مدهش لتطبيقات إنترنت الأشياء.
- حيث اختار 41.8 بالمائة من المطورين في استطلاعه Eclipse JavaScript هذه اللغة وأشار 31.5 بالمائة إلى أنهم كانوا يستخدمون js في مشاريعهم.
- يركز العمل على الخوادم والبوابات أو المحاور التي تجمع المعلومات ثم تخزنها.
- تستطيع المحاور وأجهزة الاستشعار الذكية الأصغر التي تعمل بنظام Linux تشغيل js. ولكن معظم كود Node.js يعمل على أجهزة أكبر، فهناك بعض الجهود المصممة لجلبه إلى الأجهزة الأصغر مما يسهل على مطوري الويب الانتقال إلى إنترنت الأشياء دون تعلم لغة جديدة.
تعد لغات البرمجة وسيلة سهلة في التعامل وتطوير الأجهزة الذكية والحصول على التسهيلات التي تخدم المستخدم فمنها سهلة التعلم ومنها التي يجب أن يتقنها المبرمج أولا قبل أن يبدأ في برمجة أي برنامج حيث إن بعضها غير قابل للتعديل…[1]