ラベル Bluetooth の投稿を表示しています。 すべての投稿を表示
ラベル Bluetooth の投稿を表示しています。 すべての投稿を表示

2015年10月28日水曜日


http://googledevelopers.blogspot.jp/2015/07/lighting-way-with-ble-beacons.html から引用

はじめに

弊社のブログでは様々なiOS + BLEやBLEデバイスの開発の取り組みを紹介してきました。

ということで!

Android Marshmallowの公開もされましたので、これを機にAndroid 6.0 + BLEに関しての記事を掲載していきたいと思います。

今回は第一回目として、BluetoothとBLEのおさらいをしていきながら、今後作るアプリやサービスのイメージを膨らませていきましょう。

Bluetooth

Bluetoothの特徴

  • 無線通信(数mから数十m程度の距離間での通信が可能)
  • 小型で低消費電力
  • 暗号化通信される
  • 混信する可能性がとても低い
Bluetoothは無線接続の状態を意識せずに常時接続したままでの使用状況に適しているので、日常的に身につけるものなどとの相性がとても良いです。
また、近距離で少し大き目のデータでも機器間で通信を行うことも出来ます。

特にPCのマウスやキーボード、ワイヤレスイヤホン、ヘッドフォンなどにも使用されています。
煩わしいケーブルを排除出来るので、作業スペース等がスッキリしてとても使いやすいです。

使用例:
  • マウスやキーボードのパソコン周辺機器
  • オーディオ機器
  • スキャナ/プリンタ

BLE(Bluetooth Low Energy)の特徴

  • 小型で電池消費量が極少(ボタン電池で1年以上) 
  • ペアリングを行わなくても他デバイスに通知が可能(ブロードキャスト通信) 
  • 通信速度は低い
Bluetooth4.0はBluetooth3.0にBLEの技術を統合したもので、BLEとはBluetooth 4.0以降の機能の一部を指します。筆者自身勘違いをしていたのですが、Bluetooth4.0 = BLEというわけではありません。
Bluetooth3.0規格の拡張版がBluetooth4.0であり、その機能の一部がBLEです。

ただし、BLE機能は過去バージョンとの下方互換がまったくない為、BLEのみに対応したデバイスと3.0までのBluetoothデバイスとは接続を行うことが出来ない点に注意が必要です。

BLEデバイスは以下の2種類に分類されます。

Bluetooth Smart

 BLEでのみ通信を行う。従来のBluetooth機器との接続不可。

Bluetooth Smart Ready

 BLEで通信をする子機との通信に対応し、従来のBluetooth機器との接続可。

※ロゴマークに関してはこちらを参照してください。

動画も公開しています。

BLEは常時データをやり取りする必要がなく、1回のデータ量も少ない用途に向いています。
超低消費電力なので、配置してからしばらく電池交換をする手間が必要ありません。
また、ペアリングを行わなくても他デバイスへの通知が可能なことから、通りがかっただけの人などを集客する効果も見込まれています。

使用例:
  • ライフログリストバンド
  • 運動用センサー(スピード/ケイデンス/心拍センサー)
  • 忘れ物防止タグ
  • 降水確立を知らせる傘立て(※)
  • ごみの収集日を知らせるごみ箱(※)
  • スマートウォッチ
※こちらを参照

その他にも生活で使用するもの以外でもユニークなものがこちらで紹介されています。

さて、特徴や使用例をいくつか挙げていきました。

ここまででおさらいしてきたBluetoothの特徴や既に販売されているものや実施されているサービスを踏まえつつ、次はAndroidへと目を向けていきましょう。

Android & Bluetooth

ではAndroidではどのようにBluetoothの制御を行っているのでしょうか。
ここではAndroidのBluetoothアーキテクチャと、Bluetoothのプロファイルについて触れたいと思います。
※アプリケーション側の実装方法などは次回以降紹介します。


Bluetoothアーキテクチャ

アプリケーションは、android.bluetoothのAPIを使いBluetoothハードウェアとの総合通信を行います。
内部的に、Binder IPCメカニズムを介してBluetooth processをコールします。
Bluetooth system serviceはJNIを介してBluetooth stackと通信を行います。
また、Binder IPCを介してアプリと通信を行います。
system serviceにより、開発者は様々なBluetooth profileへのアクセスが可能となります。

