フリッパーゼロ-9月の進捗状況



フリッパーゼロは、友達と一緒に開発しているハッカー向けのタマゴッチポケットマルチツールです。以前の投稿[ 1 ]、[ 2 ]、[ 3 ]、[ 4 ]、[ 5 ]



このリリースの内容:システムAPI、開発者キット、機械および電子機器の改善、GPIOの更新、NFCの新機能、リモートテストベンチ..。



9月には、このプロジェクトについてほとんど何も書いていませんでした。今度はその理由を説明します。開発およびその他のタスク(供給および生産契約、法的問題、雇用など)に焦点を当てるために、すべてのマーケティング活動を一時停止しました。これらすべてに非常に多くのエネルギーが必要だったため、更新を公開する時間すらありませんでした。これで、ニュースをあなたと共有する準備が整いました。





システムAPI







今月は、ファームウェアアーキテクチャとシステムAPI、ハードウェアと対話するための抽象化、スレッド制御、およびマルチタスクを開発しました。これは私たちが示していない内部の作業ですが、開発の重要な部分です。



ファームウェア開発における私たちの主な目標は、開発者がFlipper Zeroのプログラムを簡単に作成できるように、可能な限りユーザーフレンドリーで理解しやすいものにすることです。そのため、キャンペーンが終了した後、すべてのダーティコードを破棄し、アーキテクチャの開発を最初から開始しました。







この間、ブートローダーの作成、オペレーティングシステムコードのリファクタリング、ペリフェラルドライバーの作成、カスタムアプリケーション用のAPIの設計など、内部に積極的に取り組んできました。リファクタリングはビルドシステムと依存関係にも影響を及ぼし、ユーザーインターフェイスコードが再設計されました。最も重要な変更は開発スタックで行われました。使用済みのCMSISRTOSを2番目のバージョンに更新し、単一のAPIを使用するようにコードを追加しました。新しいカスタムアプリケーションAPIはベータ版に向けて大きな一歩を踏み出しました。近い将来、公開する予定です。



メカニックとエレクトロニクスの改善





新しいコンポーネントとケースのデザイン



ケースは最初のプロトタイプから大幅に変更されました。フリッパーがバラバラにならないように、内部のボタンとコンポーネントのレイアウトを完全に再設計し、耐久性があり、頻繁な使用に耐えることができます。



RFIDモジュールとNFCモジュールをバッテリーの下の別のボードに移動しました。FPCケーブルでマザーボードに接続されています。



新しいプッシュボタンメカニズム





新しいバネ仕掛けのボタン



ジョイスティックにバネを追加して、触覚応答を向上させました。





ボタン力学テストはどのように合格しますか



交換可能なバッテリー







取り外し不可能なバッテリーは、現代のデバイスの惨劇です。密閉型バッテリーは使用しないことにし、ユーザーが自分で交換できるように3ピンコネクターを採用しました。メンテナンス性を高めるため、バッテリーを含む個々のフリッパーコンポーネントを現場で直接販売する予定です。



InfraRedがコーナーに移動しました







いくつかのテストの結果、以前の赤外線ポートの配置はあまり便利ではないことがわかりました。インデックスフィンガーと外部モジュールによってブロックされていました。結局、コーナーに移動することになりました。



その他のGPIO





GPIOピン配置を再設計しました。さらに2つのGND接点が追加されました-それらの多くはありません。



新機能:USBNFCリーダー







暗号攻撃のようなリソースを大量に消費するタスクは、Flipperで直接実行することはできません。一部の人にとっては、RaspberryPiでさえ十分ではありません-本格的な強力なデスクトッププロセッサが必要です。例えば:



  • Mifareクラシックへの攻撃:mfoc(ネスト)、mfcuk(ダークサイド)
  • Mifare Plusへの攻撃:ハードネスト




