2011年09月29日

Bluetoothモジュールについて

日本で手に入るから1つ購入してみたのですが
説明書を読むと、やはり、付属でICをつけなければ
いけないことがわかりました。もう1つ、電源電圧が
3Vで、3,3VはNGということで、
最近は3Vの三端子レギュレータがなかなか探せません。

いろいろ考えて、やはり今まで通りの
Bluetoothモジュールを使うのが正解なのかなと思えて
きました。

今現在モジュールを4つ持っているので、すぐに
注文する必要はありません。

1つ36ドルで、15個まとめると1つあたり26ドルに
なります。

今の為替レートだと、以前買ったときより安く手に入るだろうと
思います。

もう少し考えます。
posted by kitt at 21:59| Comment(0) | 日記

アンドロイド SPPで通信テストできた

アンドロイドでシリアルポートプロファイルでの
通信テストができました。
これで、RS−232Cのプロトコルの外部機器と
通信ができるメドがつきました。

参考にしたのは、Android SDK 逆引きハンドブックの
471ページ
Bluetoothデバイス間でデータを送受信する
のソースです。

通信自体は、意外とすんなりできたので良かったのですが

それを改造して、接続状態を、画面に表示したり、
受信した文字を画面に表示しようとしたとき、おもいっきり
エラーがでて、なかなか解決できませんでした。

スレッドに関しての予備知識がほとんどなかったのが原因です。
スレッドの中で、画面上のテキストやボタンを何か処理しようと
したとき、普通にソースを書くと、予期せぬエラーというのが
でてしまうので、Handlerを使う。というのも調べてわかりましたが

Handlerを定義する部分を間違えて、エラーから抜け出すのにかなり
時間がかかりました。

最初ペアリングされていないときは、アンドロイドが自動的に
ペアリングの手続き画面を表示してくれました。

それ以降は、ペアリングの画面はでてきません。
アンドロイドのワイヤレスとネットワーク設定ーBluetooth設定
の中に、登録されていました。

一度接続されて、データの送受信がない状態で、30分とか
何もしなくても、接続はされたままの状態を確認できました。

外部のBluetoothモジュールを変更したり、プログラムの改造も
まだまだ必要ではありますが、

SPPで通信テストができたことは、非常にうれしいです。

今回、外部のBluetoothモジュールは、KcSerialを使用してテストしました。
参考
http://soft-kitamura.sblo.jp/article/48205323.html



bttsushin01.jpg

bttsushin02.jpg

bttsushin03.jpg

bttsushin04.jpg

bttsushin05.jpg

bttsushin06.jpg

bttsushin07.jpg

bttsushin08.jpg

bttsushin09.jpg

bttsushin10.jpg

bttsushin11.jpg
posted by kitt at 18:48| Comment(0) | 日記

2011年09月28日

アンドロイド Bluetooth機器を探す

Android SDK 逆引きハンドブックの
464ページ
周辺のBluetoothデバイスを探す
のところをほとんどそのまま使って、
自分の持っているブルートゥースの機器の
情報を表示してみました。

KcSerial
WM_mobile4
FA01
IS03

IS03が2個表示されていますがあまり気にせず。

KcSerialというのが探せて、ちょっとうれしいです。


btscan01.jpg

btscan02.jpg

btscan03.jpg

btscan04.jpg

btscan05.jpg

btscan06.jpg
posted by kitt at 16:00| Comment(0) | 日記

Bluetooth通信の考え方

bttsuushin01.jpg

以前PDAでBluetooth通信をしたときは、マイコン側からPDA側からに
コネクトしにいっていたので、PDAを交換する場合は、マイコン側の
プログラムを変更しなければいけなかった。
ペアリングということがよくわかっていなかったため。

今回は、マイコン側は、データ受信待ちの状態で待機させておいて、
タブレット側で、マイコン側を検索して、タブレット側からつなぎに
行くようにする。

タブレット側は、クライアントとして動作。

SPPのプロファイルで通信を行う。

タブレット側から、一番最初、スタートするよ。というコマンドを
送信して、マイコン側がそれを受け取ったら、そこから、実際の
プログラム動作を開始するように作る。

実現できるできないは別として、このような考えで今回プログラムを
作ろうと思っています。
posted by kitt at 05:11| Comment(0) | 日記

2011年09月27日

アンドロイド Bluetooth初期