下図が、Bluetooth stackの一般的な構造となります。


      
https://source.android.com/devices/bluetooth.html より引用

Bluetooth system service
packages/apps/BluetoothにあるBluetooth system serviceは、Android appとしてパッケージされ、Bluetooth serviceおよびprofileをAndroid framework layerに実装します。このアプリはJNI経由でHAL layerをコールします。

JNI
android.bluetoothと連携しているJNIは、packages/apps/Bluetooth/jniにあります。JNIコードは、HAL layerにコールし、端末が発見された時などのように、特定のBluetoothオペレーションが発生した際にHALからコールバックを受信します。

このような構造で、AndroidはアプリケーションからBluetoothの機能を使用することが出来ます。

アプリケーション開発においては特に、Application Framework部とBluetooth Process部を意識することになりますが、このような構造を知っておくことで、不具合などが発生した場合のデバッグなどにも役立つと思います。

そして、次にBluetooth Process部にあるプロファイルに関して簡単に説明します。

プロファイル

プロファイルというのは簡単に言うと、Bluetooth機器が何を出来るかを定義したものです。
様々な機器と無線通信を行う性質上、どのような順番・タイミングで、どんな種類の情報を転送すべきか、という機器の「使い方」にあたる手順を共通化しておく必要がある。
この手順を機器の特性ごとに標準化したものが、プロファイルです。

参考:
Bluetoothプロファイル 【 Bluetooth Profile 】

接続するBluetooth機器同士が同じプロファイルに対応していることで、その機能が利用できますが、定義されていないと使用することが出来ません。
実際に使用する際にはプロファイルをよく理解し、適切なものを使用しましょう。

・主なBluetoothプロファイル(一部)
HID(Human Interface Device Profile) 入力機器を扱うためのプロファイル
HSP(Headset Profile) ヘッドセットと通信するためのプロファイル
HFP(Hands-Free Profile) ハンズフリー通話をするためのプロファイル
A2DP(Advanced Audio Distribution Profile) 高音質のステレオ音声を伝送するためのプロファイル
AVRCP(Audio/Video Remote Control Profile) AV機器のコントロール(再生、早送り等)を行うためのプロファル
FTP(File Transfer Profile) ファイル転送プロファイル

・4.0から使用出来るBluetoothプロファイル
ANP(Alert Notification Profile) 電話やメールなどの着信を通知するプロファイル
BLP(Blood Pressure Profile) 血圧計から血圧情報を伝送するためのプロファイル
CPP(Cycling Power Profile) サイクリング時の力などを情報を伝送するためのプロファイル
CSCP(Cycling Speed and Cadence Profile) サイクリング時のスピードや回転数などの情報を伝送するためのプロファイル
FMP(Find Me Profile) 遠隔からアラームやバイブレーションを鳴動させ、装置の場所を調べるためのプロファイル
GLP(Glucose Profile) 血糖値の情報を伝送するためのプロファイル
HOGP(HID over GATT Profile) マウスやキーボードなどを接続するためのプロファイル
HTP(Health Thermometer Profile) 体温計の情報を伝送するためのプロファイル
HRP(Heart Rate Profile) 心拍計の情報を伝送するためのプロファイル
IPSP (Internet Protocol Support Profile) IPv6/6LoWPAN経由でインターネットに接続するプロファイル
PASP(Phone Alert Status Profile) 電話着信時の鳴動などを他の機器から止めるためのプロファイル
PXP(Proximity Profile) 互いの機器間の距離をモニタリングするためのプロファイル
RSCP(Running Speed and Cadence Profile) ランニング時のスピードや歩幅などの情報を伝送するためのプロファイル
ScPP(Scan Parameters Profile) 装置のスキャンをするためのプロファイル
TIP(Time Profile) 時刻情報を通知するためのプロフィール
プロファイルの参考:

さいごに

今回はBluetoothやBLEに関してのおさらいを行いましたがいかがだったでしょうか。
BluetoothやBLEを使用したアプリやサービスのイメージは膨らみましたか?

次回からは実際にAndroidアプリケーションでBLEの検知、ペアリング方法を紹介したいと思います。

[第一回] 生活で使えるBLEデバイス


http://googledevelopers.blogspot.jp/2015/07/lighting-way-with-ble-beacons.html から引用

はじめに

弊社のブログでは様々なiOS + BLEやBLEデバイスの開発の取り組みを紹介してきました。

ということで!

Android Marshmallowの公開もされましたので、これを機にAndroid 6.0 + BLEに関しての記事を掲載していきたいと思います。

今回は第一回目として、BluetoothとBLEのおさらいをしていきながら、今後作るアプリやサービスのイメージを膨らませていきましょう。

Bluetooth

Bluetoothの特徴

  • 無線通信(数mから数十m程度の距離間での通信が可能)
  • 小型で低消費電力
  • 暗号化通信される
  • 混信する可能性がとても低い
Bluetoothは無線接続の状態を意識せずに常時接続したままでの使用状況に適しているので、日常的に身につけるものなどとの相性がとても良いです。
また、近距離で少し大き目のデータでも機器間で通信を行うことも出来ます。

特にPCのマウスやキーボード、ワイヤレスイヤホン、ヘッドフォンなどにも使用されています。
煩わしいケーブルを排除出来るので、作業スペース等がスッキリしてとても使いやすいです。

使用例:
  • マウスやキーボードのパソコン周辺機器
  • オーディオ機器
  • スキャナ/プリンタ

BLE(Bluetooth Low Energy)の特徴

  • 小型で電池消費量が極少(ボタン電池で1年以上) 
  • ペアリングを行わなくても他デバイスに通知が可能(ブロードキャスト通信) 
  • 通信速度は低い
Bluetooth4.0はBluetooth3.0にBLEの技術を統合したもので、BLEとはBluetooth 4.0以降の機能の一部を指します。筆者自身勘違いをしていたのですが、Bluetooth4.0 = BLEというわけではありません。
Bluetooth3.0規格の拡張版がBluetooth4.0であり、その機能の一部がBLEです。

ただし、BLE機能は過去バージョンとの下方互換がまったくない為、BLEのみに対応したデバイスと3.0までのBluetoothデバイスとは接続を行うことが出来ない点に注意が必要です。

BLEデバイスは以下の2種類に分類されます。

Bluetooth Smart

 BLEでのみ通信を行う。従来のBluetooth機器との接続不可。

Bluetooth Smart Ready

 BLEで通信をする子機との通信に対応し、従来のBluetooth機器との接続可。

※ロゴマークに関してはこちらを参照してください。

動画も公開しています。

BLEは常時データをやり取りする必要がなく、1回のデータ量も少ない用途に向いています。
超低消費電力なので、配置してからしばらく電池交換をする手間が必要ありません。
また、ペアリングを行わなくても他デバイスへの通知が可能なことから、通りがかっただけの人などを集客する効果も見込まれています。

使用例:
  • ライフログリストバンド
  • 運動用センサー(スピード/ケイデンス/心拍センサー)
  • 忘れ物防止タグ
  • 降水確立を知らせる傘立て(※)
  • ごみの収集日を知らせるごみ箱(※)
  • スマートウォッチ
※こちらを参照

その他にも生活で使用するもの以外でもユニークなものがこちらで紹介されています。

さて、特徴や使用例をいくつか挙げていきました。

ここまででおさらいしてきたBluetoothの特徴や既に販売されているものや実施されているサービスを踏まえつつ、次はAndroidへと目を向けていきましょう。

Android & Bluetooth

ではAndroidではどのようにBluetoothの制御を行っているのでしょうか。
ここではAndroidのBluetoothアーキテクチャと、Bluetoothのプロファイルについて触れたいと思います。
※アプリケーション側の実装方法などは次回以降紹介します。


Bluetoothアーキテクチャ

アプリケーションは、android.bluetoothのAPIを使いBluetoothハードウェアとの総合通信を行います。
内部的に、Binder IPCメカニズムを介してBluetooth processをコールします。
Bluetooth system serviceはJNIを介してBluetooth stackと通信を行います。
また、Binder IPCを介してアプリと通信を行います。
system serviceにより、開発者は様々なBluetooth profileへのアクセスが可能となります。

下図が、Bluetooth stackの一般的な構造となります。


      
https://source.android.com/devices/bluetooth.html より引用

Bluetooth system service
packages/apps/BluetoothにあるBluetooth system serviceは、Android appとしてパッケージされ、Bluetooth serviceおよびprofileをAndroid framework layerに実装します。このアプリはJNI経由でHAL layerをコールします。

