Blog2Viewer

以前、Movable Typeで運用していたブログの内容を表示させるために作成したページです。
USBプロトコルアナライザ購入
140605a5USBプロトコルアナライザはAubitのUS-F100Aという10年ぐらい前の機種を持っていて、引っ張り出して使っていて、それなりに使えて、使い勝手も悪くないのだが、難点があった。

たまに、PCを固めてしまうのだ。USBのログを取っていて、記録の終了ボタンを押すとそのままPCが固まってしまうことがある。割り込みが効かなくなり、時計も更新されない。マウスのカーソルが動いたかどうかは忘れた。PCをリセットするしか復旧させる方法が無い。



で、どうも、この現象が起こるパタンがあるようで、一度起こると、同じ操作でまた起こる。ソフトの問題なのだろうが、古い機械なのでソフトの最新版も2005年のもの。

で、とある問題を調べていたら、またPCを固められてしまった。同じことをすると再現性よく何度も固められてしまうので、USBプロトコルアナライザを何とかしたいと考え始める。

まず、昔買ったLAP-C(16032)にUSBプロトコルアナライザがついているのではないかと思ったが、持ってはいなかった。無料プロトコル解析機能の権利を持っているのではないかと問い合わせて見たが、持ってないとの返答だったのであきらめる。

で、aubitの今の機種はどうなっているのだろうかとHPを眺めると今の機種は当然プリンタポート接続ではなく、USB接続。Hi-Speed(480Mbps)対応の機種もある。でも値段が書いてないねーと思ったが、なんとアマゾンで販売中。12万円でHi-speed対応機種、 US-H220が買える!

高いので悩んだが、aubitのソフトは慣れてるし使いやすい。USB機器の開発は今後、積極的に行って行きたい。前のプロトコルアナライザは業務等で十分元が取れているとか考えて、購入。すぐに到着した。

使って見ると、ソフトは前のものを踏襲しつつ、使いやすくなってる。PCが固まることを心配せずに使えるのがとても心地良い。 現在のところFull-speed(12Mbps)しか使っていないが、そのうち Hi-Speed(480Mbps)の機器も扱って見たい。EZ-USB FX3とか使うあてはないので、USBカメラあたりかな。

[gallery link="file" ids="8879,8880,8878"]
Nucleo試用レポート
[caption id="attachment_8888" align="alignright" width="150"]定期購読+献本で2冊になってしまった 定期購読+献本で
2冊になってしまった[/caption]本日発売のトランジスタ技術2014年7月号に「STM32マイコン・ボード Nucleo試用レポート」という記事を書いた。Nucleoの紹介記事で6ページという依頼があり、Nucleoの紹介、mbedの使用例、mbedを使用しない開発例が欲しいという注文があったので、mbedを使用しない例として、前々から作って見たかったXBee Wi-Fiを使ったニュース(RSS)表示器を作って見た。

記事はページ数が限られているし、mbedのライブラリを活用したネタの方が受けそうな気がしたし、トラ技で作ったソフトの解説を延々書くのはどうだろうと思ったので、簡単にしか説明していない。折角のネタなので、このブログで何回かに分けて解説記事を載せたい。


ところで、掲載誌がラズベリーパイの特集号とは知らなかった。前号の予告には載っていたはずなので単なる注意不足だ。私の記事はラズベリーパイでやるようなことをSTM32でやっているともいえる。STM32で済むのなら、そちらの方が何かと楽だ。でもラズベリーパイにも手を出す予定。

Xbee Wi-Fiを使った、というような話は前にいろいろ読んだ気がしたが、今回調べて見たら Web-serverに接続したというような記事は見当たらなかったので、多少の不安を感じつつ接続してみたら、割とあっさり繋がり、RSS情報を読み出すことができた。表示に使っているのはストロベリーリナックスで購入したグラフィック有機ELモジュール100x16[黄] 1,200円(税別)。発光し視認性が良く、ちょうど良いサイズ+解像度だ。小型のTFTは文字が小さすぎたし、32x16dotのLEDモジュールはでかすぎた。

Xbee Wi-Fiで情報を取得し,このELモジュールに表示するというのは、なかなか良い感じだ。RSSに限らず色々使えそうだ。広告付きでもいいから自由に使用できるニュース配信(RSS)とかあれば良いのにと思う。ちなみに動画で表示させているRSSは 組み込みネットのもの。CQ出版の奴だから、たぶん文句は言われないと思う。



左の奴はNucleo-F030R8にaitendoの1680円のTFTシールドを載せてmicroSDカードに書いたjpeg画像を表示させている。こういうプログラムが簡単に書けるのでmbedは凄いと思った。プログラムはmbedのサイトで公開している。ライブラリの中身をみるとchanさんのやつが2つも入っている。

動作が物凄く遅いのは、データバスのピン配置がバラバラになっているせい? もう少し頑張れそうな気もするが、凄く速くはなりそうもないので放置している。
父の日にはホット・エア・リワーク・ステーションを

1869-03数日前のadafruit blogにHot Air Soldering Rework Station w/ Three Nozzles #fathersdayという記事。 冒頭に「お父さんの存在を偉大ものにする理由の一部は、間違いを認めることができること、そしてその間違いを落ち着いて直すことができることです。あなたのお父さんにホット・エア・リワークステーションを送りましょう。このツールで、ハンダ付けのミスをあっと言う間に治せるようになります。永遠に感謝してくれるでしょう。」とある。面白い。


このツールの素晴らしさは、何と言ってもその安さ。国産の同等品を探すとホーザンのHS-559 ホットエアSMD除去機とかgootのXFC-110やXHP-110になると思うが、生産中止や受注生産の上、4~10万円ぐらいする。それがなんと$97.50で買える!?


Adafruitでは既に売り切れているが、quick957Dで検索すると結構見つかる。国内では、まだ見つからないがどこか販売してくれるのではなかろうか。


なんで欲しいと思ったかというと、熱収縮チューブを使っていて適当な熱源がなかったから。昔はハンダゴテの熱で十分縮んでいたと思うが、温調式のハンダゴテでは温度が低いのか、なかなか縮んでくれない。いつもならヒートガンを使うのだが、たまたま手元になかったのでイライラしたという次第。ヒートガンなら十分縮むが風量が多すぎてちょっと怖い。使用後の後片付けも少し面倒。


間違って付けたFPGAの取り外しもできるのではなかろうか。あと、海外のハンダ付けの動画で、ICのハンダ付けに使っているところを見て欲しいと思ったこともある。


工具が大好きなのだが、必要なものは持っているので買うものが無い。新たに買えるものを見つけると非常に嬉しい。 ヒートガンは手元に戻ってきたので、すぐに必要ということではなくなった。気長に探すことにしよう。


ヒートガンと言えば、最近、温度がデジタル表示されるヒートガンの宣伝を見かける。わたしのには温度表示が無い。あれば便利だろうと思う。これも欲しい。


まぁ、父の日に、こんなもん送られたら嬉しいだろうな。子供いないけど。


ハルロックの、はるちゃんには是非お父さんにプレゼントしてもらいたい。


USBマイク自作

140614a3音声認識をやってみたくなりJuliusディクテーション実行キットをインストールしたが、あまり認識率が良くない。録音してマイクの音量を確認すると全然小さい。安いマイクだからいけないのかもと、いろんなマイクを買ってみたが、やっぱり小さい、というかマイクを口に近づければ適正なレベルになるのだろうが、そんな状態ではなく、もっと離れた状態で音声認識ができるようにしたい。

そこでアンプ付き、ゲインがコントロールできるタイプのマイクは無いかと探すが見つからない。だったらマイクアンプを作ろうと思うが、USBから電源をとれる方がスマートだしマイク端子よりUSBコネクタの方が接続が楽だ。PIC32MXのUSBは割りとうまく使えるようになったので、これでUSBマイクを作れるだろうと作ってみた。

