ともかつの日記

仕事や日常で扱った事柄について書き残していきます。「…日記」とタイトルにあるものの、日々更新ししていませんがご容赦ください。

MENU

パスワード送出器を作る (5)

f:id:VEJ00675:20191013161525j:plain少しずつ作っていきます。今回の変更点は...

  • 記憶するパスワード文字列は 10個とするが、プログラムの使用できるようにするためのパスコードも記録するので、EEPROM に保存するのは合計で 11個のデータとなる。
  • 現時点で保存するパスワードは最大で16文字となっているので、文字列の終端である \0 を加えて 17byte となる。EEPROM のサイズは 1,024byte なので、もっとたくさんのデータが保存できるものの、それらのデータを切り替えるための UI を作るのが面倒なので、このまま実質 10個とする。
  • 最悪の事態を避ける程度のエラー処理だが... EEPROM からデータを読み込む際に、データの不整合が生じて、必要なデータを読み出せない場合、エラーを検出できるようにした。
  • まだ、本当のプログラムの処理が実装されていないものの... 起動画面をしばらくしたら消去するようにしてみた。
  • 基板上にタクトスイッチを実装して、ボタンが押されると "Hello World! (xx)" と文字列を送出するようにしてみた。 ※本来の機能であるパスワード送出の練習
  • Arduino IDE に付属している Keyboard.h を利用すると、単純な ASCII 文字は送出できたものの、記号はうまく出力できなかった。
    どうも、101キーボードとして動作していることが原因なようで、以下の URL を参考に 106/109キーボード用にカスタマイズした Keyboard_jp.h を作成したところ無事に動作しました。 ↓ の写真はテキストエディタに文字を入力したところです。()内の数字は送出する度にインクリメントされるようになっています。
    https://mgt.blog.ss-blog.jp/2016-01-14
  • 動作としては、「文字列を送出する」というよりも「該当するキーを押していく」という感じになるため、半角/全角の入力モードによっては、送出したパスワードが全角で入力されちゃう。
    この辺りは問題になるかもしれないけれど、真っ当なプログラムであれば、パスワードの入力フィールドで全角文字を入力できるようにはしないだろうから、問題にならないだろうし、運用でカバーできるだろう。(^-^;

f:id:VEJ00675:20191013161646j:plain

調べていると、同様の機能を持った製品がキングジム(KINGJIM)からも販売されていた。けれど、こちらは PC に USB で接続するものの、パスワードの送出は行えず、パソコンに別途インストールしたアプリケーションを用いて、コピー&ペーストする形のようです。

キングジム パスワードマネージャー  ミルパス PW10 ブラック

キングジム パスワードマネージャー ミルパス PW10 ブラック