BLE通信に関する考察

https://github.com/RikuRaito/BLE_test

Swift

Flask

GitHub

Python

スマホ同士のすれ違い通信を可能にするBLEに関する論述

Riku

推しアイデア

BLEというあまり聞き馴染みのない技術の実態について検証を行ったところ

作った背景

元々昔の3DSにあったすれ違い通信のようなゲームを開発したいと思っていた.

推し技術

BLEに関する記事がインターネットにあまりなく,全て手探りでコードを書いたこと

プロジェクト詳細

プロジェクトコンセプト 本プロジェクトは、昔の3DSの「すれ違い通信」にインスピレーションを得た、スマートフォン向けの位置情報ゲームです。Bluetooth Low Energy (BLE) を活用し、プレイヤーが特別な操作をしなくても、現実世界ですれ違うだけで、他ユーザーと自動的に通信・交流できる新しい体験を提供します。

技術的な特徴と実現方法 BLEによる自動通信: ユーザーがアプリを操作したり、デバイスをペアリングしたりする必要はありません。BLEのアドバタイズ機能により、アプリはバックグラウンドでも自身の存在を周囲に発信し続けます。これにより、アプリが閉じている状態でも自動ですれ違いを検知し、情報を交換します。

iBeacon技術の活用: Appleが提供するiBeacon技術(Core LocationとCore Bluetoothの組み合わせ)を使用を検討しました。これによりセントラル(データ受信側)のバックグラウンドでの受信は可能になりますが、ペリフェラル(データ送信側)は実装することが難しい。

プライバシーとセキュリティ: ユーザーIDを直接送信するのではなく、事前に発行した独自のアプリID(UUID)とランダムなユーザーIDを組み合わせることで、匿名性とセキュリティを両立させます。

その後すれ違った情報をサーバーに送信して,すれ違った人のプロフィールを簡単に見ることができます。

ユーザーへの価値提供 このゲームは、日常の移動や外出を冒険に変えます。新しい出会いや発見が、特別なアクションなしで自動的に生まれます。

デメリットに関して この技術は非常に可能性を秘めているが実装の難易度が高い,参考資料が乏しいなどが挙げられます.加えてバックグラウンドでのデータの通信が不安定であるということも挙げられていて,すれ違い通信を再現するにはこの技術を利用するのが困難です.

💻 実装言語・フレームワーク iOS(フロントエンド): Swift バックエンド :Flask/Python

フレームワーク: SwiftUI, Core Bluetooth, Core Location,Flask

Riku

@e6995efb9ead1762