الجزء 2: الوحدات و AppStore. ESPboy - أداة للألعاب والتجارب القديمة مع إنترنت الأشياء

منذ نشر المقال الأول عن جهاز ESPboy الذي صممته على متحكم ESP8266 ، مر الكثير من الوقت.





ومع ذلك ، تم فعل شيء خلال هذا الوقت:


  1. أحضر الجهاز نفسه إلى مرحلة الإنتاج
  2. بناء وحدات التوسع ، وكتابة البرامج الخاصة بهم وتصحيحها
  3. WiFi Apple iStore Google play market
  4. Arduboy Arduboy ESPboy
  5. Little Game Engine


مقارنة بين ESPboy و M5Stack و MeowBit & Dingoo A-320



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



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



وحدات وبرامج التوسع


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



هناك العديد من التكرارات لإحضار جميع الوحدات إلى مرحلة الإنتاج.

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

آمل أن يكون لدي الوقت للقيام بكل هذا قبل نهاية هذا العام.

بالنسبة لليوم ، تم تجهيز الملحقات التالية وتصحيحها بالكامل:

  1. لوحة مفاتيح صغيرة كاملة
  2. محطة ميتيو
  3. مشغل MP3
  4. راديو FM
  5. الملاح GPS
  6. وحدة DAC لتشغيل الموسيقى
  7. رسول لورا
  8. هاتف GSM

أيضا في العمل بعض الأفكار الأكثر إثارة للاهتمام ، آمل أن أخبركم قريبا.

بضع كلمات عن كل وحدة


1. لوحة مفاتيح صغيرة كاملة

استنادًا إلى لوحة مفاتيح الهاتف الذكي Blackberry Q10 ، والتي يتم التحكم فيها من خلال موسع منفذ MCP23017.



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

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



2. محطة

الأرصاد الجوية أي عامل اردوينو لم يجمع محطة الطقس. لن تجد مثل هذا الشيء في الطبيعة.
يستخدم الإصدار الخاص بي مستشعر ضغط / رطوبة / درجة حرارة i2c BME280 وأيضًا مستشعر CO2 - SGP30 .

كمكافأة - DC3231 ساعة الوقت الحقيقي ، والتي تسمح لك أيضًا بعرض الوقت الصحيح.

كان لا يزال يُعتقد أنه يضيف مستشعرًا للبرق / البرق AS3935 ، ولكنه باهظ الثمن قليلاً. ربما في وقت لاحق.



تحولت الوحدة نفسها إلى صغيرة ، الرمز هنا .

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



3. مشغل MP3

يستخدم DFplayer mini mp3 ، بنفس الطريقة الموضحة في المقالات حول هذه الوحدة .

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

4. راديو FM

كأساس، وحدة موالف FM SI4703 و مكتبة مخدر قليلا من استخدمت mathertel .



يعمل الراديو بشكل مقبول في سماعات الرأس ، والبحث عن المحطات وحتى RDS يعمل. الكود هنا.



5. GPS Navigator

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



5. وحدة DAC لتشغيل الموسيقى

عند تطوير محاكي ZX Spectrum ، نشأت الفكرة لمحاكاة معالجها الموسيقي AY-3-8910. تحولت محاكاة البرمجيات على الديناميكيات المدمجة ، ولكن تكاليف المعالج لتجميع الصوت والجودة تركت الكثير مما هو مرغوب فيه. في النهاية ، حصل Spectrum على ESPboy ، ولكن فقط في الإصدار 48k بدون مضاهاة AY لأنه حتى الذاكرة الكافية كانت متوفرة من طرف إلى طرف (حرفيا بقيت اثنا عشر بايت لكل رزمة).



ومع ذلك ، وبفضل جهود Shiru وتجاربه في الصوت ، ظهرت وحدة DAC لـ ESPboy ومشغل PT3 AY-3-8910 Spectrum music.

تم استخدام الوحدة النمطية على PCM5102 مع دعم واجهة I2S (يجب عدم الخلط بينها وبين I2C ). هناك دائمًا رموز مصدر .



7. LORA messenger

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

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

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





8. هاتف مخترق GSM

بعد أن عثر على مصمم هاتف Ringo (المعروف سابقًا باسم Maker Phone) على الشبكة ، فوجئت جدًا بالسعر والتعقيد. لديه خبرة مع وحدات SIM800 المعروفة من شركة SimCom ، وسرعان ما غسل هاتفه.

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





