Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
HIIF-2
Search
らうしぶ
May 03, 2025
Programming
6
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HIIF-2
らうしぶ
May 03, 2025
Other Decks in Programming
See All in Programming
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
Kotlinの15年とServer-Side Kotlin
n_takehata
1
150
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.6k
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
ジョジョの世界をXRで再現する
mofurune
0
160
Workers Cache を知る
syumai
0
360
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.5k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Ruling the World: When Life Gets Gamed
codingconduct
0
400
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
Claude Code のすすめ
schroneko
67
230k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Transcript
BLE を使った簡易的な近距離チャットアプリ 後藤洸樹
目次 1. 自己紹介 2. 作ろうとした理由 3. BLE の説明 4. 作ったもの
5. 作ったものの欠点 6. 今後の展望 2/15
自己紹介 • 名前 ‣ 後藤洸樹 • 所属 ‣ 摂南大学 電気電子工学科 ‣
摂南大学 情報処理技術研究部 • 好きな技術 ‣ C# ‣ dotnet ‣ BLE を使った開発 ‣ .NET Aspire(普通の開発でも神技術) • SNS ‣ X : @lausiv1024 ‣ Github : Lausiv1024 3/15
これを作ろうとした理由 • スマホを左手デバイスとして使えるアプリケーションを作っている。 • これに応用できないかと考えたから。 4/15
そもそも BLE とは • Bluetooth の省電力規格 • IoT 等の省電力な用途で使われることが多い •
基本 Gatt プロファイルで通信を行う ネットワーク構成 ブロードキャスト方式は今回割愛… コネクション方式について説明 セントラル(主にクライアント側) 主に PC 等がこちらの役割を果たす場合が多い。 IoT 機器等からデータを受け取る用途に使ったり ペリフェラル(主にサーバ側) IoT デバイス等がこちらの役割を果たす場合が多い。主に接続してきたセントラルにデータを送信 する用途に使われる。 5/15
そもそも BLE とは (ii) 6/15
BLE の通信方法 Service 機能の単位で作られる定義 例:キーボード単体 Characteristic 実際にやり取りするデータが入る場所 例:押されたキーの情報 7/15
早速よくある構成と逆で作りましょう
デスクトップ App(WPF) • Peripheral として動作 • Central からのデータを受信 • Central
へのデータ送信(Notify 機能を利用) 9/15
スマホ App(.NET MAUI) • Central として動作 • Notify 機能(ペリフェラルからセントラルへ送信)による通知情報の受信 •
データ送信 10/15
逆にした理由 スマホ側のライブラリがセントラルとして動作させることを目的に作っており、それに準拠する形 で作ったから スマホをセントラルにする欠点 Write(Sentral→Peripheral の通信)が遅い! ! とても左手デバイスとして使おうとは思えないレベル。逆に Notify は割と行ける。
11/15
ペアリング機能(現在実装中) BouncyCastle を用いた ECDH 鍵合意機能を用いて、公開鍵の交換と計算で共通鍵を導出。 これで 導出された共通鍵をペアリングの鍵として使用したい。 BouncyCastle に頼っているものの楕円曲線暗号に対応している。 現状迷っていること
• 果たしてこの暗号技術で大丈夫なのか ‣ 中間者攻撃の懸念 – 署名等を使う? ‣ その他セキュリティ関係の穴 12/15
今後の展望 スマホをペリフェラルとして使う 遅延の問題に対してはこれが 1 番早いと思います。 13/15
使用したライブラリ・フレームワーク Mobile App • .NET MAUI • Bluetooth LE plugin
for Xamarin & MAUI 14/15
今回紹介したプロジェクト 今回紹介したプロジェクトは以下のリンクから確認できます。 ペアリング機能を実装中(ブランチ名が MessagePack だけど気にしないで) BLETest 15/15