パスワード送出器を作る (2)
まずは、仕様の確認から...
- USB で Arduino 互換機である Pro Micro を接続し、USB HID デバイスとして認識させて、記憶してあるパスワードを送出し、あたかも入力させたようにする。
- 用途的に PC に接続して使用することになるため、給電のための電池やアダプタは不要。PC と USB で接続することで、PC から給電する。
- Arduino に記憶してあるパスワードは、プログラムのコードで固定にするのではなく、EEPROM に保存して変更できるようにする。
- 数字キーボードを押すことで、そのキーに対応したパスワードを送出する。
- セキュリティ対策の観点から、起動時にはパスコードを入力しなければ、パスワード送出モードには移行しないようにする。
- 使用する LCD は OLED なものなので、焼き付きを防止するための配慮が必要。
といった感じ。細かな部分は、これから詰めていきます。
でもって、作成した第一弾のプログラム。
とりあえず、EEPROM に初期設定した文字列群をプログラム内の配列に読み込むことができた。(^-^)v
現時点で気になったことは...
- はじめての Leonardo 系の Arduino でのプログラミングでしたが、シリアルモニタを用いたデバッグを行おうとすると、うまく動作しなかった。
→ プログラム 122行目のように、Serial.begin( ) を実行した後、完了を待つようにしてやることで動作するようになった。 - 製作のきっかけとなった「クレイジースモール パスワードロム240」も、記憶してあるパスワードの変更は限られたキーで行うので大変そうだった。今回作成するものも、自作するものなので、初期値としてはプログラムで書き込めばいいのだろうけど、何かしら単体で編集できる機能を備えるべきなのかも...
- EEPROM に保存したパスワード文字列は、現時点で何の暗号化も施していない。何かしらの保護が必要か?
→ 商用販売するものでもなく、私的使用のためのデバイスなので保留 - EEPROM から読み込む際のエラー処理が未実装。
→ どこまで想定するか、になるんだろうけど可能な範囲で実装する。
といった感じ。とりあえず、Amazon に注文したら中国からの別送になったキーボード(入力デバイス)が届かないことには、マイコン側に入力装置がないので動作させにくい... (-_-;
まだまだ続きます。