« 2011年7月 | トップページ | 2011年9月 »

2011年8月31日 (水)

進化するmbed開発環境(その2)

前回(進化するmbed開発環境) で紹介したmbed開発環境のバージョン管理機能は現在、正式バージョンに取り入れられ、使用できるようになっています。

そして、今度はエディタもタグ機能とプロジェクト内の検索機能が追加されパワーアップする様です。
この機能は現在ベータ版として公開され、以下のページでベータ版に切り替えることで使用できるようになります。
http://mbed.org/betamode/
01

複数のファイルを開くとタグで選んで表示できるようになります。
02

CTRL+F などで検索バーを開きAdvancedを押すと下記の画面になり、検索の条件や範囲などを選択して検索できます。
03

実際に検索するとその結果がステータス表示の部分に表示され、クリックするとその箇所にジャンプします。
04

また、ステータス表示部分を消してエディタ部分の範囲をボタンひとつで切り替えられるボタンも追加になっていました。(画面右上の「Expand」)
05

まだベータ版ということで、うまく動いていない部分もありましたがエディタ機能のパワーアップが期待できます。
実際、プログラムの量が多くなってくるとオフラインでプログラムしてからmbedの開発環境にアップロードしてコンパイルしていましたが、これらの機能が加わればその必要がなくなるかもしれませんね。

| | コメント (0) | トラックバック (0)

2011年8月22日 (月)

mbedのUSB(その3) MicroBridge

いろいろ手間取りましたが、ここで話したAndroid端末とマイコンをADBインターフェースで繋ぐMicroBridgeのmbedへの移植がだいたい終わりました。(まだ完璧ではありません・・)

これでAndroid 2.3.4や3.1に対応していないAndroid端末もmbedと繋いで通信することができます。

とりあえずMicroBridgeのデモとして用意されているサーボのプログラムで動作確認しました。
2

実験で使ったのはおなじみGEMMYカード
Android端末はもう懐かしい感じのDev Phone 1(Android 1.5)です。

画面をタッチしたX座標、Y座標それぞれで2個のサーボが動作し、GEMMYカード上の四角ボタンを押すと画面上の数値がカウントアップするようにしています。

動作させた動画はこんな感じです。

今のプログラムは暫定でUSBのインターフェース番号を固定しているのでおそらく試した端末でしか動かないと思いますが、プログラムをパブリッシュしました。

MicroBridge

Android端末側のテストアプリはMicroBridgeのサイトでダウンロード出来ます。

今回の移植はプログラムは大したこと無いのですが単純なところでドツボにハマり、時間がかかりました。
USBホストのプログラムはmbed.orgでパブリッシュされているプログラムを使いましたが、USB受信時のコールバックがかかったときにコールバック関数を再設定しているところで、ADBインターフェース通信が可変長なのに気付かずにサンプルのまま受信したサイズを再設定してしまい、次からの受信が全サイズ受信出来なくなっていました。
ほかにもUSBの実装には慣れていないためいろいろダメでした。

プログラムをもうちょっと整理して、ライブラリバージョンを公開します。

| | コメント (0) | トラックバック (0)

2011年8月15日 (月)

mbedのUSB(その2)

USBプロトコルアナライザは高価で趣味で電子工作を楽しんでいる私にはちょっと手に入れられないので、安価なロジックアナライザで試してみることにしました。

購入したのは秋月電子通商等で手に入れられる台湾ZEROPLUS社のLAP-C(16064)です。

このロジックアナライザはUSBでPCに接続して、PCからコントロールが出来るタイプです。
計測した結果をPCに取り込んで通信内容などを解析することが可能で、標準で解析できるのがUARTとI2C、SPIです。

普通のマイコン電子工作ではこれだけあれば十分ですが、現在はキャンペーン中で20ものプロトコルを追加できるとのことです。
その中にUSB1.1がありました!
本体に書いてあるシリアルナンバーとキャンペーン用のIDで追加することが可能で、やり方は販売ページに書いてあります。
(いつまでかはわかりませんが、期間限定とのことで追加したいものがあれば早めにやったほうがいいかもしれません。)

とりあえず、mbedをUSBホストにしてUSBキーボードとmbed間の通信を見てみました。
2
USBの中継は同じく秋月電子通商で買いました。

Untitled_2
設定は10MHzの64KBです。
細かいプロトコルの意味などは解析されませんが、ここまで出てくればUSBの仕様書を片手にすればやりとりがわかります。
他の用途にも使えるし、この値段でここまでできればいいですね。

| | コメント (0) | トラックバック (0)

2011年8月11日 (木)

mbedのUSB(その1)

6月中旬から8月頭に引越す予定を立てて、ようやく引越しが終了しました。
なのでブログの更新もできず、電子工作も出来ずでした。

まだまだ引越しのダンボールだらけでハンダゴテも使えない状況ですが、徐々に片付けて、工作環境も整えてくつもりです。

前回のブログでも書きましたがAndroid Bazaar and Conference 2011のときに
今までWiiリモコンで動かしていたうおーるぼっとをAndroid端末とBluetooth通信(SPP)させて、Android端末から動かせるようにしていました。

Device Dsc01476_2
専用のAndroidアプリ(時間がなかったためUIは適当~。

このときはAndroid系のイベントに紐付けるためにこうした訳ですが、安価なBluetoothドングルでSPP通信が出来るようになると他にもいろいろ応用がききますね。

イベントでは他に展示をされていた方から最新のAndroid端末じゃなくてもADB(Androidデバッグ用のUSB通信)を使って、Android端末とマイコンを繋げるMicroBridgeというのがあることを教えてもらいました。
Arduino用のライブラリがある様なので、mbed向けに移植中です。

ある程度通信できるようになったらパブリッシュしてみんなでデバッグ~と思ったのですが、まだ端末側からの応答が帰ってきません。
ADBの通信自体は単純なものなのですが、USBホスト機能の扱い方に問題があるようです。

というかそもそもUSB自体あまり詳しく知らなかった・・。
mbedのUSBはホストもデバイスもいろいろ作りましたが、mbedコミュニティに甘えて自分ではあまり調べてなかったことに気付きました。
ということで工作環境が整わない間にmbedを使ってUSBについて勉強中です。
(USBプロトコルアナライザがとてもほしい・・。)

最終的にはUSBの無線LANドングルやUSB型の3G端末をmbedの豊富なネットワーク系のライブラリと繋げたい!と野望を抱いてみたり。
それが実現すれば使えばmbedのバイナリそのままで、LPCXpresso1768or1769や自作回路でも手軽にネットワークガジェットを作れるんじゃないかと。

| | コメント (0) | トラックバック (0)

« 2011年7月 | トップページ | 2011年9月 »