JNI
android.bluetoothと連携しているJNIは、packages/apps/Bluetooth/jniにあります。JNIコードは、HAL layerにコールし、端末が発見された時などのように、特定のBluetoothオペレーションが発生した際にHALからコールバックを受信します。

このような構造で、AndroidはアプリケーションからBluetoothの機能を使用することが出来ます。

アプリケーション開発においては特に、Application Framework部とBluetooth Process部を意識することになりますが、このような構造を知っておくことで、不具合などが発生した場合のデバッグなどにも役立つと思います。

そして、次にBluetooth Process部にあるプロファイルに関して簡単に説明します。

プロファイル

プロファイルというのは簡単に言うと、Bluetooth機器が何を出来るかを定義したものです。
様々な機器と無線通信を行う性質上、どのような順番・タイミングで、どんな種類の情報を転送すべきか、という機器の「使い方」にあたる手順を共通化しておく必要がある。
この手順を機器の特性ごとに標準化したものが、プロファイルです。

参考:
Bluetoothプロファイル 【 Bluetooth Profile 】

接続するBluetooth機器同士が同じプロファイルに対応していることで、その機能が利用できますが、定義されていないと使用することが出来ません。
実際に使用する際にはプロファイルをよく理解し、適切なものを使用しましょう。

・主なBluetoothプロファイル(一部)
HID(Human Interface Device Profile) 入力機器を扱うためのプロファイル
HSP(Headset Profile) ヘッドセットと通信するためのプロファイル
HFP(Hands-Free Profile) ハンズフリー通話をするためのプロファイル
A2DP(Advanced Audio Distribution Profile) 高音質のステレオ音声を伝送するためのプロファイル
AVRCP(Audio/Video Remote Control Profile) AV機器のコントロール(再生、早送り等)を行うためのプロファル
FTP(File Transfer Profile) ファイル転送プロファイル

・4.0から使用出来るBluetoothプロファイル
ANP(Alert Notification Profile) 電話やメールなどの着信を通知するプロファイル
BLP(Blood Pressure Profile) 血圧計から血圧情報を伝送するためのプロファイル
CPP(Cycling Power Profile) サイクリング時の力などを情報を伝送するためのプロファイル
CSCP(Cycling Speed and Cadence Profile) サイクリング時のスピードや回転数などの情報を伝送するためのプロファイル
FMP(Find Me Profile) 遠隔からアラームやバイブレーションを鳴動させ、装置の場所を調べるためのプロファイル
GLP(Glucose Profile) 血糖値の情報を伝送するためのプロファイル
HOGP(HID over GATT Profile) マウスやキーボードなどを接続するためのプロファイル
HTP(Health Thermometer Profile) 体温計の情報を伝送するためのプロファイル
HRP(Heart Rate Profile) 心拍計の情報を伝送するためのプロファイル
IPSP (Internet Protocol Support Profile) IPv6/6LoWPAN経由でインターネットに接続するプロファイル
PASP(Phone Alert Status Profile) 電話着信時の鳴動などを他の機器から止めるためのプロファイル
PXP(Proximity Profile) 互いの機器間の距離をモニタリングするためのプロファイル
RSCP(Running Speed and Cadence Profile) ランニング時のスピードや歩幅などの情報を伝送するためのプロファイル
ScPP(Scan Parameters Profile) 装置のスキャンをするためのプロファイル
TIP(Time Profile) 時刻情報を通知するためのプロフィール
プロファイルの参考:

さいごに

今回はBluetoothやBLEに関してのおさらいを行いましたがいかがだったでしょうか。
BluetoothやBLEを使用したアプリやサービスのイメージは膨らみましたか?

次回からは実際にAndroidアプリケーションでBLEの検知、ペアリング方法を紹介したいと思います。

2015年7月9日木曜日


はじめに

mbed nRF51822 に新機能が追加されました。今回は 2015年5月に追加された新機能についてAPI仕様や使用方法について紹介いたします。



BluetoothSMARTデバイスをmbed で開発する(8)


はじめに

mbed nRF51822 に新機能が追加されました。今回は 2015年5月に追加された新機能についてAPI仕様や使用方法について紹介いたします。



2015年6月5日金曜日

はじめに

BLEは省電力であることが最大の特徴ではありますが、使い方によっては電池の減りが早かったり
以外なな落とし穴に陥る場合があります。
今回は消費電力を下げるためのアプローチについて掲載いたします。

BluetoothSMARTデバイスをmbed で開発する(7)

