2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2020.05.26
プログラミング濃厚接触通知アプリをWeb Bluetooth APIで自作できなかった
坂東です。
コロナ感染者との接触可能性を通知してくれる「濃厚接触通知アプリ」
https://k-tai.watch.impress.co.jp/docs/news/1254604.html
この「濃厚接触」の判定はBluetooth Low Energyの信号強度を利用しています。
シンガポール政府が開発したOSS「TraceTogether」とほぼ同じ仕組みかと思います。
https://ja.wikipedia.org/wiki/TraceTogether
https://github.com/opentrace-community
BLEは面白くて、すこし情報を載せられることを利用して弊社でメッセージアプリを作ったこともあります。(リジェクト済み)
https://prtimes.jp/main/html/rd/p/000000002.000009820.html
日本の濃厚接触アプリは開発経緯や開発の遅さがイケてない。
技術的には分かるし自作して遊ぼうかと思ったのですが、再発明するだけじゃつまんない。
そういえばWebでネイティブアプリっぽく動かすノリを思い出し、Bluetooth周りもJavascriptでいじれるようになってんじゃないかと。
ググったらWeb Bluetooth APIというのがあるんですね。
https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API
サンプルコードがありました。
https://googlechrome.github.io/samples/web-bluetooth/
欲しいのはBLEの信号をスキャンすることで、Androidでいうなら「getBluetoothLeScanner」。
https://googlechrome.github.io/samples/web-bluetooth/scan.html
動作要件が「Chrome 79+ 」なのはいいとして、デバッグフラグもONにしないと動かないので実用的ではないけれど、
chrome://flags/#enable-experimental-web-platform-features
とりあえず叩くと周囲のManufacturer Dataがザラザラと取れました。
受信はAndroid相当の実装はできるんじゃないかと思います。
ただ「バックグラウンドで動かす」「送信(startAdvertising)」は実装できなさそう。
なので、濃厚接触通知アプリをWeb Bluetooth API で作るのは無理でしょう。
QRコードでWeb開いてボタンクリックで周囲に感染者の信号があるか確認、ぐらいならできるけど作る意味はないかな。
おわり。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索