Flipper Zero - تقدم سبتمبر



Flipper Zero هو مشروع متعدد الأدوات بجيب عامل شكل تاماغوتشي للمتسللين الذي أقوم بتطويره مع الأصدقاء. المشاركات السابقة [ 1 ] ، [ 2 ] ، [ 3 ] ، [ 4 ] ، [ 5 ]



في هذا الإصدار: واجهة برمجة تطبيقات النظام ، ومجموعة المطورين ، والتحسينات الميكانيكية والإلكترونية ، وتحديثات GPIO ، والميزة الجديدة في NFC ، ومنصة الاختبار عن بُعد ...



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





واجهة برمجة تطبيقات النظام







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



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







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



تحسينات على الميكانيكا والإلكترونيات





المكونات الجديدة وتصميم



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



لقد قمنا بنقل وحدتي RFID و NFC إلى لوحة منفصلة أسفل البطارية. وهي متصلة باللوحة الأم بكابلات FPC.



آلية زر ضغط جديدة





أزرار جديدة محملة بنابض



زنبركات مضافة إلى عصا التحكم لاستجابة أفضل عن طريق اللمس.





كيف تجتاز اختبارات ميكانيكا الأزرار



بطارية قابلة للاستبدال







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



انتقل InfraRed إلى الزاوية







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



المزيد من GPIO





إعادة تصميم دبوس GPIO. تمت إضافة اثنين من جهات اتصال GND - لا يوجد الكثير منهم على الإطلاق.



ميزة جديدة: قارئ USB NFC







لا يمكن تنفيذ المهام كثيفة الاستخدام للموارد مثل هجمات التشفير مباشرة على Flipper. بالنسبة للبعض ، حتى Raspberry Pi ليس كافيًا - فأنت بحاجة إلى معالج سطح مكتب قوي متكامل. على سبيل المثال:



  • الهجمات على Mifare classic: mfoc (متداخل) ، mfcuk (الجانب المظلم)
  • هجوم على Mifare Plus: متداخل بشدة




قررنا إضافة القدرة على استخدام Flipper كمحول USB NFC عادي إلى جانب مكتبة LibNFC. نتيجة لذلك ، ستعمل جميع البرامج الحالية التي تعمل من خلال LibNFC فورًا دون الحاجة إلى تعديلات. في هذا الوضع ، سيتم نقل جميع الأوامر من جهاز الكمبيوتر مباشرةً إلى شريحة NFC ST25R3916 عبر واجهة USB.



تكمن المشكلة الرئيسية في هذه المهمة في أن مكتبة LibNFC مثبتة بشكل صارم في شرائح NXP PN5xx ، وسيتعين على برنامج التشغيل الجديد بشكل أساسي محاكاة سلوك شريحة PN53xxx ، لكن هذا ليس مخيفًا جدًا.



الزعنفة صفر ديفكيت







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



فليبر لاب





خلف كواليس Flipper Lab



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



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





نموذج واجهة الاختبار عن بُعد Flipper Zero



Flipper Lab قيد التطوير حاليًا ، لكننا سنفتحه علنًا لاحقًا حتى يتمكن أي مطور من:



  • قم بتحميل البرنامج الثابت أو المكون الإضافي الخاص بك إلى عينة حية من Flipper Zero
  • عرض السجلات في الوقت الحقيقي وحتى إرسال رسائل UART إلى Flipper
  • اضغط على جميع الأزرار عن بعد
  • اختبار الأجهزة الطرفية باستخدام ، على سبيل المثال ، بطاقات RFID المادية وعلامات iButton




تحديثات حية على Discord







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



الآن هناك أكثر من 6 آلاف مشارك على الخادم!



انضم إلى خادم Discord الخاص بنا من أجل:



  • تواصل مع مهندسينا وداعمينا
  • تابع تقدم التطوير في الوقت الفعلي مع #updates channel
  • ناقش حالات استخدام Flipper Zero
  • قابل الآلاف من المهووسين
  • الوصول إلى قناة سرية للداعمين فقط (تواصل معBackers Bot في الرسائل الخاصة للحصول على الدور)




- مرحبا ، نحن نبحث عن المواهب!









أطلقنا سابقًا برنامج Flipper Developer وتلقينا أكثر من ألف رد. لقد قمنا بدعوة العديد من المطورين إلى مستودع شبه مغلق مع البرامج الثابتة.



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



ننشر جميع الوظائف الشاغرة هنا: flipperdevices.com/jobs




All Articles