Smart.js - (أكثر من) البرامج الثابتة الجديدة لـ ESP8266
غالبًا ما يتم نشر مقالات حول المشاريع المختلفة استنادًا إلى شريحة ESP8266 الشائعة ، لذلك لن أتحدث عنها بنفسي.في الأسفل: قمنا بتطوير برنامج ثابت جديد لهذا الجهاز ، يعرض استخدام جافا سكريبت من أجل التطوير. ولكن ، Smart.js ليست مجرد برنامج ثابت لمترجم JS ، بل هي أيضًا "مجموعة" مختلفة للعمل مع المعدات والبنية التحتية السحابية.
لمزيد من التفاصيل - من فضلك ، تحت القط.يجب أن أقول على الفور أن هذه المقالة عبارة عن مقالة مراجعة ، حيث سأحاول التحدث عما يمكن لـ Smart.js القيام به ، وسوف أتناول القليل جدًا عن كيفية عمل كل شيء. إذا كنت مهتمًا بمعرفة كيفية عملها ، فقد يكون هذا هو موضوع المقالة التالية (ويمكنك أيضًا مشاهدة المصدر ).فماذا لدينا تحت غطاء محرك السيارة؟بادئ ذي بدء ، هو محرك JS يسمى V7 طورته Cesanta. دون الخوض في الكثير من التفاصيل ، ألاحظ فقط أن هذا المحرك تم تطويره في الأصل للمنصات المدمجة ، وبالتالي فهو يتميز بحجمه الصغير واستهلاكه المنخفض للذاكرة وإمكانية نقله الممتازة ودرجة عالية من التكوين. ومع ذلك ، فإن مجرد مترجم JS على ESP8266 سيكون شيئًا في حد ذاته ، لذا يمكن لـ Smart.js التواصل مع العالم الخارجي.- I2C. API , «» ( EEPROM). I2C bit-bang, ;
- SPI. ESP SPI , SPI HSPI, HSPI, , Hardware SPI. «» SPI , . bit-bang', , HSPI (, ESP, SPI, ). API ;
- واي فاي. سيكون من الغريب عدم دعم WiFi. لذلك نحن ندعم ؛
- نظام الملفات. لأنه يقوم على SPIFFS.
- هناك أيضًا واجهة برمجة تطبيقات للعمل مع GPIO وعميل HTTP بسيط ؛
- ... ومجموعة من الوظائف المساعدة المختلفة .
بشكل عام ، إذا كان الأمر مثيرًا للاهتمام - اقرأ الملف التمهيدي ، حاولنا وصف كل شيء.الآن القليل عن بداية سريعة.تنزيل من أرشيف Flash'n'Chips . Flash'n'chips هو برنامج تشغيل فلاش "خاص". يمكنك استخدام أي منها ، ولكن Flash'n'chips ينشئ على الفور معرف الجهاز وكلمة المرور اللازمة للاتصال بالسحابة. هناك إصدار لنظام التشغيل OS X و Windows.بالإضافة إلى المتعري نفسه ، يحتوي الأرشيف أيضًا على البرامج الثابتة "الإصدار" (أي ألفا).نقوم بتوصيل ESP8266 بـ USB ، ونطلق Flash'n'chips ، ونرى شيئًا مثل هذا:
انقر فوق "تحميل البرامج الثابتة" - وسوف تتدفق البرامج الثابتة على الجهاز. اعتمادًا على ESP الخاص بك ، قد تكون هناك حاجة إلى حركات الجسم الإضافية. على سبيل المثال ، أستخدم أبسط ESP01 ، لذا قبل الوميض أحتاج إلى توصيل GPIO0 بـ GND.نحن متصلون من قبل المحطة. (هناك أيضًا Flash'N'Chips مدمج ، أنا أكثر دراية بـ picocom ، لكن هذا لا يهم). السرعة - 115200.في وحدة التحكم هذه ، يمكنك كتابة كود JS على الفور. ("Smartjs NNN / MM $" عبارة عن موجه سطر أوامر ، NNN هي مقدار الذاكرة الخالية ، MM هي مقدار الذاكرة التي يستهلكها المترجم حاليًا مباشرة).يبدو وكأنه وحدة تحكم عادية.
عند الضغط على Enter ، يتم تنفيذ الأمر وتظهر نتائجه في وحدة التحكم ، أي يمكنك الاستغناء عن الكثير من "الطباعة". هناك طريقة أخرى لكتابة كود JS وتشغيله وهي كتابته في محررك المفضل وحفظه في ملف وتنزيله على جهازك. أسهل طريقة للقيام بذلك هي باستخدام نفس Flash'n'Chips - في مربع التحرير والسرد Select Action ، حدد "تحميل ملف".الآن يمكن تنفيذ الملف باستخدام الأمر File.load ("اسم الملف") عن طريق كتابة هذا الأمر في وحدة التحكم ، أو إضافته إلى ملف init.js (ثم يتم تنفيذ الملف تلقائيًا عند بدء تشغيل الجهاز).البرامج الثابتة لـ ESP8266 Smart.js غير محدودة. كما كتبت أعلاه ، لا تزال هناك سحابة حيث يمكنك إرسال البيانات من الجهاز أو تخزينها هناك أو أخذها من هناك أو مجرد إلقاء نظرة على الرسوم البيانية. يتم إرفاق API لإرسال البيانات إلى السحابة .كبداية سريعة ، سجلنا مقطع فيديو قصيرًا:أولئك. إذا كنت تحتاج ، على سبيل المثال ، لمراقبة درجة الحرارة في الشقة ، فسيتعين عليك عدم القيام بأي شيء تقريبًا. يكفي توصيل مستشعر درجة الحرارة بـ ESP ، وكتابة "برنامج تشغيل" (أو تجهيز واحد) على JS ، والتسجيل في السحابة ، وكتابة نص صغير يقرأ درجة الحرارة ويرسلها إلى السحابة. ثم انتقل إلى الموقع وانظر إلى الرسم البياني.بالطبع ، ستعمل البرامج الثابتة بدون سحابة. لكنها أكثر ملاءمة للسحابة ، يتم قطع جزء من العمل الروتيني. هناك رابط إلى السحابة على github ، وإذا كان لديك حساب github أو G + ، فسيكون التسجيل فيه مناسبًا لبضع نقرات.حسنًا ، إذا كنت تفتقر إلى بعض الوظائف ، فيمكنك دائمًا استخدام C. يمكنك ببساطة كتابة وظائف جديدة في C دون الحاجة إلى ربطها بـ JS. في الوقت نفسه ، سيظل من الممكن استخدام جميع واجهات برمجة التطبيقات (APIs) الموجودة تقريبًا (في معظم الحالات ، JS API عبارة عن غلاف رقيق على وظائف syshny) ، بالإضافة إلى ذلك ، يمكنك استخدام وظائف ESP SDK. ليس من الصعب تجميع البرامج الثابتة من المصدر ، وذلك بفضل وجود صور لرسو السفن.يمكنك توسيع شبيبة. للقيام بذلك ، نكتب الوظائف اللازمة في C ، ثم نوفرها في JS. هذا ليس صعبًا أيضًا .بالنسبة لأولئك الذين يتعاملون مع ESP8266 ، ستبدو Smart.js مشابهة لـ NodeMCU. لن أجادل - بينما يبدو. لكن لدينا خطط كبيرة لتطوير Smart.js ومن أجل النقل إلى الأجهزة الأخرى ، لذا بمرور الوقت ، أعتقد أنه ستكون هناك أوجه تشابه أقل.بالحديث عن خططنا. الآن حالة Smart.js هي ALPHA 1. الإصدار القادم من المقرر أن يكون خريفًا (والذي بالطبع لا يتداخل مع أولئك الذين يرغبون في جمع البرامج الثابتة من المصدر بأي تردد). بحلول الخريف ، سنقوم بزيادة حجم الذاكرة المتاحة للمستخدم ، وتحديث البرامج النصية من السحابة (أي أنه من الناحية النظرية سيكون من الممكن عدم توصيل ESP8266 بالكمبيوتر على الإطلاق) ، وجعل المنفذ بمنصات أخرى ، إلخ.والآن من المهم بالنسبة لنا الحصول على تعليقات. هل أحببت ذلك؟ ما المفقود؟ ما هو غير ضروري؟ كل شيء ممتع!لذا - قم بتنزيل البرنامج الثابت - جربه ، سنكون سعداء. رخصة مزدوجة ، GPLv2 لجميع القادمين والتجارية لأولئك الذين ليس لديهم GPL و / أو يحتاجون إلى دعم. Source: https://habr.com/ru/post/ar382189/
All Articles