Flipper Zero - mari kita potong bersama. Kami mengundang pengembang





Flipper Zero adalah alat multi-saku faktor bentuk tamagotchi untuk peretas yang saya kembangkan bersama teman-teman. Posting Sebelumnya [ 1 ], [ 2 ], [ 3 ], [ 4 ]



Selama 24 jam pertama kampanye Kickstarter, kami mengumpulkan $ 1 juta. Terus terang, tidak ada satu pun tim yang mengharapkan popularitas seperti itu. Di masa-masa awal, ponsel saya robek dari notifikasi, panggilan dari majalah Forbes ke Channel One dilakukan. Saya masih belum sepenuhnya pulih dari keterkejutan dan belum sepenuhnya menjawab semua surat. Saya tidak pernah mengalami hal seperti ini dalam hidup saya.



Terima kasih banyak kepada semua orang yang mendukung kami, mengikuti proyek dan mengambil bagian. Di Habrรฉ saya menerbitkan posting pertama dengan konsep Flipper, menerima umpan balik, kritik, dan pujian pertama. Kami menambahkan beberapa fungsi ke Flipper setelah umpan balik di Habrรฉ. Kami akan mencoba untuk tidak omong kosong dengan produksi dan memenuhi harapan.



Sekarang saya sepenuhnya yakin bahwa keterbukaan dan kejujuran maksimum adalah strategi terbaik. Seluruh tim kami percaya pada sumber terbuka, dan kami percaya bahwa para penggemar dapat membuat proyek keren tanpa menarik investor dan pengawasan perusahaan. Oleh karena itu, saya mengundang semua orang yang tertarik dengan proyek ini untuk ikut serta dalam pembangunan.



Di bawah potongan adalah deskripsi program untuk pengembang firmware, perangkat keras, program desktop, dan modul perangkat keras.



Siapa yang mengerjakan proyek?



Proyek ini terdiri dari beberapa bagian skala besar, yang masing-masing memiliki tim sendiri. Terkadang tim harus mengkoordinasikan pekerjaannya, misalnya ketika mekanik dan pekerja perangkat keras mencoba menyetujui cara memindahkan komponen di papan agar tidak mengganggu pergerakan tombol. Berikut adalah perintah dasarnya:



  • Firmware - semua pengembangan perangkat lunak firmware, termasuk modul perangkat lunak untuk setiap komponen: radio, RFID, Bluetooth, inframerah, U2F, USB stack, dll.
  • Electronics Engineering (EE) adalah tim yang mengembangkan perangkat keras, yaitu seluruh bagian elektronik: papan, antena, daya.
  • Mechanical Engineering (ME) โ€” , . , , : , , , , ..
  • Manufacturing โ€” , , ME Hardware . , , . SMT-, , -, , . , .


Saat ini kami memiliki ~ 80% perangkat lengkap dalam hal besi dan mekanik. Tetapi bagian terbesar dari pengembangan Flipper adalah firmware. Kami sekarang memiliki prototipe, arsitektur, dan komponen firmware dasar yang berfungsi untuk mengembangkan daging.



Pada tahap ini, sangat penting untuk mendekati penyatuan semua komponen dengan benar untuk menjaga keterbacaan kode dan satu gaya yang dapat dimengerti, sehingga akan mudah bagi pengembang di seluruh dunia untuk mengembangkan platform kami. Kami yakin bahwa tantangan ini akan menarik bagi komunitas dan mengundang Anda untuk berkontribusi dalam proses pembuatan Flipper, seperti pada tahap awal.



Bagaimana cara berpartisipasi dalam pengembangan firmware?





Semua firmware Flipper Zero akan sepenuhnya open source dan dipublikasikan di Github. Untuk saat ini, kami memutuskan untuk tidak membuka repositori kode kami untuk sedikit menunda momen munculnya pemalsuan di Aliexpress. Pada saat yang sama, kami sangat menyadari bahwa setelah sukses di kickstarter, pemalsuan pasti akan muncul, dan secara umum kami tidak terlalu khawatir tentang ini. Mari kita tunda momen ini sebentar, mungkin ini akan mendorong orang China untuk menulis beberapa kode baru daripada langsung menggunakan kode kita. Jadi sekarang semua pengembangan dilakukan dalam repositori tertutup di mana kami menambahkan orang setelah mereka mengisi formulir dan menandatangani Perjanjian Pengembang (CLA). Dalam perjanjian tersebut, kami meminta Anda untuk tidak mendistribusikan kode tanpa persetujuan eksplisit dari kami, dan juga mengatakan bahwa kami akan dapat membuang kode Anda, tetapi pastikan untuk menyimpan kepenulisan Anda.



, . , .


Saat ini digunakan HAL / LL dari STM dan FreeRTOS. Sebagian besar pekerjaan dengan periferal dihasilkan oleh CubeMX, tetapi di beberapa tempat hardcore saya harus membuang fungsi standar dan bekerja dengan register secara langsung.



Sekarang kami berada pada tahap di mana mudah untuk mengubah tumpukan teknologi, kepala programmer kami telah berpikir selama seminggu apakah akan beralih ke RIOT OS, ChibiOS, NuttX dan Zephyr untuk mempercepat dan menyederhanakan pengembangan. Kami juga mempertimbangkan untuk menulis ulang semuanya di Rust dan menggunakan embedded-hal dan Tock OS. Secara umum, saat ini kami siap untuk perubahan besar demi masa depan yang lebih cerah.



