زعنفة صفر - دعونا نقطع معا. نحن ندعو المطورين





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



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



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



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



يوجد تحت الخفض وصف للبرنامج لمطوري البرامج الثابتة والأجهزة وبرامج سطح المكتب ووحدات الأجهزة.



من الذي يعمل في المشروع؟



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



  • البرامج الثابتة - جميع برامج تطوير البرامج الثابتة ، بما في ذلك وحدات البرامج لكل مكون: الراديو ، RFID ، Bluetooth ، الأشعة تحت الحمراء ، U2F ، مكدس USB ، إلخ.
  • هندسة الإلكترونيات (EE) هي فريق يقوم بتطوير الأجهزة ، أي الجزء الإلكتروني بأكمله: اللوحات ، والهوائيات ، والطاقة.
  • Mechanical Engineering (ME) — , . , , : , , , , ..
  • Manufacturing — , , ME Hardware . , , . SMT-, , -, , . , .


في الوقت الحالي ، لدينا جهاز كامل بنسبة 80 ٪ تقريبًا من حيث الحديد والميكانيكا. لكن الجزء الأكبر من تطوير Flipper هو البرامج الثابتة. لدينا الآن نموذج أولي عملي ، وهندسة معمارية ، ومكونات البرامج الثابتة الأساسية لتنمية اللحوم عليها.



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



كيف تشارك في تطوير البرامج الثابتة؟





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



, . , .


تستخدم حاليًا HAL / LL من STM و FreeRTOS. تم إنشاء معظم العمل مع الأجهزة الطرفية بواسطة CubeMX ، ولكن في بعض الأماكن الصعبة كان علي التخلص من الوظائف القياسية والعمل مع السجلات مباشرة.



نحن الآن في مرحلة يسهل فيها تغيير مجموعة التكنولوجيا ، وكان كبير المبرمجين لدينا يفكر لمدة أسبوع في التبديل إلى RIOT OS و ChibiOS و NuttX و Zephyr لتسريع عملية التطوير وتبسيطها. نحن نفكر أيضًا في إعادة كتابة كل شيء في Rust واستخدام نظام Hal و Tock OS. بشكل عام ، نحن الآن جاهزون لتغييرات جادة من أجل مستقبل أكثر إشراقًا.



يتم تجميع الكود من خلال make و gcc ، ولكن في القريب العاجل سنحتاج إلى إضافة القدرة على جمع الكود الخاص بنا في Arduino IDE و PlatformIO.



هندسة البرامج الثابتة:





الذي نبحث عنه؟



تمت كتابة مكونات Flipper الرئيسية باللغات C و C ++ و Rust ، لذا فإن معرفة هذه اللغات سيكون مفيدًا للتطوير. سيكون الأمر رائعًا أيضًا إذا كنت قد عملت مع ميكروكنترولر وتعرف على كيفية تصحيح أخطاء الإلكترونيات ، لكننا نحاول فصل الأجهزة عن الكود بطبقة من التجريدات ، بحيث لا تتطلب العديد من المكونات ، مثل الواجهة الرسومية أو سلوك الدلفين ، العمل مع الأجهزة. نحتاج أيضًا إلى مصممي الواجهة (وضع واجهة مستخدم إعلامية على شاشة 128 × 64 ليس بالمهمة السهلة) ، والمطورين والمختبرين (إذا كنت مستعدًا لاختبار الإلكترونيات والتعامل مع إعداد حوامل للتصحيح والاختبار عن بُعد).



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





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



Dev Kit لعمال الحديد



بالنسبة لأولئك المطورين الذين يجرؤون على المشاركة في تطوير الحديد ، أي اختبار الجزء المادي من وحدة الراديو ، وتصحيح NFC / RFID ، وتطوير الهوائيات ، وما إلى ذلك. لقد قدمنا ​​مجموعة أدوات خاصة. سيكون إصدارًا من Flipper بدون غلاف في منصة خاصة لسهولة الاتصال بأدوات تصحيح الأخطاء.





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



مطورو الوحدة



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







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



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








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



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



تابع المشروع على الشبكات الاجتماعية
, , Telegram- @zhovner_hub .



@zhovner.



@pzhovner.



fb.com/zhovner.



All Articles