LibNFCライブラリとともに、Flipperを通常のUSBNFCアダプターとして使用する機能を追加することにしました。その結果、LibNFCを介して動作するすべての既存のプログラムは、変更なしでそのまま動作します。このモードでは、PCからのすべてのコマンドは、USBインターフェイスを介してST25R3916NFCチップに直接プロキシされます。



このタスクの主な問題は、LibNFCライブラリがNXP PN5xxチップに厳密に固定されており、新しいドライバーは基本的にPN53xxxチップの動作をエミュレートする必要があることですが、これはそれほど怖いことではありません。



フリッパーゼロ開発キット







ファームウェアとハ​​ードウェアに取り組んでいる開発者のために、特別なdevkitを作成しました。実際、これはプラスチック製のフィッティングでボードを広げた通常のフリッパーであるため、すべてのコンポーネントに上下から簡単にアクセスでき、プローブを使用して各要素に簡単にクロールできます。



フリッパーラボ





Flipper Labの舞台裏



コードが書かれている間、それは絶えずテストされる必要があります。テストは実際のハードウェアで実行し、実際の世界と対話する必要があるため、タスクは複雑になります。このために、GitHubワークフローを介してCIスクリプトと統合するリモートテストベンチが作成されました。ファームウェアへのコミットごとに、ファームウェアは自動的に収集されてデバイスに注がれ、その後テストが実行され、その結果がUARTに吐き出されます。これにより、どのテストが正常に完了したかを理解できます。これまでは曲がりくねった動作をしていましたが、将来的には、ラジオの送受信、NFCカードの読み取り/書き込み、IR信号の送受信などのすべての機能をチェックする方法です。



これは開発者向けの同じ開発キットです。物理的なボタンはリレーを介して接続されているため、リモートで制御できます。画面からの画像はカメラで撮影され、ウェブサイトでリアルタイムに放送されます。開発者が手元にデバイスを持っていない場合でも、Webフェイスを介して、ファームウェアとポークボタンを手動でアップロードできます。





Flipper Zero



Flipper Labのリモートテストベンチインターフェイスモックアップは現在アルファ版の開発中ですが、開発者が次のことができるように、後で公開する予定です。



  • 独自のファームウェアまたはプラグインをライブのFlipperZeroサンプルにアップロードします
  • ログをリアルタイムで表示し、UARTメッセージをFlipperに送信することもできます
  • すべてのボタンをリモートで押す
  • たとえば、物理的なRFIDカードやiButtonタグを使用して周辺機器をテストします




Discordのライブアップデート







Discordサーバーに、プロジェクト内に更新のライブフィードを追加しました。新しい#updatesチャネルを使用して、開発者がリアルタイムでどのように行っているかを確認できます。ここでは、リポジトリへのコミットを確認できます。



現在、サーバーには6000人以上の参加者がいます!



Discordサーバー参加して:



  • エンジニアや支援者とコミュニケーションをとる
  • #updatesチャネルで開発の進捗状況をリアルタイムでフォローする
  • フリッパーゼロの使用例について話し合う
  • 何千人ものオタクに会う
  • バッカー専用のシークレットチャネルにアクセスします(役割を取得するには、プライベートメッセージで@Backers Botに連絡してください)




-こんにちは、才能を探しています!









私たちは以前にFlipperDeveloper Programを立ち上げ、1,000を超える回答を受け取りました。ファームウェアを備えたセミクローズドリポジトリに数人の開発者を招待しました。



残念ながら、ほとんどの非フルタイムの開発者は、インスピレーションと欲求がある場合にのみプロジェクトに時間を費やすため、水平管理モデルは私たちには適していないことに気付きました。このようなプロセスは、時間の経過とともに結果を管理および予測することは困難です。したがって、現在はフルタイムの開発者のみを採用しています。おそらく、低レベルのコードの大部分の準備ができてリポジトリを開くと、コミュニティの入力を受け入れるのが簡単になります。



ここですべての空席を公開します:flipperdevices.com/jobs




All Articles