はじめに

BLEは省電力であることが最大の特徴ではありますが、使い方によっては電池の減りが早かったり
以外なな落とし穴に陥る場合があります。
今回は消費電力を下げるためのアプローチについて掲載いたします。

2015年5月20日水曜日


はじめに

前回はmbedを使用したBLEデバイスとAndroid 4.4および5.0でBLE接続に必要な実装について掲載いたしましたが、今回は4種類のGATTアクセスに着目して、それぞれの動作と実装方法について紹介いたします。

BluetoothSMARTデバイスをmbed で開発する(6)


はじめに

前回はmbedを使用したBLEデバイスとAndroid 4.4および5.0でBLE接続に必要な実装について掲載いたしましたが、今回は4種類のGATTアクセスに着目して、それぞれの動作と実装方法について紹介いたします。

2015年5月11日月曜日

はじめに

お待たせしました、昨年夏に連載していました「BluetoothSMARTデバイスをmbed で開発する(1)-(4)」の続編になります。

2014年の後半は mbed のnRF51822 周りの実装が安定せず掲載を中断しておりましたが、ライブラリを更新してもビルドが失敗するようなこともなくなってきましたので、掲載を再開とさせて頂きたいと思います。
今回からは Android アプリ開発に焦点を当てて、Andorid 5.0 以降で変更となるBLE関連のAPIについても掲載していきます。

BluetoothSMARTデバイスをmbed で開発する(5)

はじめに

お待たせしました、昨年夏に連載していました「BluetoothSMARTデバイスをmbed で開発する(1)-(4)」の続編になります。

2014年の後半は mbed のnRF51822 周りの実装が安定せず掲載を中断しておりましたが、ライブラリを更新してもビルドが失敗するようなこともなくなってきましたので、掲載を再開とさせて頂きたいと思います。
今回からは Android アプリ開発に焦点を当てて、Andorid 5.0 以降で変更となるBLE関連のAPIについても掲載していきます。

2014年6月18日水曜日



はじめに


これまで3回に渡ってnRF51822ブランクモジュールをARM mbed 対応機器にするための方法について掲載してきましたが、今回から mbedによるBLEプログラミング実践編をスタートいたします。

BluetoothSMARTデバイスをmbed で開発する(4)



はじめに


これまで3回に渡ってnRF51822ブランクモジュールをARM mbed 対応機器にするための方法について掲載してきましたが、今回から mbedによるBLEプログラミング実践編をスタートいたします。

2014年6月4日水曜日



はじめに

前回はARM mbedを用いたソフトウェア開発手法を紹介いたしましたが、今回は連載3回目として mbed対応の要となるハードウェアの作成方法について紹介させていただきます。

BluetoothSMARTデバイスをmbed で開発する(3)



はじめに

前回はARM mbedを用いたソフトウェア開発手法を紹介いたしましたが、今回は連載3回目として mbed対応の要となるハードウェアの作成方法について紹介させていただきます。

2014年5月27日火曜日


はじめに

前回のブログで弊社の取り組みについて紹介させていただきましたが、今回は第二回目として実際にmbedを使った開発について紹介させて頂きます。


BluetoothSMARTデバイスをmbed で開発する(2)


はじめに

前回のブログで弊社の取り組みについて紹介させていただきましたが、今回は第二回目として実際にmbedを使った開発について紹介させて頂きます。


2014年5月23日金曜日


はじめに

NordicのnRF51ブランクモジュールは、法的面でBluetooth SMARTアクセサリ製造への敷居を下げてくれるという期待感から注目されていましたが、モジュール使用にあたって技術面でのハードルが高いところがあり、まだユーザーが増えていないのが現状のようです。

そこで今回は個人レベルでも試作が可能となるような試みとして、nRF51ブランクモジュールのDIP基板化と ARM® mbed™ を使った開発について紹介いたします。

BluetoothSMARTデバイスをmbed で開発する(1)


はじめに

NordicのnRF51ブランクモジュールは、法的面でBluetooth SMARTアクセサリ製造への敷居を下げてくれるという期待感から注目されていましたが、モジュール使用にあたって技術面でのハードルが高いところがあり、まだユーザーが増えていないのが現状のようです。

そこで今回は個人レベルでも試作が可能となるような試みとして、nRF51ブランクモジュールのDIP基板化と ARM® mbed™ を使った開発について紹介いたします。