Android端末で、Bluetoothがサポートされているかどうかと
ブルートゥースがOFFになっている場合は、ONにする。
という処理を、ほぼ丸写しで、動作確認しました。

マニフェストでの許可と、ソース。

じっくりみれば、なんとか内容は理解できるようです。
まだ、最初ですからね。

マニフェストとソース

btsyoki01.jpg

btsyoki02.jpg

btsyoki03.jpg


実行結果

btsyoki04.jpg

btsyoki05.jpg

btsyoki06.jpg
posted by kitt at 16:44| Comment(0) | 日記

アンドロイド 画面間でのデータ受け渡し再確認

アクティビティ間でのデータの受け渡しおよび画面遷移に
ついて再確認しました。

今回は、画面を重ねないで、1画面だけで、画面切り替えと
いう形にしました。

Intentにより、値は引き継がれてという方法で、画面間で
持ちまわる値は処理しました。

次画面を呼ぶと自画面を終了する。というカタチです。

念のため、連続で画面をかなりの回数切り替えてみましたが、
画面が重なってないので、何も問題ないようです。

前の画面に戻るというのも、実質的に、次画面を呼ぶと
いうカタチで、呼ぶ画面が前の画面になります。



呼び元の画面
on_Clickの中で、次画面を呼び、その際に値も引き渡す。

gmnseni01.jpg


呼ばれる画面
on_Createの中で、前の画面から渡ってきた値を取得。
呼ばれ方によっては、引き渡される値がないときがあるので
null判定をして、初期値をセットする。

今回の場合は、画面上のTextViewに値を表示するので、
同一のアクティビティ内では、TextViewにセットした値を
グローバル変数のように使用する。

gmnseni02.jpg
posted by kitt at 15:22| Comment(0) | 日記

2011年09月26日

アンドロイド ホームキー 無効にできない?

アンドロイド端末で、プログラム動作中に、
誤って、ホームキーやBACKキーを押して
停止させたくないと思って調べましたが、

ホームキーに付いては、無効にできない感じです。

いろいろなホームページの記事も見てみましたし
実際にプログラムでチェックしてみて、

BACKキーは無効にできましたが、
ホームキーは無効にできませんでした。


理由としては、ホームキーも無効にしてしまうと
悪意を持ったプログラムを誤ってインストールして
しまったとき、プログラムが終了できず
のっとられてしまうから。というのが書いてありました。

アンドロイド端末の仕様でそうなっているのであれば、
これ以上の追求は必要ないと思いました。

運用上で、ホームキーは押さないこと。というように
しないといけないです。


backkey01.jpg

backkey02.jpg

backkey03.jpg
posted by kitt at 16:42| Comment(0) | 日記

2011年09月25日

たまごかけごはんとホルモンうどんを食べてきました

単にたまごかけごはんでしょ。と正直思っていましたが
11時45分ごろ行って、写真を撮ったのは12時45分ごろ。
1時間待ちました。

時期的に、新米で食べれたことと、天気も気候もよく
とてもおいしかったです。ごはんと、たまごはおかわりが
できるので、おかわりをしました。3杯目もいけると思いましたが
一応ストップしました。でも、3杯目も食べれたと思います

tamago01.jpg

tamago02.jpg

http://www.town.misaki.okayama.jp/kankou/tamago/




ホルモンうどんも食べに行こうということになり、
彩の星 というお店にいきました。
車をどこにとめようか迷いましたが
最終的にちょっとはなれたところにおいて
歩きました。

ホルモンうどんを食べるのは初めてではないですが
お店で出来立てを食べると、やはりおいしさは
格別です。それと、お店のかたが、それとなく話を
してくれるところが、よかったです。
いろんなところからお客さんがこられているんだろうなと
いうのがわかりました。
食べたのは午後2時前でしたが、それでもおいしく
いただきました。野菜がきっちり入っているのも良かったと
思います。

horumon01.jpg

horumon02.jpg

http://tikinavi.jp/shop.php?scip=132dd11863752f804f&PHPSESSID=0p6q27q6rsg5emmb7lt3kkt5fdaauvr0
posted by kitt at 19:14| Comment(0) | 日記

2011年09月24日

アンドロイド ボタンの背景色

ボタンの背景色を変えてみようと思いましたが
結論から言うと、今回は操作しないほうがいいかなと
思いました。