Perakitan kode dilakukan melalui make dan gcc, tetapi segera kami perlu menambahkan kemampuan untuk mengumpulkan kode kami di Arduino IDE dan PlatformIO.



Arsitektur firmware:





Siapa yang kita cari?



Komponen utama Flipper ditulis dalam C, C ++ dan Rust, jadi pengetahuan tentang bahasa ini akan berguna untuk pengembangan. Ini juga akan bagus jika Anda telah bekerja dengan mikrokontroler dan tahu cara men-debug elektronik, tetapi kami mencoba memisahkan perangkat keras dari kode dengan lapisan abstraksi sehingga banyak komponen, seperti antarmuka grafis atau perilaku lumba-lumba, tidak perlu bekerja dengan perangkat keras. Kami juga membutuhkan perancang antarmuka (menempatkan UI informatif pada layar 128 ร— 64 bukanlah tugas yang mudah), pengembang dan penguji (jika Anda siap untuk menguji elektronik dan berurusan dengan pengaturan untuk debugging dan pengujian jarak jauh).



Yang terpenting, Anda harus mau berkontribusi dalam pembangunan. Untuk berpartisipasi dalam proyek, isi formulir... Perlakukan pengisian formulir dengan sangat hati-hati, ini adalah satu-satunya cara mudah bagi kami untuk memahami profesionalisme Anda: tulis tentang pengalaman pengembangan Anda, tunjukkan hanya komponen Flipper yang benar-benar ingin Anda kembangkan. Akan sangat bagus jika Anda sudah memiliki ide yang dapat Anda terapkan - pastikan untuk menuliskannya di formulir.





Kami akan meninjau semua aplikasi dengan hati-hati dan menghubungi mereka yang memiliki pengalaman yang relevan. Kemudian kami akan memberi tahu Anda bagaimana kami dapat mengerjakan proyek ini bersama-sama, menambahkan Anda ke Github, memberi Anda instruksi, memberikan semua dokumentasi yang diperlukan dan memperkenalkan Anda pada proyek tersebut. Pada saat yang sama, kondisi kerjasama bisa sangat berbeda: dari bekerja penuh waktu dalam tim kami hingga menjadi sukarelawan sebagai hobi.



Dev Kit untuk pekerja besi



Bagi para developer yang berani ikut andil dalam pengembangan besi yaitu test fisik bagian modul radio, debug NFC / RFID, kembangkan antena, dll. kami telah menyediakan dev kit khusus. Ini akan menjadi versi Flipper tanpa rumahan di rig khusus untuk koneksi mudah ke alat debugging.





Set seperti itu akan sulit digunakan untuk apa pun selain pengembangan di atas meja, dan mungkin akan berisi bug. Oleh karena itu, Anda tidak perlu menyanjung diri sendiri dan berpikir bahwa dengan cara ini Anda bisa mendapatkan Flipper terlebih dahulu.



Untuk pengembang modul



Menurut ide kami, fungsi Flipper dapat dikembangkan menggunakan modul perangkat keras. Sekarang kami tidak memiliki sumber daya untuk mengembangkan modul, jadi kami siap untuk sepenuhnya mendelegasikan tugas ini kepada komunitas. Ini benar-benar dapat berupa modul apa pun, misalnya CAN Bus, sensor Hall, penganalisis logika, sensor lingkungan, sensor kebisingan, modem, LoraWAN, IMU, pemancar FM, dan sejumlah besar kemungkinan opsi yang hanya ada cukup imajinasi.







Jika Anda adalah perusahaan komersial besar atau penggemar DIY yang sederhana, dan Anda memiliki ide untuk modul besi untuk Flipper, kami siap memberikan semua model dan dokumentasi 3D yang diperlukan untuk pengembangan modul dan secara aktif membantu dari pihak kami. Kami akan mendukung



10 modul siap pakai pertama dengan sumber daya media kamidi situs web kami dan di semua materi promosi Flipper. Oleh karena itu, setiap orang yang mengetahui tentang Flipper juga akan mengetahui tentang modul Anda. Untuk berpartisipasi dalam pengembangan modul, isi formulir ini.








Sebagian besar tim kami berbicara bahasa Rusia, jadi akan lebih mudah bagi kami untuk bekerja dengan orang-orang yang berbahasa Rusia. Namun, semua masalah, komentar, dokumentasi perlu disimpan dalam bahasa Inggris , karena proyek ini bersifat internasional.



Saya berjanji bahwa saya akan menjelaskan secara rinci semua tahap pengembangan lebih lanjut di sini. Mudah-mudahan, saya bisa pergi ke China dan siaran langsung dari pabrik, menunjukkan bagaimana Flipper akan diproduksi dari dalam. Secara terpisah, kami sedang mempersiapkan materi pelatihan untuk mempelajari protokol digital, dasar-dasar elektronika dan pemrograman, sehingga para pemula dapat menggunakan Flipper sebagai platform pembelajaran.



Ikuti proyek di jejaring sosial
, , Telegram- @zhovner_hub .



@zhovner.



@pzhovner.



fb.com/zhovner.



All Articles