手持ちのUSBマイクのプロトコルをアナライザで見たり、www.usb.orgでAudio Device Classの仕様を調べたりしながら、結局Audio Device document 1.0のAppendix B. Example 1:USB Microphoneのデスクリプタを、そのまま使ったらPCにUSBマイクとして認識された。適当なデータを送るとPCから音が出る。

ゲイン可変のマイクアンプを作り、PIC32MX220のADで読み込ませると、結構ノイズっぽいがマイクとして動作した。しかし、ゲインを上げてもノイズ・音質の面から、うまく音声認識できそうな気がしない。この辺の問題には今後じっくりととりくんで行きたい。

とか思っているとPSOCでやると良いんじゃないという気持ちになってきて基板付きのPSOCの本が欲しくなり購入。PSoCのライブラリのUSBにはAudio Device Classもサポートされてるようだし、とりあえず、この基板で、そのままUSBマイクを作ってみて音質を確認してみよう。

ついでにPSOCのチップの値段も気になりdigikeyで調べてみたらPSOC5だとCY8C5268AXI-LP047が1,236円とかCY8C5268AXI-LP032が2,147円とか、かなり高いが、PSOC4だとCY8C41xxが200~300円ぐらいで安い。CG8000AA (CY8C42xx?)は なんと 117円!こんなに安いと基板を起こしたくなる。でもPSoC4にはUSBが無い?

LEDコントローラ開発進捗
LEDコントローラの開発は進んでいるが、まだまだ道は遠い。表示する文字列の間にコマンドを挿入し、いろいろ制御できるようになったので紹介する。まぁ、プリンタのESC/Pコードみたいなイメージだ。でもESCコードのような非プリント文字を使うとデータ作成が面倒なので、バックスラッシュ(\)をエスケープ文字にしている。おかげでデータをすべて通常のテキストエディタで作れるのでテストが楽。



この埋め込みコマンドも切りが無いので、ある程度できたらリリースし、後は反応を見ながら拡張する予定。



ところで、LEDモジュール用の電源ケーブルを作るのに、付属の電源ケーブルをバラして使ったら驚愕の事実が判明。何も考えずストレート接続だろうと思ったら実はクロス接続だった。コネクタの向きを揃えてケーブルの色を確認すると左右で赤黒の位置が反転している。このため、ケーブルのどちらの端を接続するかで赤黒が(+5V,GND)になったり(GND,+5V)になったりする。まぁ、専用の相手があるのであれば問題ないのだろうが気持ちが悪い。この付属電源ケーブルが何のためのものなのか謎が深まるばかりだ。

[gallery link="file" ids="8931,8932,8930"]

マグネット・ストッドの方は、大変便利だ。複数のLEDモジュールを自由に配置できる。動画では壁面に貼り付けている。
ライントレース・ロボット2014
ロボコン部が、なかなか自動機のプログラムを作れるようにならないので組込みプログラミング教育の必要性を感じている。それと新入部員の講習の教材も兼ねて、3年前に作ったライントレース・ロボット若干作り直すことにした。




改造の主眼は、プログラミングの教材として使いやすいように、入出力を増やすこと。と言っても以前はスイッチ1個、LED1個しかついていなかったのを信号線を共用にし4個づつに増やした。スグには使わないが、あとキャラクタLCDもつけたかったので、I2C接続のLCDを搭載可能なように端子を出した。I2C端子で他にもいろいろ拡張できるかもしれない。

回路はkumaduino(arduino互換)+Cタイプユニバーサル基板のシールドにモータドライバーや昇圧回路を実装したもので作っていたが、今回はarduinoとモータドライバー等をまとめてCタイプ基板1枚に入れた。新入部員の1年生に、これをユニバーサル基板で自由に作らせると手に負えないので、実体配線図を用意し、部品の配置を指定した。この回路なら、ちょっとやそっと配線を間違えても、燃やされない限り修理可能だと思う。 電源グランド・ショートや逆刺しで、燃やされる可能性は十分あるので、ポリスイッチも追加。

