nishino/howto
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
Auther:[[nishino]]
#pcomment(reply);
目次
#contents();
*Bluetooth通信の詳細 [#i0e36f51]
理解できたところから纏めます。
公式サイト
[[Bluetooth.org - The Official Bluetooth Membership Site:...
**&color(red){注意!}; [#v1dc907c]
大学一年生が拙い英語力で仕様書を読み漁っているため、間違...
決して鵜呑みにしないでください!自分で判断して真偽を確かめ...
そして、間違えがあれば是非ともコメントにお書きして下さい。
日本語の資料が本当に少ないので、是非ともご協力下さい!
以上のことをご理解の上、ご指導ご鞭撻のほどよろしくお願い...
そして公式の詳細な仕様書は契約した企業しか見れないという...
(学生や一般の方が閲覧できる場所は、詳しい解説というより...
**概要 [#oe3eb37d]
基本はアドホック通信の規格。
通信速度や範囲が微妙すぎて忘れ去られそうになった悲しい子。
けれど、モジュールの小型化やマウスやオーディオ繋ぐ程度な...
IrDAほど通信距離と速度が煩わしくなく、無線LANほどの通信速...
廉価で省電力な、速度まぁまぁの無線通信用の規格という認識...
しっかりとした日本語で理解したい人は[[wiki:http://ja.wiki...
**利点 [#o6258972]
元々がDevice to Device(アドホック通信)用の通信規格なので...
コリジョンによる遅延が起こりにくい?
無線通信規格の中では、値段の割に実装モジュールが小さくて...
プロファイルを使うので通信の用途が明確。
省電力。エコ(笑)
以上。
**問題点。 [#ba1b3ad1]
802.11nと比べると速度が微妙すぎる。日本語の資料が少ない…...
プロファイルを使うので、プロファイルに即した通信しかでき...
つまり、目的に合ったプロファイルが実装されてなければ、自...
プロファイルAとBを使おうと思ったら、いちいち切り替えるか...
そして最大の&color(red){問題点};!
他の無線通信規格とBluetoothは場合によって干渉を起こします。
(ソースの一例:[[802.11bとBluetoothの干渉を“目で見る”:htt...
これは極端な例ですが、他の無線規格でも干渉が起こる場合も...
もちろん規格間で対策がなされている場合が多いです。
[[WiFi/BluetoothとWiMAXの共存技術:http://img.jp.fujitsu.c...
この通り、無線同士の干渉が起こるのはBluetoothに限った話で...
しかし、下位のバージョン(ver1.1以下)では無視できないほど...
(Bluetoothが名前の由来通り「乱立する無線通信規格を統合し...
まぁ…願いを込めて作られたから他の規格のことなんかry)
[[すべてのデバイスはBluetoothに通じる(p3):http://ascii.jp...
最近の規格では、コリジョン対策をして他の規格とも共存して...
(wiki読む限り。けれど、何パーセント以内にコリジョンを抑...
**仕組み [#i276ffb3]
***プログラム側の流れ [#n41de8fb]
デバイス認識
↓
リモートデバイス検索
↓
ペアリング
**実装 [#me44f38d]
***前書き [#b48453db]
仕様的にBluetoothアダプタのことをBluetoothラジオと呼んで...
AndroidOSでは、BTのclassがBluetoothAdapterのようにあるの...
一般的にはadapterではなくradioの名称を使うほうが多いです。
APIの命名に〜radioと使われているときは、Bluetoothアダプタ...
基本的にBTスタックはMicrosoft標準のを使います。
BTスタックの意味が分からない人はwikiへ(取りあえずドライ...
***C# [#a6ecd3cd]
%%Accelerated C#の本以外まともなサンプルがないw%%
完全に勘違いでした。日本語の資料は見つからなかったけどorz
''参考サイト:''
[[Accelerated C#:http://books.google.co.jp/books?id=IzU3B...
p.202をチェック!Bluetooth以外の場所も是非買って読むべし。
[[C4F Developer Kit:http://c4fdevkit.codeplex.com/]](中身...
とりあえずここ見とけって感じのサイト。参考というか凄過ぎ...
[[Wireless Communication Library:http://www.btframework.c...
素晴らしいライブラリを販売している場所。$100でLite版が買...
[[[.NET2] BLUETOOTH: UTILISATION DES API BLUETOOTH ET WIN...
ダウンロードに登録が必要だが、無料登録なので問題なし フ...
''主な流れ''
まず、C#にはBT用のAPIがないのでWin32 APIを直接呼び出さな...
[[.NET TIPS Win32 APIやDLL関数を呼び出すには?:http://www...
MicrosoftのBTスタックを扱うdllが""Irprops.cpl"なので、こ...
具体的にはDllImport属性を仕様する準備を整え、(アンマネー...
using System.Runtime.InteropServices;
BT用のDLLを読みだす。
[DllImport("Irprops.cpl")]
後はC++と同じようにAPI使えば、それなりの形になる。
***C++ [#maf37d68]
必要なヘッダ
winsock2.h
bthdef.h
BluetoothAPIs.h
必要なライブラリ
Irprops.lib
使用するであろうAPI
はっきり言ってヘッダーのコメントが神なのでしっかり読んで...
***JAVA [#c80050f3]
*Visual Studio 2005 に Service Pack 1を統合する [#jb5f7057]
Windows 7 Professional x86 で確認。
E:\はVisual Studio 2005 インストールCDの場所なので各自で...
ユーザーフォルダの下に作業フォルダを作成してから進めまし...
(C:\Users\Hogehoge\tmp)
tmpフォルダ内に必要なService Packを入れておいて下さい。
[[Visual Studio 2005 Team Suite Service Pack 1:http://www...
[[Visual Studio 2005 Service Pack 1 Update for Windows Vi...
[[Visual Studio 2005 Service Pack 1 ATL セキュリティ更新...
**Service Pack 1を統合 [#yfc48525]
とても時間がかかるので注意。
コマンドプロンプトで以下のように打ち込む。
cd tmp
msiexec.exe /a E:\vs\vs_setup.msi TARGETDIR=%cd%\vs /L*v...
VS80sp1-KB926602-X86-JPN.exe /extract VS_TMP1
msiexec.exe /a vs\vs_setup.msi /p VS_TMP1\VS80sp1-KB9266...
VS80sp1-KB932236-X86-JPN.exe /extract VS_TMP2
msiexec.exe /a vs\vs_setup.msi /p VS_TMP2\VS80sp1-KB9322...
VS80sp1-KB971090-X86-INTL.exe /extract VS_TMP3
msiexec.exe /a vs\vs_setup.msi /p VS_TMP3\VS80sp1-KB9710...
インストールCDの中身をまるまる新たなフォルダにコピー。
E:\ → C:\Users\Hogehoge\VS2005SP1
VSの中の.cabと.msiのファイルは既にvsに展開済みのため削除。
C:\Users\Hogehoge\VS2005SP1\VS *.cab *msi を削除
VSフォルダにvsフォルダを上書きする。
C:\Users\Hogehoge\VS → C:\Users\Hogehoge\VS2005\VS
SQLServer2005の互換性で文句言われた人は、後に自分でアップ...
&color(red){''注意''};
作成するディスクラベル名はオリジナルと同じにする必要があ...
同じにしないとインストール時にCDがあっても、途中でCDの挿...
終了行:
Auther:[[nishino]]
#pcomment(reply);
目次
#contents();
*Bluetooth通信の詳細 [#i0e36f51]
理解できたところから纏めます。
公式サイト
[[Bluetooth.org - The Official Bluetooth Membership Site:...
**&color(red){注意!}; [#v1dc907c]
大学一年生が拙い英語力で仕様書を読み漁っているため、間違...
決して鵜呑みにしないでください!自分で判断して真偽を確かめ...
そして、間違えがあれば是非ともコメントにお書きして下さい。
日本語の資料が本当に少ないので、是非ともご協力下さい!
以上のことをご理解の上、ご指導ご鞭撻のほどよろしくお願い...
そして公式の詳細な仕様書は契約した企業しか見れないという...
(学生や一般の方が閲覧できる場所は、詳しい解説というより...
**概要 [#oe3eb37d]
基本はアドホック通信の規格。
通信速度や範囲が微妙すぎて忘れ去られそうになった悲しい子。
けれど、モジュールの小型化やマウスやオーディオ繋ぐ程度な...
IrDAほど通信距離と速度が煩わしくなく、無線LANほどの通信速...
廉価で省電力な、速度まぁまぁの無線通信用の規格という認識...
しっかりとした日本語で理解したい人は[[wiki:http://ja.wiki...
**利点 [#o6258972]
元々がDevice to Device(アドホック通信)用の通信規格なので...
コリジョンによる遅延が起こりにくい?
無線通信規格の中では、値段の割に実装モジュールが小さくて...
プロファイルを使うので通信の用途が明確。
省電力。エコ(笑)
以上。
**問題点。 [#ba1b3ad1]
802.11nと比べると速度が微妙すぎる。日本語の資料が少ない…...
プロファイルを使うので、プロファイルに即した通信しかでき...
つまり、目的に合ったプロファイルが実装されてなければ、自...
プロファイルAとBを使おうと思ったら、いちいち切り替えるか...
そして最大の&color(red){問題点};!
他の無線通信規格とBluetoothは場合によって干渉を起こします。
(ソースの一例:[[802.11bとBluetoothの干渉を“目で見る”:htt...
これは極端な例ですが、他の無線規格でも干渉が起こる場合も...
もちろん規格間で対策がなされている場合が多いです。
[[WiFi/BluetoothとWiMAXの共存技術:http://img.jp.fujitsu.c...
この通り、無線同士の干渉が起こるのはBluetoothに限った話で...
しかし、下位のバージョン(ver1.1以下)では無視できないほど...
(Bluetoothが名前の由来通り「乱立する無線通信規格を統合し...
まぁ…願いを込めて作られたから他の規格のことなんかry)
[[すべてのデバイスはBluetoothに通じる(p3):http://ascii.jp...
最近の規格では、コリジョン対策をして他の規格とも共存して...
(wiki読む限り。けれど、何パーセント以内にコリジョンを抑...
**仕組み [#i276ffb3]
***プログラム側の流れ [#n41de8fb]
デバイス認識
↓
リモートデバイス検索
↓
ペアリング
**実装 [#me44f38d]
***前書き [#b48453db]
仕様的にBluetoothアダプタのことをBluetoothラジオと呼んで...
AndroidOSでは、BTのclassがBluetoothAdapterのようにあるの...
一般的にはadapterではなくradioの名称を使うほうが多いです。
APIの命名に〜radioと使われているときは、Bluetoothアダプタ...
基本的にBTスタックはMicrosoft標準のを使います。
BTスタックの意味が分からない人はwikiへ(取りあえずドライ...
***C# [#a6ecd3cd]
%%Accelerated C#の本以外まともなサンプルがないw%%
完全に勘違いでした。日本語の資料は見つからなかったけどorz
''参考サイト:''
[[Accelerated C#:http://books.google.co.jp/books?id=IzU3B...
p.202をチェック!Bluetooth以外の場所も是非買って読むべし。
[[C4F Developer Kit:http://c4fdevkit.codeplex.com/]](中身...
とりあえずここ見とけって感じのサイト。参考というか凄過ぎ...
[[Wireless Communication Library:http://www.btframework.c...
素晴らしいライブラリを販売している場所。$100でLite版が買...
[[[.NET2] BLUETOOTH: UTILISATION DES API BLUETOOTH ET WIN...
ダウンロードに登録が必要だが、無料登録なので問題なし フ...
''主な流れ''
まず、C#にはBT用のAPIがないのでWin32 APIを直接呼び出さな...
[[.NET TIPS Win32 APIやDLL関数を呼び出すには?:http://www...
MicrosoftのBTスタックを扱うdllが""Irprops.cpl"なので、こ...
具体的にはDllImport属性を仕様する準備を整え、(アンマネー...
using System.Runtime.InteropServices;
BT用のDLLを読みだす。
[DllImport("Irprops.cpl")]
後はC++と同じようにAPI使えば、それなりの形になる。
***C++ [#maf37d68]
必要なヘッダ
winsock2.h
bthdef.h
BluetoothAPIs.h
必要なライブラリ
Irprops.lib
使用するであろうAPI
はっきり言ってヘッダーのコメントが神なのでしっかり読んで...
***JAVA [#c80050f3]
*Visual Studio 2005 に Service Pack 1を統合する [#jb5f7057]
Windows 7 Professional x86 で確認。
E:\はVisual Studio 2005 インストールCDの場所なので各自で...
ユーザーフォルダの下に作業フォルダを作成してから進めまし...
(C:\Users\Hogehoge\tmp)
tmpフォルダ内に必要なService Packを入れておいて下さい。
[[Visual Studio 2005 Team Suite Service Pack 1:http://www...
[[Visual Studio 2005 Service Pack 1 Update for Windows Vi...
[[Visual Studio 2005 Service Pack 1 ATL セキュリティ更新...
**Service Pack 1を統合 [#yfc48525]
とても時間がかかるので注意。
コマンドプロンプトで以下のように打ち込む。
cd tmp
msiexec.exe /a E:\vs\vs_setup.msi TARGETDIR=%cd%\vs /L*v...
VS80sp1-KB926602-X86-JPN.exe /extract VS_TMP1
msiexec.exe /a vs\vs_setup.msi /p VS_TMP1\VS80sp1-KB9266...
VS80sp1-KB932236-X86-JPN.exe /extract VS_TMP2
msiexec.exe /a vs\vs_setup.msi /p VS_TMP2\VS80sp1-KB9322...
VS80sp1-KB971090-X86-INTL.exe /extract VS_TMP3
msiexec.exe /a vs\vs_setup.msi /p VS_TMP3\VS80sp1-KB9710...
インストールCDの中身をまるまる新たなフォルダにコピー。
E:\ → C:\Users\Hogehoge\VS2005SP1
VSの中の.cabと.msiのファイルは既にvsに展開済みのため削除。
C:\Users\Hogehoge\VS2005SP1\VS *.cab *msi を削除
VSフォルダにvsフォルダを上書きする。
C:\Users\Hogehoge\VS → C:\Users\Hogehoge\VS2005\VS
SQLServer2005の互換性で文句言われた人は、後に自分でアップ...
&color(red){''注意''};
作成するディスクラベル名はオリジナルと同じにする必要があ...
同じにしないとインストール時にCDがあっても、途中でCDの挿...
ページ名: