Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Bluetooth・BLE超入門
Search
TechTraining
PRO
0
340
Bluetooth・BLE超入門
TechTraining
PRO
Tweet
Share
More Decks by TechTraining
See All by TechTraining
思い描いてるキャリアパスLT大会(妄想可)〜あんなこといいな、できたらいいな〜
techtraining
PRO
1
16
TechCommit_もくもく会参加者フォロー_oViceの参加者の方のノイズが大きい場合__Krisp__ノイズキャンセリング_の案内Tips.pptx.pdf
techtraining
PRO
0
29
TechCommit_もくもく会参加者フォロー_oViceの参加者への_Krisp__ノイズキャンセリング_のご案内Tips.pptx.pdf
techtraining
PRO
0
19
_公開用_2024_03_30オンライン飲み会_転職_就職会.pptx_.pptx.pdf
techtraining
PRO
0
11
_公開用_2024_03_30オンライン飲み会_転職_就職会.pdf
techtraining
PRO
0
27
ブラッシュアップ版_問題解決の思考_クリティカル_シンキング入門ユキコ.pdf
techtraining
PRO
1
35
_問題解決の思考_クリティカル_シンキング入門ユキコ__2_.pdf
techtraining
PRO
0
29
LT大会_テーマ自由LT会_初学者さんも大歓迎__最近学んだことや面白かった技術等について_発表してみましょう_.pptx.pdf
techtraining
PRO
0
33
1人MTGをLEVEL上げしよう
techtraining
PRO
0
50
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
10k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Facilitating Awesome Meetings
lara
57
6.6k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Designing Experiences People Love
moore
142
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Faster Mobile Websites
deanohume
310
31k
Embracing the Ebb and Flow
colly
88
4.9k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Transcript
IoTでよく使われる Bluetooth/BLE超入門 MasaHero(@lunadrayuffie)
目次 ► 自己紹介(職歴/分野/趣味) ► 今回のLTの目標 ► 今回のLTで説明しないこと ► Bluetoothとは? ►
Wi-FiとBluetoothの違い ► BLEとは? ► BluetoothとBLEの違い ► Bluetooth/BLEの書籍 ► BLEモジュールの紹介() ► RaspberryPiでBluetooth/BLEを始める方法
自己紹介 1. Who am I? 1. 25歳 2. 元道産子 2.
職歴 1. 回路設計エンジニア 2. 組込みエンジニア 3. 機械学習エンジニア 4. 組込みLinuxエンジニア(C/C++,Python, Linux) 3. 趣味 1. アニメ,ゲーム,映画,VTuber推し 2. 図書館/本屋巡り → 積読 3. エンジニアリングが好き(回路/ソフト問わず調べること・作ることが好き )
今回のLTの狙い ► IoTシステムでよく採用される、Bluetooth/BLEについて簡単に紹介 ► Bluetoothとは何か? ► Wi-Fiとの違いは? ► どのように使い分けてるか? ►
BLEとは? ► BLEとBluetoothの違いは? ► Bluetoothを触りたい/学びたい/作りたい方向けに一部紹介 ► Bluetooth/BLEの参考書籍 ► BLEモジュールの紹介 ► Bluetooth/BLEを始める方法
今回のLTで説明しないこと ► Bluetooth/BLEを扱ったスマホアプリの説明(iOS, Android) ► Bluetooth/BLEの詳細な説明
Bluetoothとは? ► 無線規格の一種 ► Wi-Fiと同じ周波数帯(2.4G㎐帯)を使っている ► 1994年に始動、1999年に“Ver.1.0b”として規格を公開 ► 現在の最新バージョンは、“Ver.5.1” ►
エリクソンを始め、東芝,Nokia,Intel,IBMの企業が参画 ► “Bluetooth SIG”という団体が規格更新や開発を行っている ► 実は、エリクソンの社内ベンチャーから始まっていた ► 活用例 ► COCOA(COVID-19接触確認アプリ) ► PCアクセサリ(マウス/キーボード/ヘッドフォン)
ここでBluetoothコソコソ裏話… なぜ「青い歯(Bluetooth)」と呼ぶの? 10世紀に実在したバイキング王、「ハーラル1世」の「青歯王」という呼び名から。 Bluetoothができる当時は多くの企業が規格を乱立していた背景から、 スウェーデンとデンマークを平和裏に統一した、ハーラル1世に因んで 市場の混乱が無いように願い付けられた。 Bluetoothのロゴも「ハーラル王」由来である。 (ルーン文字の2文字を合体している)
Wi-FiとBluetoothの違い(比較) Wi-Fi Bluetooth 周波数帯域 2.4GHz帯 2.4GHz帯 通信速度 高 低 消費電力
大 小 接続方式(トポロジー) 一対多 一対一,一対多 送信距離 大 (中継器で更に拡大可能) 小 (最大100m)
Wi-FiとBluetoothを どのように使い分けてるか? ► 開発対象の電源供給がBatteryか? ► 消費電力が抑えられる、Bluetooth/BLE ► Batteryの充電機会があまり取れない場合も採用 ► 通信データをあまり使わないか?(=通信速度はそれほど求めない)
► 通信したいときのみ使うならば、 Bluetooth/BLE (Wi-Fiは基本 常時通信) ► Ex) キーボード・マウス、ヘッドフォンなど ► 秘匿性 ► Wi-Fiは、通信距離が大きいので隣のビルや他フロアまで伝搬することもある ► 通信範囲を絞りたいor通信を隠したい場合は,Bluetooth/BLE
BLEとは? ► 正式名称は、Bluetooth Low Energy ► Bluetooth4.0に公開 ► 低コスト、低帯域、低消費電力を目的に開発された ►
Bluetoothより理解しやすく、開発しやすい ► 活用事例 ► ウェアラブル製品(スマートウォッチ・シューズなど) ► スマートホーム
BluetoothとBLEの違い 従来のBluetooth (Bluetooth Classic) BLE (Bluetooth Low Energy) 通信速度 高
(最大 3Mbps) 低 (1Mbps 固定) 消費電力 大 小 伝搬距離 大 (最大100m) 小 (最大2~5m)
ゼロから始める Bluetooth/BLE学習
Bluetooth/BLEの学習書籍 1. 基礎からわかる「Bluetooth」―近距離に特化した無線通信規格 • Bluetoothについてゼロから学べる本 • メインはBluetooth Classicの内容 • プロトコルやプロファイルは
BLEで共通する部分はあるので、読む価値アリ • 簡単な無線工学の内容 (無線通信の原理や変復調 )が記載されている 2. Bluetooth Low Energyをはじめよう • 対象読者は、組込みエンジニア・アプリケーションエンジニア • BLEの内容が詳細に書かれている • 10章構成 • 1~4章がBLE通信の説明 • 5~10章が実践的な開発の説明 (ハードウェアやツールが必要になる) 3. Interface(インターフェース) 2015年 08 月号 • 入手し難いが、BLEの特集 • BLEの説明がとても読みやすい構成 • 実践的な開発レシピが多数記載 • BLEモジュール(マイコンやデバイスなど)の紹介がある
BLEモジュールの紹介(ESP32) ► ESP-WROOM-32 ► Wi-FiとBluetooth機能を備えたマイコン ► micro-USBケーブルとPCがあれば、直ぐに始められる ► Arduino IDEで開発可能
► IDEには、サンプルプログラムがあるので直ぐに試せる ► 多くのエンジニアが触っているので、ネットに参考資料が多い
RaspberryPiでBLEを始めるなら… その1 ► RaspberryPiでBLE開発するのは、ハードかつ技術選定が難しいので中級者向け? ► 開発環境構築が難しい ► BLEの知識が中途半端だと、迷宮入りしやすい ► 参考書籍がなく、紹介記事が少ない
► モジュールを使わずに RaspberryPiだけで開発する人少ないように見える 開発する前提条件として、BlueZの知識が少なからず必要 BlueZとは、 Linux/Androidで動作するBluetoothプロトコルスタック 参考記事 ► BlueZのAPI/サンプルコードのメモ ► https://qiita.com/ffmatsu/items/b7ca6a944b5a1ea9c7a6 ► Qiitaの紹介記事 ► APIの説明やフォルダ構成の説明が記載
RaspberryPiでBLEを始めるなら… その2(言語別) ► C/C++で始めるなら… Gobbledegook ► https://github.com/nettlep/gobbledegook ► BLE専用のBlueZのAPIのラッパーライブラリ ►
環境構築難しめ ► D-Busの知識が必要 ► Pythonで始めるなら…pybleno ► https://github.com/Adam-Langley/pybleno ► Node.jsで書かれたBLEライブラリ、blenoのラッパー ► 環境構築が簡単 ► Gobbledegookより、実行処理速度が遅め
おわり