フリッパーゼロは、友達と一緒に開発しているハッカー向けのタマゴッチポケットマルチツールです。以前の投稿[ 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を超える回答を受け取りました。ファームウェアを備えたセミクローズドリポジトリに数人の開発者を招待しました。
残念ながら、ほとんどの非フルタイムの開発者は、インスピレーションと欲求がある場合にのみプロジェクトに時間を費やすため、水平管理モデルは私たちには適していないことに気付きました。このようなプロセスは、時間の経過とともに結果を管理および予測することは困難です。したがって、現在はフルタイムの開発者のみを採用しています。おそらく、低レベルのコードの大部分の準備ができてリポジトリを開くと、コミュニティの入力を受け入れるのが簡単になります。