2013年12月19日木曜日


ビーコンって何を考えてるんでしょうね?聞いてみたいと思いませんか?

と、唐突に書き始めてしまいました。開発のやりすぎで頭がおかしくなったのでしょうか? いえ、そうではなくて、今回は、ビーコンの近さに応じて、再生する音の大きさを変えてみようというお話です。でも、それはまるで、ビーコンが「近づいたよ〜」「遠のいたよ〜」と言っているように聞こえるので、結構、たのしいのです。(実際には、電波が強くなったよ〜、ですが。。。)

では、さっそく作って行きます。

1.ボタンを押したら、曲を再生する、というところまでを作ります。xcodeのプロジェクト(BeaconVoiceという名前にしました)を作成し、AVFoundation.frameworkを追加します。また、"sounds"というフォルダを作成し、そこに用意したMP3ファイルをおきます(図参照)。


画面はこんな感じ(図参照)。

しょぼいですね〜。音量と電波受信強度のラベルだけはつけときました。

ソースコードは、こんな感じです。(STARTボタンを押すと、曲が再生されて、もう一度押すと、停止する、という動きにしてます。)

ViewController.m


はい、では、次行きましょう。

2.CoreLocation.frameworkをセットして、ビーコンを受信できるようにします。この辺りは、このブログで何回か紹介してますので、コードだけ載っけます。

ViewController.hのプロパティ

ViewController.mのViewDidLoadの中

ViewController.mの中のLocationManagerのデリゲート処理

はい、できました!

では、実行の様子をお聴きください...。


ああ、残念です。音声がお伝えできない。

音量は、0.0〜1.0までの値です。RSSIの値は、-90〜-58にしています。つまり、この画像では、最大値になっています。iPhoneもビーコンもスクリーンショットを撮った開発環境のPCに接続しているので無理ないですね。では、ちょっとビーコンを遠くへ離してみます。

か、かすかに音が聞こえます。そして、ときどき、ゴハッって感じで音が大きくなります。まるで溺れかけの人のように。おおお、いい感じでビーコンの声が聞こえてますね。

まとめ

もともとビーコンの電波がどれくらい不安定なのか知りたく思い、音で体感できるようにしたかっただけなのですが、なかなかいい感じで確認できることがわかりました。例えるなら、トンネルに入ったときのラジオの音でしょうか?でも、ビーコンに近いときは、安定して聴けます。

応用として、ある範囲では、クラシック、ある範囲では、ジャズなど、特定の範囲でだけ特定の音楽が聴けるとかのサービスができそうですね。

(おわり)

ビーコンの声を聞いてみよう!


ビーコンって何を考えてるんでしょうね?聞いてみたいと思いませんか?

と、唐突に書き始めてしまいました。開発のやりすぎで頭がおかしくなったのでしょうか? いえ、そうではなくて、今回は、ビーコンの近さに応じて、再生する音の大きさを変えてみようというお話です。でも、それはまるで、ビーコンが「近づいたよ〜」「遠のいたよ〜」と言っているように聞こえるので、結構、たのしいのです。(実際には、電波が強くなったよ〜、ですが。。。)

では、さっそく作って行きます。

1.ボタンを押したら、曲を再生する、というところまでを作ります。xcodeのプロジェクト(BeaconVoiceという名前にしました)を作成し、AVFoundation.frameworkを追加します。また、"sounds"というフォルダを作成し、そこに用意したMP3ファイルをおきます(図参照)。


画面はこんな感じ(図参照)。

しょぼいですね〜。音量と電波受信強度のラベルだけはつけときました。

ソースコードは、こんな感じです。(STARTボタンを押すと、曲が再生されて、もう一度押すと、停止する、という動きにしてます。)

ViewController.m


はい、では、次行きましょう。

2.CoreLocation.frameworkをセットして、ビーコンを受信できるようにします。この辺りは、このブログで何回か紹介してますので、コードだけ載っけます。

ViewController.hのプロパティ

ViewController.mのViewDidLoadの中

ViewController.mの中のLocationManagerのデリゲート処理

はい、できました!

では、実行の様子をお聴きください...。


ああ、残念です。音声がお伝えできない。

音量は、0.0〜1.0までの値です。RSSIの値は、-90〜-58にしています。つまり、この画像では、最大値になっています。iPhoneもビーコンもスクリーンショットを撮った開発環境のPCに接続しているので無理ないですね。では、ちょっとビーコンを遠くへ離してみます。