يدعم البرنامج المكتوب الحد الأدنى الضروري:

  • عرض الوقت الحالي
  • الرد على المكالمات وإسقاط المكالمات
  • طلب رقم
  • استقبال وإرسال الرسائل القصيرة

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

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

ESPboy App Store - كتالوج التطبيق عبر الإنترنت


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

كيف يبدو تحديث البرنامج الثابت لوحدة التحكم الدقيقة بالطريقة المعتادة؟

  1. إذا كان USB-TTL مدمجًا ، فاعتبر نفسك محظوظًا. وإذا لم يكن الأمر كذلك ، فأنت بحاجة إلى البحث عن محول USB-TTL منفصل ومعرفة كيفية الاتصال
  2. قم بتوصيل الجهاز بسلك بالكمبيوتر وتكوين برنامج التشغيل
  3. قم بتثبيت Arduino IDE
  4. قم بتثبيت ملحق ESP8266 تحت Arduino IDE
  5. تنزيل كود المصدر
  6. لفهم المكتبات المستخدمة هناك والإصدارات (التي لا تكون واضحة على الإطلاق)
  7. ابحث عن جميع المكتبات من النسخ الضرورية وقم بتنزيلها وقم بتثبيتها (وهذا ، من حيث المبدأ ، غير ممكن دائمًا)
  8. تعامل مع خيارات التجميع ، قم بتعيينها (وهو أمر غير واضح أيضًا)
  9. إذا تمكنت أخيرًا من الوصول إلى التجميع ، احصل على مجموعة من الأخطاء
  10. أداء الرقصات مع الدف ، وحل أخطاء الترجمة (يحدث هذا في بعض الأحيان أكثر من يوم واحد ، وحتى مع kalachs المبشورة في بعض الأحيان تحصل على الأعصاب)

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

وكيف يمكن تغيير ذلك؟

يقلل كتالوج التطبيق عبر الإنترنت نفسه من مهمة تحديث البرنامج الثابت إلى الخطوات البسيطة التالية:

  1. حدد شبكة WiFi من القائمة
  2. حدد تطبيقًا من القائمة
  3. انتظر نصف دقيقة

حسنا ، أليس الجمال والسعادة!

فيما يلي كود مصدر جزء العميل للاتصال والاستمتاع .



ميناء مكتبة Arduboy2


منذ حوالي عام ، بعد أن صمم ESPboy واختبره بقوة وقوة ، صادف مشروعًا تجاريًا ناجحًا تجاريًا .

تحت هذه الأداة الرائعة، كما اتضح فيما بعد، غير قليل بارد ألعاب مفتوحة المصدر كانت مكتوبة ، و المجتمع ودية والنامية حتى يومنا هذا.

يعتمد تطوير ألعاب Arduboy على مكتبة Arduboy2 lib .

بعد نقل هذه المكتبة إلى ESPboy ، أصبح من الممكن إعادة ترجمة العشرات من الألعاب الرائعة باستخدام Arduboy مع الحد الأدنى من تعديلات التعليمات البرمجية.

مصادر المكتبة والألعاب المرفقة والتعليمات حول كيفية نقل أي شيء من Arduboy إلى ESPboy ، مرة أخرى على github.



ألعاب جديدة على Little Game Engine


بالتوازي مع مشروع ESPboy ، يتم تطوير مشروع الخيال لوحدة التحكم Little Game Engine بشكل مكثف .

يتم دعم عمل الألعاب التي تم إجراؤها على Little Game Engine بواسطة ESPboy و Igor ، مؤلف المحرك ، لا يتوقفان عن إرضاءنا بالإصدارات الجديدة .

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

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

كود المصدر للمحرك نفسه متاح للمراجعة.



وهكذا ، يستمر العمل في المشروع.

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



شكرا لكل من ساهم في المشروع: دميتري (طاعون) ، ألكسندر (شيرو) ، ميخائيل ج. ،
إيغور (كوراكس) ، أليكس (الرادو) ، ميخائيل (تورابورا) ، أندري س ، جورج ب ، رومان (orsweb ) ، سكوت (MLXXXP) ، هارولدو (هارولدو-OK) ، جون E ، ماركوس دي فيردير ، Loopingstar ، AccidentalRebel وغيرها الكثير الذين يلعبون، وقراءة، واختبار، رمز، تيار، وتقديم المشورة وتماما مثل.

كل النجاح الجيد والإبداعي!

التحيات ،
رومان

All Articles