格安SPI/I2C ReaderをLinuxで使う

仕事で SPI Flash の読み書きが必要になって、個人的にもSPI Flashのライターが欲しいなと思っていたので、色々と探してみたらAmazonで格安のSPI Flash / I2C リーダライタ を発見。

買ったときの値段は忘れてしまったけど、現在の価格は送料込みでたったの 325円 !!
怪しいくらい安い。でもこのくらいなら失敗しても痛くないので買ってみた。
中国からの発送で2週間位かかったと思う。

見た目はこんな感じ。写真は撮ってないけど他にもSOP-DIPのピッチ変換基板が付いてきた。

こういうDIPソケットってめちゃくちゃ高かった気がするから、貧相な安物だろうと思っていたら、ちゃんとTEXTOOLだった。すごいな。この値段っておかしくないか?

裏面はこんな感じ。

裏面のシルクのように、ソケットの位置でSPIフラッシュとI2CのEEPROMを使い分けるようになっている。TX, RXもあり、USBシリアルとしても使えるらしい。

Windows版のプログラムは以下からダウンロードできるみたい。おそらくここがオフィシャル?のツールだと思う。

英語ページよりも中国語ページのほうが内容が充実しているので、中国語ページをgoogle翻訳したものを見るといいかも。

ただ、上記でダウンロードできるツールは、いくつかのアンチウィルスソフトで「トロイの木馬」と検出されるらしい。誤検知らしいんだけど、こういう前例があると会社では使えないよね。

色々探してみると、Linux版のツールも見つかった。

SPI Flashライタツール

どちらも CLI のツール。flashromの方は ubuntu のリポジトリにも入っている。

flashromの方が対応しているFlashデバイスが多く、SFDP にも対応しているみたいなので、対応リストに入っていないFlashでも使える可能性は高い。基本的にはこちらを使っていれば問題はないと思う。

ただ、どちらのツールも4byteアドレスには対応していないので、16MBまでのFlashしか読み書きできない。
また、クロックがそれほど速くないせいか、大容量のFlashだと読み書きに結構時間がかかるようだ。

I2C EEPROMライタツール

Linux用で見つけられた唯一のツール。

24c32 と 24c64 にのみ対応している?のかな?
違う容量のEEPROMの場合はソースの修正が必要になるかも。

パーツボックスに転がっていた 24LC64 は問題なく Read/Writer/Erase できていそうだった。
24LC64 (8kB) で Read が 0.3 秒、 Erase が 3.3 秒、 Write も 3.3 秒だった。

USB I2C kernel driver

kernelドライバとして実装されているので、kernelが持っているI2Cデバイスのドライバ(温度センサやタッチパネルとか)が使える。

これは試してみてはいない。

USBシリアル kernel driver

USBシリアルのドライバとしてはすでにメインラインに取り込まれている。ubuntuでも使えるかも。

シリアルとSPI Flashライタツールを同時に使うことはできるのかなぁ。
kernelドライバとlibusbで同時に1つのデバイスを操作できるのだろうか。

 

軽く使ってみた感じでは、CLIであればLinuxでもまぁまぁ使えることがわかった。値段の割にはちゃんと使えるので、ライターが欲しい人にはいいかもしれない。

でも裸だと雑に扱えないからケースがほしいなぁ。アクリルで作ってみようかな。


Huawei P9 のバンパーケースを購入したものの失敗・・?

失敗談です。悔しかったので記事にしてみました。

Amazon で Huawei P9 のバンパーケースを買いました。

Huawei P9 は画面のガラスがラウンド加工されています。デザイン的にはいいのかもしれないですが、個人的にはこれは大きなお世話で、こいつのせいで落とした時に割れる可能性が飛躍的に高まっています。

狭縁が流行りですが、実用性も考えて欲しいですね。結局ケースつけたらデザインが損なわれてしまうので。

で、落下耐性を上げるにはバンパーです。Huawei P9はキャリアから発売されているものではないので、P9用のケースはヨドバシなどの量販店ではほとんど取り扱われていません。

いまでもこのケースを使っているのですが、裏側の透明アクリル板が厚くてせっかくのP9薄さが台無しなんですよねー。

Amazonで色々と探した結果、LUPHIEのアルミ製バンパーケースを買ってみました。

中国からの配送でしたが、1週間位で届きました。早い!

つけてみた感じが以下の写真。

かなりいい感じです。

端子部分はこんな感じ。

結構細かいところもしっかりと作りこまれていて、加工も精度が高そうです。

バンパー部分が僅かにガラス面より出ているので、落とした時にガラス面が地面に接触する可能性が下がります。

デザインも高級感があり大満足。

 

だが、しばらく使っていて気づいたことが・・・・。

Wifiの電波の入りが悪い。

Wifi Analyzerでケース無しとケース有りを比べてみた結果・・・

うわっ・・・Wifiの感度低すぎ・・・?

画面の真ん中から左がケース無し、右側がケースありです。明らかに電波強度が低下。

一応金属製バンパーなので多少の電波干渉は覚悟していたんだけど・・・。

うーん。見た目も質感も、モノは悪くないんだけどなー。

ちょっとしばらく使ってみるか・・。


ownCloudのContactsをふりがなに対応してみた

久しぶりに投稿できそうなネタができたので数年ぶりに復活。

クラウド全盛期のこのご時世、Google カレンダーも Google コンタクトも便利なのはわかっているんですが、予定や電話帳、位置情報と言った個人情報を Google に提供するのがどうにも気持ちが悪くて、Android スマホを使っていながらも、これらのアプリは Google アカウントとは連携せずに使ってます。※1

そんな私のニーズにバッチリなのが ownCloud で、Dropbox、Google Calender (CalDAV)、Google Contacts (CardDAV) を自分のサーバで完全に置き換えることができます。素晴らしい!!

そんなこんなで重宝している ownCloud ですが、不満があったのが Contacts アプリです。一通り機能は揃っていて UI も今風で使いやすいのですが、致命的な欠点はふりがなに対応していないことでした。

内部の DB としてはふりがななどの情報も保持できているようで、 CardDAV を使ってAndroidなどのクライアントからふりがな付きのデータを同期することは問題なくできます。なので、Android 端末側で全て操作して、クラウドの保存先として使う分には問題ありません。

ただ、スマホの機種変更の際の操作ミスが重なり、ふりがなが消えたデータで上書き同期してしまいました。スマホの操作で全部ふりがなを書くのは気が遠くなるので Contacts アプリを改造することにしました。

で、対応したのがこれ。

Contactsアプリを上記のものに置き換えると、設定に「Enable phonetic」「Reverse name order」の2つのチェックボックスが追加されます。

「Enable phonetic」のチェックボックスを有効にすると「せい」「めい」の項目が表示されます。

「Reverse name order」のチェックボックスを有効にすると、「名」「姓」の順から「姓」「名」の順に変わります。

両方にチェックを入れた時の右側の詳細画面がこちら。

もう1つ、ソートの項目に「せい」と「めい」の2つが追加されます。これを選ぶとふりがなでソートができるようになります。

日本なら2つのチェックボックスを有効にして、ソートは「せい」を選ぶのが良いでしょう。「せい」を選んだ場合、同姓なら「めい」でソートされます。

これで日本語環境で最低限使えるようになったと思います。

ソースは github で公開しています。一応本家にもプルリを送ってみたのでうまくいけばマージしてもらえるかも?

※1 .. LINE のほうが Google に比べて信用度は下がるのに、こっちは使わないわけには行かないというジレンマ・・・  コミュニケーションツールがクローズドな仕様で一社寡占状態なのは不健全だと思うんだけどねぇ。