か、かすかに音が聞こえます。そして、ときどき、ゴハッって感じで音が大きくなります。まるで溺れかけの人のように。おおお、いい感じでビーコンの声が聞こえてますね。

まとめ

もともとビーコンの電波がどれくらい不安定なのか知りたく思い、音で体感できるようにしたかっただけなのですが、なかなかいい感じで確認できることがわかりました。例えるなら、トンネルに入ったときのラジオの音でしょうか?でも、ビーコンに近いときは、安定して聴けます。

応用として、ある範囲では、クラシック、ある範囲では、ジャズなど、特定の範囲でだけ特定の音楽が聴けるとかのサービスができそうですね。

(おわり)

2013年12月16日月曜日



はじめに

飛行機を使った移動で一番困るのが到着時の荷物受け取り
いつまで待っても預けた荷物が出てこない、いやとっくの昔に出てしまったかも?、もしかしたらロストバゲット!?
流れるベルトコンベアを眺め続けながら、いつもこのような不安がよぎります・・・
今回はそんな悩みをiBeaconで解決してみたいと思います。

iBeaconで海外渡航を楽しく



はじめに

飛行機を使った移動で一番困るのが到着時の荷物受け取り
いつまで待っても預けた荷物が出てこない、いやとっくの昔に出てしまったかも?、もしかしたらロストバゲット!?
流れるベルトコンベアを眺め続けながら、いつもこのような不安がよぎります・・・
今回はそんな悩みをiBeaconで解決してみたいと思います。

2013年12月1日日曜日

Bluetoothは2.4GHz帯だから、免許不要だということをよく聞く。しかし、技適はとらなくちゃいけないというのもよく聞く。免許と技適って違うものなの?などと頭が混乱してくる。電波のことをやっていて、"技適"を知らないというのはどうも恥ずかしいことなのか、誰もちゃんと教えてくれない。技適のことを知らないと、安心してBLEを使えない。ということで、今回は、"技適をちゃんと知る"ということと、それとBLEがどう関係するのか、ということに焦点を当ててみる。

技適とは、日本の総務省が定める「技術基準適合証明又は工事設計認証」の略称。

認証制度について、総務省「電波利用ホームページ」の概要は、次のようになっている:
無線通信の混信や妨害を防ぎ、また、有効希少な資源である電波の効率的な利用を確保するため、無線局の開設は原則として免許制としており、当該無線局で使用する無線設備が技術基準に適合していることを免許申請の手続きの際に検査を行うこととしております。
ただし、携帯電話等の小規模な無線局に使用するための無線局であって総務省令で定めるもの(特定無線設備)については、使用者の利便性の観点から、事前に電波法に基づく基準認証を受け、総務省令で定める表示(技適マーク)が付されている場合には、免許手続時の検査の省略等の無線局開設のための手続について特例措置が受けられます。(特例措置の概要は下図参照。)
ここでは、この特例措置の適用を受けるために必要な無線設備に関する基準認証制度の概要をご紹介します。なお、詳細は電気通信機器基準認証制度マニュアルをご参照ください。


ちなみに、技適マークとは、こんなマーク。
(左が平成7年4月から運用されているもの。右は昭和62年10月からの旧マーク。詳しくは、ここを参照。)




日本国内で電波を発する製品はすべてこの技適を取得していないといけない。技適マークが付いていない無線機器を使用すると、電波法違反になる。さらに、技適を取得していたとしても、一般の無線機器は総務大臣の免許が必要となる。ただし、上の概要にあるように、特定無線設備に関しては、技適を取得していれば、総務大臣の免許が不要になる。つまり、免許が不要というのはこの意味だったのである。ただし、無線機器としての性能などは保証されなければいけないので、認証を受ける必要があるということだ。ということは、Bluetoth機器は、この特定無線設備に含まれるということなのか?特定無線設備について、見てみる。

特定無線設備は大きく分けて、4つある。

  1. 免許不要局(20種別)
  2. 特定無線局(37種別)
  3. その他(100種別)
  4. 特別特定無線設備(24種別)

Bluetoothデバイスは、2.4GHz帯(2,402〜2,480MHz)を用いるので、免許不要局の
 2.4GHz帯高度化小電力データ通信システム(2,400~2,483.5MHz)