ボタンに関しては奥が深いというか、いろいろな設定を
行わないと、いけません。

一番単純なもので、押しているときの色、押してないときの色を
設定する方法を試してみました。

ボタンが使用禁止になっているときの色や、もっと複雑な条件での
色の指定ができますし、
ボタンの形も、四隅を丸めるとか、
色のグラデーションの指定もできます。

初期の設定が、そのあたりが全部設定されているので
今回は、そのまま使うようがいいかなと思いました。


btnbackcolor1.jpg

btnbackcolor2.jpg

btnbackcolor3.jpg

btnbackcolor4.jpg
posted by kitt at 11:29| Comment(0) | 日記

2011年09月23日

ipadを屋外で使われますか?

プログラムとは直接関係ありませんが
タッチパネル関連のものの、屋外での
画面の明るさおよび配色をどのように
するのが一番最善なのかを考えないと
いけないなと思います。

お手本としては、車のナビだろうなと
思いますが、屋外でタブレットを使わ
れたとき、必ず、画面が見えないという
問い合わせはきます。

PDAのときは何も言わなかったですが
タブレットでは、何か枠をつけて、日陰を
作ってもらうようにお願いはするつもりです。

今ではipadでプレゼンとかをされるかたは
多くなってきていると思うのですが、野外で
タブレット端末を使うときに何か気をつける
ことはあるでしょうか?
posted by kitt at 19:27| Comment(0) | 日記

アンドロイド valueについて

アンドロイドで、テキスト文字は、
valuesのフォルダー内のstrings.xmlに
定義して、画面レイアウトのxlmに埋め込めば
変更のときに楽になる。
というのはなんとなくわかっていました。

同じ用に、カラー(色)の情報や、フォントサイズの
情報も、valueでもたせようとして、
パソコンの画面上では、いいようにいくのに
エミュレータで、実際に動かそうとすると
予期せぬエラーが起きて、
なんで、エラーになるのかがわからないでいました。


結論を書けば、valueのxmlの要素名が違っていたと
いうことになります。


全部<string name=”aaa”>soft−kitamura</string>
にはめてしまえばいいのかなと思ったんですが、

色に関しては<color name=”aaa”>.....
フォントサイズなどに関しては<dimen name=”aaa”>.....

というようにするのが本来だったようです。

valueset01.jpg

valueset02.jpg

valueset03.jpg

valueset04.jpg
posted by kitt at 15:16| Comment(0) | 日記

2011年09月22日

基板を組み込む箱を選定中

端子台も入れ込んでしまうのと、端子数が
16よりもふえそうなので、少し余裕を持った
大きさの箱がいるかなと思うんですが、

今まで使っていたところの寸法を見てみると、
1サイズ大きくしたらかなり大きくなるし、

どうするのがううか、少し検討が必要

センサーが何種類必要か、仕様をきっちりと
確定させる必要もある。

ロータリーエンコーダは、1つ。
っていうのはきっちり確認しました。
(ロータリーエンコーダが2個以上となると
マイコン側のプログラム、もしくは、ハードウェア
構成を、変更する必要があるから)
posted by kitt at 17:18| Comment(0) | 日記

2011年09月21日

LightTab用の画面サイズを作成

アンドロイドのプログラムに習熟してくると、マルチ画面サポート
ということが必要だろうなと思いますが、
今回は、そこに時間をさかないことにしました。

情報も教えてもらい、今後は参考にしようと思っています。

ただし今回は、
プログラムを作ろうとしている実機のLightTab用の
画面サイズを用意しプログラムは、その機種専用という
カタチにしようと思います

そうは言っても、画面サイズに関する情報は調べてみました。
http://soft-kitamura.sblo.jp/article/48062532.html

最初、3.7in WVGA (Nexus One)で画面レイアウトを作ったときの
情報と、どこが違うかを見比べとこうと思います。

ltypesize01.jpg

ltypesize02.jpg

ltypesize03.jpg

ltypesize04.jpg

あと、意味はまだわかっていませんが、参考にしてページも書いてみます。

2. マルチ画面のサポート - ソフトウェア技術ドキュメントを勝手に翻訳
http://www.techdoctranslator.com/android/practices/screens_support


あくまでも、1つの画面サイズだけで考える というのは、今だけ 
にしておきたいと思っています。
posted by kitt at 14:38| Comment(0) | 日記