作りなおしたプログラムを動かしてみると、LEDが増えた分、派手になってなかなか可愛い。モータドライバーはVcc 5Vでも使えるTA7291Pを使用しているが、モータ電源2.4Vだと出力が足りない気味であることが判明。出力100%なら動くが、PWMで少し絞ってやると、すぐに止まりがちになる。速度調整できていない。電池は3~4本使ったほうが良かったかもしれない。

でもまぁ、これぐらい遅いほうが使いやすいとも言えるし、今回は10セット作るので電池は少しでも少ないほうがありがたい。

ちなみに、車体は4mmのシナベニアをレーザー加工機で切り出したもので設計・製作は3年生のK津君。あと今回調べてみて、センサー回りに、いろいろ問題がありそうなことが判明。これまでは、とりあえず動いているので、あまり調べていなかった。

ともあれ、これで、良い講習ができると良いなぁ。

[gallery ids="8943,8944,8945,8942,8949,8948,8946,8947" link="file"]
LEDコントローラ進捗・イメージの表示
140627a8遅々として進まないLEDコントローラの開発であるが、コマンドでビットマップやイメージを表示できるようになった。あと明るさの調整などもできるようになった。

コマンドの実装を少しづつ進めているのだが、リリース前に、もう一度コマンド体系を見直す必要がありそうな気がする。



あと、LEDモジュールを最大何個駆動できるかテストすべく、32x16ドットのモジュールを8枚入手済み。8枚だと電源も16A~24A程度必要なので、5V20Aのものを入手済み。でも実験する前に、電源をケースに収めなければいけない。

[gallery link="file" ids="8958,8959,8957"]
Raspberry Piに手を出す
140625a3仕事に使えそうだったので、Rassberry Piを購入。実際に手に取り、その小ささに驚く。名刺大とは聞いていたはずだが、本当に小さい。これならマウスにも載せられそうだ。SDCardにイメージを書込み、起動させると普通のLinuxで、これまた驚く。時間はかかるが、セルフでカーネルの再構成もできるらしい。



ちょっと気になるのは、5V1A程度の電源なのに、USB microコネクタ経由で給電していること。
あと、プラスチックのケースも購入したが、それなりに熱を出すので、放熱に留意した金属製のケースも欲しい。

今回の目的は、Webの表示専用の機械を作ること。調べると先人たちの成果が既にたくさん公開されているので、それらを参考にサクッと完成させたい。

[gallery link="file" ids="8963,8965,8962"]
Bluetoothスピーカ、マウスなど購入
140627b4自宅で深夜podcastを聞いていると、サーバが弱いのか頻繁に中断する。iPhoneだとそういうことはないので、iPhoneで聴きやすくするためにBluetoothスピーカを購入した。ものはCreative D80とか言う奴。amazonで探して、安くて評判もよさそうだったので決めた。現物をみると想像よりも大きかった。幸いスペースがあったので設置し、iPhoneとペアリング、ちゃんと聞けた。ちなみに聞いているのはたまむすびのポッドキャスト。


ついでに、以前Twitterで見かけて、欲しい物リストに入れていたAmazon.co.jp: エンジニア ロックホルダー PH-01も購入。挟んだ状態で保持できる鉗子みたいなものらしい。ハンダ付け時に使えるかも。

あと、職場で使っているマウスのホイールの回転が一部だけ重くなり、なんか気持ち悪いので、マウスも購入。今回はワイヤー付きのブルーLEDマウス。iBUFFALO BSMBU09BK。使ってみると今まで使っていたワイヤレスマウスに比べて軽い。軽すぎる気もする。親指があたるマウスの左側面のくぼんだ部分にすべり止めの点のようなものがポツポツとある。このポツポツの感じがゴミとかが付着している感じに似ていて、なんか汚れていると思ってしまう。そのうち慣れるだろうか。まぁマウスは消耗品。どんどん買っていこう!

以前買ったbluetoothキーボードは、スグにサスペンドして反応が鈍く感じるのが嫌で使わなくなった。マウスは有線ブルーLED、スピーカはBluetoothに移行している感じ。

[gallery link="file" ids="8999,8997,8998"]