タグ

BLEに関するsadoru3のブックマーク (30)

  • Bluetooth技術コラム - フィールドデザイン

    [BLE(Bluetooth Low Energy)の開発依頼は、フィールドデザインまでお気軽にお問い合わせください。] Bluetooth Low Energyの技術的な側面を随時更新していきます。できるだけ、なぜ、こうなっているかという部分、その仕様になった背景を書いていきたいと思います。 難易度は、3段階で★の個数が多いほうが、難しい内容、細かい内容になっています。 要望や誤りなどあれば、お気軽にお知らせください。 解説は、Bluetooth Low Energyに限定してますが、その理由は、Version4.2,Version5がリリースされ通信速度が向上したため、今後は、Classic Bluetoothが使われなくなるだろうと予測しているからです。 Bluetooth Low Energyの規格入門 はじめに まず、基礎知識として、下記のことを知っておく必要があります。 Blu

    sadoru3
    sadoru3 2022/11/10
  • Bluetooth®v4とは | Bluetooth® v4の概要 | TechWeb

    Bluetooth v4はBluetoothの低消費電力化バージョンで、v4.1以降はv3以前ととは互換性がない。 ・Bluetooth v4はRF回路規模の縮小と、用途を限定したことによる通信スループット制限により低消費電力化を実現した。 Bluetooth® は、Bluetooth、Bluetooth SMART、Bluetooth SMART READYという3つの正式な商標と分類がありましたが、Bluetooth SIGの2016年通達により、Bluetooth一に統一され、バージョンを識別子と利用することになりました。 今回は、ここでの対象となるBluetooth v4(旧Bluetooth SMART、別称Bluetooth low energy)がどういうものか、他のバージョンのBluetoothとの関係と変遷を含めて説明したいと思います。 Bluetooth v4とは

    sadoru3
    sadoru3 2022/11/10
  • 開発視点の超簡単BLE入門

    どうも、クラゲです。 今回はBLEそのものについて超簡単に説明します。 BlueJellyに限らず、全てのBLEに共通した内容です。BLE雑学ではなく、開発視点での最低限必要な情報だけを説明します! 【 概要 】 [TOC] はじめに 初めに、BLEと普通のBluetooth(以下BTと略します)の違いについて説明します。ポイントは3つです。 普通のBTはクラシックBT 普通のBTはクラシックBTと呼ばれています。データのやりとりは主にSPP(Serial Port Protocol)が使われていました。 低消費電力になっただけじゃない ファームウェアやアプリ開発視点ではクラシックBTのSPPや一般的なシリアル通信(UART、I2C、SPI、RS232Cなど)と結構違います。 イメージ的にオブジェクト指向 注) 技術的にオブジェクト指向という意味ではないです。 例えば、趣味でちょっとしたサ

    開発視点の超簡単BLE入門
    sadoru3
    sadoru3 2022/01/14
  • Core Bluetooth トラブルシューティング - その後のその後

    iOSでBLEを利用するアプリを開発していると、「スキャンで見つからない」「つながらない」といった場面はよく出てきますし、相手が新規開発デバイスだとそっちを疑いたくなることもあるわけですが、けっこうiOS側での「あるある」な実装ミスや勘違いというのが多くあります。 そんなよくあるトラブル、その解決のためのチェックポイント等をまとめました。 (題に入る前に・・・) このトラブルシューティング集は、下記書籍の執筆にあたりまとめていたものです。最終的に書籍内では ここに書いてある分量の2倍ぐらい*1のトラブル&対策について書いてあります。 iOS×BLE Core Bluetoothプログラミングposted with amazlet at 15.03.11堤 修一 松村 礼央 ソシム 売り上げランキング: 1,106 Amazon.co.jpで詳細を見る iOS x BLE というニッチな内

    Core Bluetooth トラブルシューティング - その後のその後
    sadoru3
    sadoru3 2021/06/08
    “フォアグラウンドのときと比べ、バックグラウンドでのスキャンは間隔が長くなります。”
  • 生き続ける:バックグラウンド追跡とNHS COVID-19アプリ - Reincubate

    オーストラリアのCOVIDSafeアプリとは異なり、NHS COVID-19アプリはiOSデバイスのバックグラウンドで実行すると正しく動作するように見えます アプリは、ユーザーに症状を示す参照コードを提供することにより、誤ったレポートを防止します。そのコードは、アクションが実行される前に正式なテスト結果に関連付けられます NHS COVID-19は、医療従事者にPPEを着用している間はデバイスのBluetoothをオフにするよう指示し、「PPEを着用しているときは、職場でのやり取りをキャプチャしないでください」 更新0925 BST 5月7日 :「アプリがバックグラウンドで効果を維持するにはどうすればよいのですか?」を追加しました。以下のセクションでは、Androidデバイスとの通信時にアプリが生き続けるための管理方法を説明し、iOS間通信の課題と手法の一部を取り上げます 更新1145 B

    生き続ける:バックグラウンド追跡とNHS COVID-19アプリ - Reincubate
    sadoru3
    sadoru3 2021/06/08
    全然よくわからんけどバックグラウンドでBLEのスキャンし続けるような動作を可能にするための(裏技的な)回避策の事例?
  • BLEアプリ設計パターン / ble_app_pattern

    DroidKaigi2019 での発表です QrioLockアプリ開発の経験をベースにAndroidBLE(Bluetooth Low Energy)を使ったアプリ開発のノウハウを話しました

    BLEアプリ設計パターン / ble_app_pattern
  • Bluetooth meshネットワークの基本概念(前編)

    Bluetooth meshネットワークの基概念(前編):Bluetooth mesh入門(1)(1/3 ページ) 今回の連載では、Bluetooth meshを正しく理解するための基礎講座として、このネットワークトポロジーを支える基的な概念をはじめ、デバイスの管理やセキュリティについて、4回にわたり解説していきます。 2017年7月、Bluetoothが、メッシュネットワークをサポートしました。「Bluetooth mesh」です。Bluetooth meshは、多対多(m:m)間のデバイス通信を可能にし、大規模なデバイスネットワークの構築に最適化されたネットワークで、ビルオートメーションやセンサーネットワーク、資産追跡など、数十から数百、数千にも上るデバイスによる安全かつ高信頼性で相互通信を行う必要があるIoT(モノのインターネット)ソリューションに適した技術です。 今回の連載では

    Bluetooth meshネットワークの基本概念(前編)
  • 株式会社アプリックス

    Beaconを使った近距離測位の特性について、当社で行った検証を紹介します。 距離による電波強度と揺らぎ Beaconによる近距離測位は、Beaconから送信された電波が距離の二乗に反比例して減衰する性質を利用して行います。 距離によるBeacon電波強度の測定値の揺らぎを測定したサンプルデータの一部を左図に示します。1m程度までは電波強度は距離が遠くなるに従い距離の二乗に反比例して減衰していますが、1m以遠では電波強度の揺らぎが大きくなっていることが見て取れます。この揺らぎの要因の一つとして電波の干渉が考えられ、そのモデルは中央の図のように表すことができます(この例は床からの反射を想定したものです)。干渉モデルを実測値に重ねた右図では、この揺らぎがある程度は干渉で説明できることが見て取れます。 i また、干渉波以外にも揺らぎを引き起こす様々な要因が考えられます。空間的な要因としては、反射

    sadoru3
    sadoru3 2018/04/19
    距離によるゆらぎとか、実測例グラフつき
  • 殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜

    Core Bluetooth のバックグラウンド実行モードについて ・バックグラウンドでできること ・バックグラウンドにおける制約 ・状態の保存と復元

    殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
    sadoru3
    sadoru3 2018/04/08
    バックグラウンドでのBLE関連
  • Core Bluetoothのハマりどころ逆引き辞典 - Qiita

    iOS x BLE というニッチな内容で480ページ! 3/26発売です。どうぞよろしくお願いします! (書籍発売から半年ぐらいしたら、こちらの記事も書籍と同様にフルバージョンにしようと思います。) トラブル1: スキャンに失敗する → スキャンの直前に CBCentralManager を初期化していないか? たとえば「1回目のスキャンに失敗するけど、2回目ではたいていうまく繋がる」という場合には、CBCentralManager の初期化タイミングが遅く、スキャンを開始するタイミングでまだ CBCentralManagerStatePoweredOn になってない、という可能性があります。 - (IBAction)scanBtnTapped:(UIButton *)sender { self.centralManager = [[CBCentralManager alloc] init

    Core Bluetoothのハマりどころ逆引き辞典 - Qiita
    sadoru3
    sadoru3 2018/04/06
    フォアグラウンドのときと比べ、バックグラウンドでのスキャンは間隔が長くなります。 Appleのドキュメントでは具体的な数値を発見できなかったのですが、わふうさんの記事によると12分に1回とか。
  • iPhone のバックグラウンド処理で Bluetooth Low Energy を利用する - Qiita

    はじめに 私事ながら、2014 年に Bluetooth Low Energy (以下 BLE) を利用した iOS アプリを 2 公開しました。その開発過程で得た Tips などを年の締めに書き出したいと思います。 動作対象とする iOS のバージョンを指定する Deployment Target には iOS 7.0 以降を指定します。BLE 通信は iOS 6.0 からサポートされますが、BLE のバックグラウンドがサポートされるのは iOS 7.0 以降となるためです。 BLE のバックグラウンド利用を宣言する アプリが BLE 用いたバックグラウンド処理を行うことを宣言するため、Background Modes を有効にします。 Central 通信(受信)を利用する場合は "Uses Bluetooth LE accessories" にチェックをいれます。 Periphe

    iPhone のバックグラウンド処理で Bluetooth Low Energy を利用する - Qiita
    sadoru3
    sadoru3 2018/04/06
    YES を指定すると、アドバタイズパケットを受信する度に "centralManager: didDiscoverPeripheral:advertisementData:RSSI:" へ通知されますが、バックグラウンド処理でこれは実現できません。
  • RSSI と TxPower からビーコンとの距離および近接度(Proximity)を推定する - Qiita

    先日、Eddystone の使いどころについて書いた記事で、iBeaconと比較した場合の利点のうちのひとつは「カスタマイズ性」(=自前実装が可能)であると書きました。 1 Eddystone と iOS - その1: iBeacon と比較したメリット・デメリット この場合、Core Bluetooth を使って、 Eddystone ビーコンをスキャン 発見時に得られるアドバタイズメントデータを解析 という処理を実装することになるわけですが、 Eddystone と iOS - その2: 実装編 その際に Core Location の iBeacon 実装と同等のことをしたければ、つまり「近接度(Proximity)」を知りたければ、 didDiscoverPeripheral〜 メソッドの引数に渡されてくる RSSI と、ビーコンの TxPower から推定距離を算出する 必要があ

    RSSI と TxPower からビーコンとの距離および近接度(Proximity)を推定する - Qiita
  • リダイレクトの警告

    表示中のページから https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_action_common_download&item_id=177230&item_no=1&attribute_id=1&file_no=1 にリダイレクトしようとしています。 このページにリダイレクトしないようにする場合は、前のページに戻ってください。

    sadoru3
    sadoru3 2018/03/25
    ビーコン使うのでメモ
  • Bluetooth 4.0 および Bluetooth Low Energy (BLE) に関する技術情報のまとめ - Qiita

    Bluetooth 4.0 や BLE に関して、「あれどこに書いてあったっけ」とならないように自分的お役立ち情報をここにまとめておきます。記事は随時更新していきます。 (2014.12.22追記)引用元記事では記述や数値が修正されている部分があります。正確な情報は元記事やBluetooth SIGのドキュメントを参照してください。 Bluetoothのはなし(2)|Wireless・のおと|サイレックス・テクノロジー株式会社 この記事はちょっと突っ込んだ情報をわかりやすく簡潔に書いてくれていて、とても参考になります。 Bluetoothのバージョンについて まず明らかにしておきたいのは、 「Bluetooth Low Energy(LE)」と「Bluetooth 4.0」という用語の定義は同じではない 、ということです。「Bluetooth LE」は Bluetooth 4.0 で新た

    Bluetooth 4.0 および Bluetooth Low Energy (BLE) に関する技術情報のまとめ - Qiita
    sadoru3
    sadoru3 2017/11/22
  • CoreBluetooth で出来る事 - Qiita

    できる事 動的に変わるデータの通信 データはバイトデータで渡さるため、どんなデータでも渡せる セキュアなデータでも送れる ペアリングが必要 特に難しい実装しなくともフラグを設定しておくだけでペアリングフローを実施してくれる UUID を知らなくてもスキャンすること自体は可能 電力消費量的に未指定は非推奨 サービスの中にサービスを入れることも可能 included service バックグラウンドでも動作する デバイスの検知 ただしアクティブスキャンは出来ない アドバタイズ発信 ただしローカルネームは送信されない 出来ないこと お互いの位置を性格に把握すること サーバーへの書き込みに21バイト以上送信すること アドバタイズパケットには容量制限がある 28 バイトまで UUID は 16 バイトあるので1つしか入れられない 収まらなかったサービス UUID はアクティブスキャンにて返却可能 デ

    CoreBluetooth で出来る事 - Qiita
  • CoreBluetooth ハマりぽいんと - Qiita

    ハマりぽいんととか、まぁいろいろ SwiftでCoreBluetoothを叩く部分を書いてはダメ。 遅い、Notification / Read が止まったり didDiscoverServices から先に進まなかったり、Connection interval通りに動かなかったりする。 CoreBluetoothを叩く部分はObjective-Cで書きましょう。2016/05/06 現在 GATTのキャッシュにやられました。訂正させていただきます。平に平にご容赦くださいまし・・・・。申し訳ございませんでした。Swift大丈夫です。 BLEを扱う際のクラス設計(?)は 全体を扱う(CBCentralManagerDelegateを実装する)クラスと、接続するPeripheralの構造に合わせた感じに分けるとイイ感じに。 iOSでCoreBluetoothやる時のコーディングTips に少し

    CoreBluetooth ハマりぽいんと - Qiita
  • JavaScriptのみでBLEアプリがで開発可能、ライブラリ「BlueJelly」をJellyWareが無償公開 (@IT) - Yahoo!ニュース

    JavaScriptのみでBLEアプリがで開発可能、ライブラリ「BlueJelly」をJellyWareが無償公開 JellyWareは2017年9月1日、JavaScriptのみでBLE(Bluetooth Low Energy)アプリケーションを開発できるライブラリ「BlueJelly」を無償公開した。 BLEは、IoT(Internet of Things)での利用を見据えて省電力化した近距離無線通信。BLE対応アプリケーションをAndroidやiOSデバイス向けのネイティブアプリケーションとして開発するには、JavaSwiftなどの言語を使うのが一般的だが、開発者にはそれなりの知識と技術が求められる。 そこでJellyWareは、Web Bluetooth API(Application Programming Interface)を活用し、JavaScriptを使ったWebアプ

    JavaScriptのみでBLEアプリがで開発可能、ライブラリ「BlueJelly」をJellyWareが無償公開 (@IT) - Yahoo!ニュース
  • Web Bluetooth API を使ってBLEデバイスをブラウザから操作する - BppLOG

    WebBluetoothAPI を利用すれば、ブラウザからBluetoothLE(BEL)デバイスを操作できるようになります。 従来であれば、BLEデバイスを操作するには iOS や Android のアプリケーションを用意する必要がありましたが、 このAPIを利用すれば、javascriptのみでブラウザからBLEデバイスを操作できるようになります。 基的には下記の5ステップで実装をしていきます。 BLEデバイスをスキャンして探す BLEデバイスに接続する BLEデバイスの Service オブジェクトを取得する Service オブジェクトから Characteristic オブジェクトを取得する Characteristic オブジェクトのRead/Write でデバイスを制御する 上記5ステップと、接続の解除、デバイスからの通知の受け取り、の7項目について説明していきます。 なお

    Web Bluetooth API を使ってBLEデバイスをブラウザから操作する - BppLOG
    sadoru3
    sadoru3 2017/07/06
  • BLEの通信仕様 | Reinforce-Lab.'s Blog

    Bluetooth Low Energyの無線通信技術この章は、組み込み機器開発およびiOSアプリケーション開発に必要な無線通信技術を要点をおさえて解説します。 Bluetooth Low Energy(以下、Bluetooth LE)の無線技術の知識は、独自のBluetooth LEデバイス設計に必要です。また、iOSアプリケーション開発に使うCoreBluetoothフレームワークのクラスや使い方そして振る舞いの理解に、役立ちます。 さらに詳細にBluetooth LEの無線通信技術を知りたいときは、Robin Heydon, Bluetooth Low Energy: The Developer’s Handbook, Prentice Hall, 2012、を参照してください。 Bluetooth4.0の仕様書は、PDF形式でだれでも無償で入手ができます。しかし、それは2000ペー

    sadoru3
    sadoru3 2017/07/06
  • 【連載】Bluetooth LE (4) Windows 8.1 の Windows ストアアプリで BLE を使う

    こんにちは。共同開発部 開発担当の伊藤です。 Bluetooth LE (以降 BLE)の連載、第4回です。今回は Windows 8.1 で BLE 機器を使う方法をご紹介します。 連載の第1回でもご紹介しましたが、Windows 8 では BLE のサポートはかなり限定的でしたが、Windows 8.1 になってから正式に WinRT のクラスライブラリに BLE アクセス用のクラス群が追加されました。 ちょうど日10月17日午後8時(日時間)に Windows 8.1 が一般向けにリリースされ、Windows Store からダウンロードできるようになります。 連載をはじめる時はまったく想定に入れてなかったのですが、Windows 8.1 の新機能を使う方法を公開日にご紹介できるとはなんというナイスタイミング! 今回は、Windows 8.1 RTM と Visual Studi

    【連載】Bluetooth LE (4) Windows 8.1 の Windows ストアアプリで BLE を使う
    sadoru3
    sadoru3 2017/07/05
    “Windows ストアアプリからはペアリング操作はできず、事前に「PC設定」のデバイスから、通常の Bluetooth 機器と同様にペアリングを実施しておく必要があります。”