アンドロイド 画面サイズに関する情報取得

auのIS03とLightTab(タブレット)の画面サイズに
関する値がどう違うのかを、同じプログラムを実行させて
試してみました。

まだ、全部を把握したわけではないんですが

密度などが違うよ。ということだろうと思います。

androidgmnsize01.jpg

androidgmnsize02.jpg

androidgmnsize03.jpg

androidgmnsize04.jpg
posted by kitt at 13:55| Comment(0) | 日記

2011年09月20日

マイコン側の準備も必要

アンドロイド側のプログラムもまだまだ、
やることはあるのですが、マイコン側の
準備をしないと、全体的な進捗が進まない
ことになります。

H8マイコン、3052で、今回C言語での
開発を理解しようと思います。
(アセンブラはその都度忘れて、思いだすのが
大変なので、何とかC言語に移行させたい)


開発環境のセットアップと、使いこなしの
どれくらい時間がかかるか???

後、マイコンと、アンドロイドの間での
ブルートゥース通信を、確立させること。

ここが肝になると思います。
posted by kitt at 21:04| Comment(0) | 日記

Device Configurationsの構成の意味がわかっていない

アンドロイドの画面レイアウトを
WVGAだから同じかと思い、

3.7in WVGA (Nexus One)
のレイアウトを使って作ったら

7インチ WVGA の LightTabで
表示させると、全体が、小さく表示されました。

当然といえば当然なんですが、

Eclipseで、7インチのサイズを作るには
何をどう設定すればいいのかが、いまのところ
わからないでいます。

本体は、画面設計は、固定サイズの指定は
行わないほうがいいのはわかっているのですが
まず、7インチサイズのWVGAという
ひながたの作り方を調べないとだめみたいです。

deviceconfig01.jpg
posted by kitt at 10:59| Comment(0) | 日記

2011年09月18日

SDカードのパスを確認

実際のSDカードのパスを
表示させて見ました。

エミュレータでの表示と
実機での表示は違うことも
あるので、

SDカードのパスは、直接記述するのは
やめたほうがよさそうです。

実機でも
mnt/sdcard
というように表示しました(自分の場合)

sdpath01.jpg

sdpath02.jpg
posted by kitt at 09:38| Comment(0) | 日記

ボタンを押したときの処理の実装

いろいろなパターンがあることが
わかりました。

画面のレイアウト定義の中で、どこに
関連付けるかということが定義できて

android:onClick="onClick_Btn11"

ソースの中で、その記述を行えば

ボタンを押したときに処理が動くようです。

エクセルvba等に慣れている人は
この記述のほうがわかりやすいかもしれません。

プログラムの内容は、ボタンを押すと、
ビープ音(ちょっとだけ音が鳴る)が鳴るだけの
簡単なものですが、1つ勉強になりました。

clickbeep01.jpg

clickbeep02.jpg

clickbeep03.jpg
posted by kitt at 08:54| Comment(0) | 日記

2011年09月16日

SDカードへのファイル書き込み

SDカードへのファイル書き込みは、
サンプルを見れば理解できるという
レベルでした。実際に試してみて、
最終的には、実機で、ファイルの書き込みまで
確認できたのですが、

USBをパソコンと繋いで、パソコン側に、
SDカード内のファイルを転送するとき、
パソコン側で、作成したはずのファイルが見えない
現象がありました。

アンドロイド端末の電源を一度完全に切って、
再度起動して、同様にUSBで接続して、
SDカードなどをマウント(ファイルをパソコン側で
見れるように認識)したら、問題なくパソコン側で
確認できました。

少し、調査が必要かもしれません。


マニフェスト内で、ストレージの書き込み許可を記述するのを
忘れそうです。

sdtest01.jpg

sdtest02.jpg
posted by kitt at 17:56| Comment(0) | 日記

エミュレータ 時差を修正

アンドロイドのエミュレータを
低くみていたところがありますが、
きっちりエミュレートしてくれる
ことがわかりました。

動作時に、時差がどうにかならないのかなと
思っていたら、その設定とかも実機と同じ
ようにできるとわかり、
世界標準時から日本標準時に変更しました。

ぱっと見のログで、時間が、いつのログかが
わかりやすくなりました。
posted by kitt at 17:19| Comment(0) | 日記