に属している。

というわけで、Bluetoothについては、技適は必要だが、総務大臣の免許は不要ということで一応納得できました。

参照URL:


余録

日本国内については、技適という認証が必要ですが、海外ではどうなっているのでしょうか。海外では、例えば、北米では、FCC認証、ヨーロッパでは、CE認証というものがあります。
そして、現在、相互承認協定(MRA)という、外国に行って認証試験を受けなくても、その国の認証試験が国内で受けられるという制度があります。電気通信機器に関しては、日欧間(平成14年1月発効)、日シンガポール間(平成14年11月発効)日米間(平成20年1月発効)で締結されています。これは、携帯電話などを海外へ輸出するメーカーにとっては、コスト面などで非常に助かる制度になっています。



[コラム] Bluetoothデバイスは免許不要ってよく聞くけど...どういうことか?

Bluetoothは2.4GHz帯だから、免許不要だということをよく聞く。しかし、技適はとらなくちゃいけないというのもよく聞く。免許と技適って違うものなの?などと頭が混乱してくる。電波のことをやっていて、"技適"を知らないというのはどうも恥ずかしいことなのか、誰もちゃんと教えてくれない。技適のことを知らないと、安心してBLEを使えない。ということで、今回は、"技適をちゃんと知る"ということと、それとBLEがどう関係するのか、ということに焦点を当ててみる。

技適とは、日本の総務省が定める「技術基準適合証明又は工事設計認証」の略称。

認証制度について、総務省「電波利用ホームページ」の概要は、次のようになっている:
無線通信の混信や妨害を防ぎ、また、有効希少な資源である電波の効率的な利用を確保するため、無線局の開設は原則として免許制としており、当該無線局で使用する無線設備が技術基準に適合していることを免許申請の手続きの際に検査を行うこととしております。
ただし、携帯電話等の小規模な無線局に使用するための無線局であって総務省令で定めるもの(特定無線設備)については、使用者の利便性の観点から、事前に電波法に基づく基準認証を受け、総務省令で定める表示(技適マーク)が付されている場合には、免許手続時の検査の省略等の無線局開設のための手続について特例措置が受けられます。(特例措置の概要は下図参照。)
ここでは、この特例措置の適用を受けるために必要な無線設備に関する基準認証制度の概要をご紹介します。なお、詳細は電気通信機器基準認証制度マニュアルをご参照ください。


ちなみに、技適マークとは、こんなマーク。
(左が平成7年4月から運用されているもの。右は昭和62年10月からの旧マーク。詳しくは、ここを参照。)




日本国内で電波を発する製品はすべてこの技適を取得していないといけない。技適マークが付いていない無線機器を使用すると、電波法違反になる。さらに、技適を取得していたとしても、一般の無線機器は総務大臣の免許が必要となる。ただし、上の概要にあるように、特定無線設備に関しては、技適を取得していれば、総務大臣の免許が不要になる。つまり、免許が不要というのはこの意味だったのである。ただし、無線機器としての性能などは保証されなければいけないので、認証を受ける必要があるということだ。ということは、Bluetoth機器は、この特定無線設備に含まれるということなのか?特定無線設備について、見てみる。

特定無線設備は大きく分けて、4つある。

  1. 免許不要局(20種別)
  2. 特定無線局(37種別)
  3. その他(100種別)
  4. 特別特定無線設備(24種別)

Bluetoothデバイスは、2.4GHz帯(2,402〜2,480MHz)を用いるので、免許不要局の
 2.4GHz帯高度化小電力データ通信システム(2,400~2,483.5MHz)
に属している。

というわけで、Bluetoothについては、技適は必要だが、総務大臣の免許は不要ということで一応納得できました。

参照URL:


余録

日本国内については、技適という認証が必要ですが、海外ではどうなっているのでしょうか。海外では、例えば、北米では、FCC認証、ヨーロッパでは、CE認証というものがあります。
そして、現在、相互承認協定(MRA)という、外国に行って認証試験を受けなくても、その国の認証試験が国内で受けられるという制度があります。電気通信機器に関しては、日欧間(平成14年1月発効)、日シンガポール間(平成14年11月発効)日米間(平成20年1月発効)で締結されています。これは、携帯電話などを海外へ輸出するメーカーにとっては、コスト面などで非常に助かる制度になっています。



Related Posts Plugin for WordPress, Blogger...