ラジオ信号とNFC対応のポケット型マルチツールを自作する方法
フルスペックのFlipper Zeroは今や相当な費用がかかり、家庭用のゲートバリア、IRリモコン、アクセスタグを使った簡単な実験には、よりオープンで修理しやすいものを欲しがることが多い。ユーザー名lratonによるFlopperZiroプロジェクトの作成者は、この状況を皮肉な目で見つめ、自分の創作物を「壊れた英語での恐ろしいコピー」と呼んだが、実際には中国で容易に入手できるボードを使って自律型マルチツールの実用的なプロトタイプを構築した。
このDIYガジェットのできること
このデバイスは、ラジオプロトコルの探索と周辺機器との相互作用のための基本的なタスクを処理します。ファームウェアにはすでに4つの主要モジュールが動作しています:
- 433 MHz傍受とリプレイ。RXB12レシーバーがゲート遥控やシンプルなリレーの信号をキャッチし、ファームウェアはダンプをメモリカードに保存し、FS1000Aトランスミッター経由でそれらを送り返します。
- 红外線ポート。レシーバーとIR LEDが連携して、TVやエアコン用の家庭用手元のコマンドを読み取り、ファイルに保存し、ボタンを押すだけでリプレイします。
- PN532チップによるNFCとRFID。このデバイスは標準的なタグとカードのUIDを読み取り、ターゲットをエミュレートし、APDUパケットを送信できます。ISO14443-Bサポートはまだロードマップにありますが、シンプルな機能テストには十分です。
- BadUSBキーボードエミュレーション。マイクロコントローラーがHIDデバイスになり、メモリカードから直接Rubber Duckyフォーマットのスクリプトを実行します。
MicroSDのファイルブラウザー、バッテリー充電インジケーター、ディスプレイコントロールモジュールも動作します。
このデバイスの内部構成
FlopperZiroが специализированныеチップを使用した複雑なプロジェクトより優れている点は、無線コンポーネントの入手の容易さです。すべての部品は、市場で簡単に入手できるか、古いのArduinoモジュールの箱から見つけることができます:
- マイクロコントローラー:STM32-L432KCボード
- ディスプレイ:128x64ピクセル 解像度のモノクロOLED SSD1306
- ラジオモジュール:433 MHzのFS1000AトランスミッターとスーパーヘテロダインレシーバーRXB12
- NFCモジュール:人気のPN532コントローラー
- ストレージ:標準的なTF MicroSD Card Shield
- 電源:TP4056充電ボード、5Vと3.7V LiPoバッテリーへの昇圧コンバーター付き
- コントロール:6つのタクタイルボタンとIR LED増幅用の2N2222Aトランジスター
ケースは標準的なFDMプリンターで3D印刷できます。作成者は、の両方のPCBリビジョンとバッテリーをタイトに収納するPrintables готовую3Dモデルを共有しています。
落とし穴とファームウェアのニュアンス
コードベースはArduino IDE用のC++で書かれています。これは、エキゾチックなゲートバリア用の特定のプロトコルを調整したり、独自のプラグインを作成する必要がある場合、参入障壁を大幅に下けます。
しかし、シンプルさには欠点もあります。例えば、作成者は面白いバグについて正直に警告しています:Arduino環境で新しいスケッチをアップロードした直後、デバイスの画面が真っ暗になることがあります。問題はSSD1306ディスプレイのハードウェアリセットタイミングにあります。修正方法は、IDEでシリアルモニターを開くことで、USB経由で正しいソフトウェア再起動が開始されます。
このプロジェクト誰が恩恵を受けるか
FlopperZiroは研究室グレードのラジオ信号アナライザーではありません。FS1000Aトランスミッターのレンジは控えめで、アンテナはただのワイヤ片です。それでも、余分な費用をかけずにSPI、I2C、sub-GHzの生パケット読み取り、スマートカードプロトコルの仕組みを理解したい学生や開発者にとって、優れたトレーニングフィールドです。
回路図とソースコードは、GPL-3.0ライセンスの下でプロジェクトのGitHubリポジトリで入手できます。構築には基本的な半田付けスキルとArduino IDEのインストールのみが必要です。
関連プロジェクト