http://hirasaka001.blogspot.jp/2013/09/stm8sandroid-tablet.html
その後、OTG cable(USB host cableとも呼ばれる)を入手し、MID701Aに接続してみましたが、全く動きませんでした.挫折.
挫折を乗り越えるために、中古Nexus7(¥12900)を買って、接続に成功したというのが今日のハナシです.
MID701AとNexus7
上がMID701Aで、下がNexus7です.外観は同じようなもんですが、Nexus7はサクサクと動くので快適です.MID701Aの動作はのろいです.
Tabletに繋ぎたい外部機器
1) STM8S CPUが、9600bpsでシリアルIFに毎秒キャラクタを送信します.
2) FT232RLが、シリアルをUSBに変換します.
3) USB host cableでOTGモードに変換し、
4) FT232RLのドライバを搭載したTabletのアプリが、9600bpsでキャラクタを受信します.
MID701AはUSB周辺機器をOTGで接続できないらしい
MID701Aには、USB host cableが付属されていますので、OTG接続ができるんだろうと推測できます.
一方でUSB周辺機器には、USBメモリ、USBキーボード、USBカメラ、USBシリアル、などいろいろとあるんですが、MID701AでUSBメモリだけはOTG接続できました.しかし、USBカメラとUSBシリアルはダメでした.よってMID701Aは、USBメモリだけをOTG接続できる簡易仕様なのだろうと推測します.つまりAndroid OSをビルドする時点でOTG機能がほぼ削除されたのだろう.
MID701AのOTG接続についてネチネチと調べてみたんです.こちらのページには、「USB Serial Monitor Lite」というterminalアプリのjava source codeが公開されています.
http://ksksue.com/wiki/doku.php?id=wiki:android:hardware:usb:ftdriver
そのsourceをいじったtestアプリを走らせて、connection手続きのどこで死んでいるのかを調べたところ、abdriod OSのサービスであるところの、このUSB関数↓が全く返値を返さないことをつきとめました.
android.hardware.usb.UsbManager.getDeviceList()
この関数の解説によると、
Returns a HashMap containing all USB devices currently attached. USB device name is the key for the returned HashMap. The result will be empty if no devices are attached, or if USB host mode is inactive or unsupported. (接続中のUSB機器の名前リストを返す.リストが空だったとしたら、USB機器が無いか、USB host mode(=OTG接続)がオフなのか、サポートされてないかだ)
というわけで、MID701AにUSBシリアルを繋ぐことはあきらめました.挫折.
Nexus7を買いに走る
Nexus7ならUSBシリアルが繫がったという情報を得ていましたので、秋葉に買いに行きました.ソフマップで中古が¥15000で買えるだろうというのが相場観だったのですが、ドスパラで中古16GBが¥12900だったので、即買い. (ドスパラは在庫一掃セールで殺伐としたイヤな雰囲気でした)
それで、Nexus7に上の写真のUSB外部機器を接続し、terminal softを動かしたら、サクッと通信できました.何の苦労もなし.
確認したterminal softは、Google playの、「USB Serial Terminal Lite」「USB Serial Monitor Lite」の2つです.後者はsourceが公開されていますので、カスタマイズするなりして今後に役立たせていただこうと思います.
ただし、USB serialを使うにあたって、Nexus7には問題が一つあります.Nexus7のAC電源端子はUSB端子だけなのですが、OTG接続したらUSB端子は電源出力になってしまうため、OTG接続中にはバッテリー駆動しかできないと思われます.これは困ったよぅ.
あと、nexus7は値段が高いので、もっと安価な中華パッドで使えると幸福です.
USB周辺機器を動かすプログラム開発の難点
Android開発環境には、USBでPCと接続するデバッガがありますので、多くの人がそれを使うと思います.デバッガモードでアプリをrunさせますと、アプリsourceに仕掛けたログ機能によって内部情報をデバッガで観測できるので便利です.
ところが、USB周辺機器を動かすアプリをデバッグする時は、言うまでもなくデバッガを撤去してしまいますので、なんかデバッグしにくいです.terminalに残ったログを後で表示するアプリもあるのですが、リアルタイム性がないのでそれもなんか使いづらい.イマイチだなぁ.
かしこ
=== STMのアフィリエイト始めました ===
STM32のwelcome-kitです
試用レポはいずれまた...
人気ブログランキングへ
If some one wants to be updated with newest technologies after that he must be pay a quick visit this site and be up to date every day.
返信削除Feel free to visit my web-site - topcddvd.com ()
Hi there to every one, the contents existing at this web page are really amazing for people knowledge, well,
返信削除keep up the good work fellows.
My blog livearticlenow.info ()
Nice weblog here! Also your site so much up fast! What web host
返信削除are you the use of? Can I am getting your associate link to your
host? I desire my site loaded up as fast as yours lol
Also visit my web site ... k4portland.com ()
I truly love your website.. Pleasant colors & theme.
返信削除Did you build this site yourself? Please reply back as
I'm trying to create my own site and would like to find out where you got this from or what the theme is called.
Cheers!
My site - ero-comic69.com ()
Spot on with this write-up, I honestly feel
返信削除this amazing site needs a great deal more attention. I'll probably
be back again to see more, thanks for the advice!
My blog post ... click (avanafilonline1.com)
always i used to read smaller articles or reviews
返信削除that as well clear their motive, and that
is also happening with this piece of writing which I am reading
now.
my web site - cashing5.com ()
Hi every one, here every one is sharing such know-how, therefore it's pleasant to read this weblog, and I
返信削除used to pay a visit this website everyday.
Feel free to visit my blog post ... click (fulcrumofdestiny.com)
Hi, I do think this is an excellent site. I stumbledupon it ;) I will
返信削除come back yet again since i have bookmarked it. Money and freedom is the greatest way
to change, may you be rich and continue to help others.
my weblog ... bwk2.com []