この記事は株式会社ドットログによる
コンストラク体操日記 Advent Calendar 2025 の 17 日目 の記事です。
ハードウェア開発がしてぇ
ハッカソンで知人がハードウェアを作っているのを見て、「自分もハードを触ってみたい!」と思ったことがきっかけで、今回 Bluetooth と Wi-Fi の違いについて深掘りしました。
特に印象的だったのは、知人の言葉:
「接続は Bluetooth じゃなくて Wi-Fi を使うよ」
「スマホとデバイスを繋ぐといえば Bluetooth じゃないの?」
「Wi-Fi でデバイスに接続ってどういうこと?」
さらに会話の中で IP アドレス、ポート番号 といった言葉が登場し、余計に疑問が増えました。
この記事では、当時わからなかったことを整理しながら、これからのハードウェア開発にも役立つように Bluetooth と Wi-Fi の違い、Wi-Fi 接続の仕組み、IoT での使われ方 をまとめます。
Bluetooth と Wi-Fi の基本的な違い
私はこれまで、
Bluetoothといえばエアポッズやヘッドホン、キーボードを繋ぐ仕組み
Wi-Fiといえば通信量を節約するためのネット接続手段
くらいの認識しかありませんでした。
でも IoT デバイス開発では、この2つは全く別の役割を持っているようです。
Bluetooth と Wi-Fi の IoT 接続の違い
| 項目 | Bluetooth | Wi-Fi |
|---|---|---|
| 通信距離 | 数m〜10mの短距離 | 家中・オフィスなど広範囲 |
| 接続方法 | 直接ペアリング | ネットワーク越し(ルーター経由 or デバイス自身のAP) |
| 用途 | 低電力・少量データ・単純制御 | 高速通信・大量データ・高度制御 |
| IPアドレス | 持たない | 持つ(ネットワークの1台として扱われる) |
| ポート番号 | 不要 | 必要(Webサーバーと同じ概念) |
| 通信プロトコル | BLE GATT など専用 | HTTP / WebSocket / MQTT / TCP など汎用 |
Bluetooth は「直接つなぐ」イメージ、
Wi-Fi は「ネットワークの中に参加する」イメージです。
Bluetooth の IoT 接続とは?
Bluetooth は 短距離・低電力・少量データの通信に最適です。
特徴
- ペアリングすればすぐ使える
- 消費電力が小さい
- 通信はシンプルだが、機能は限定的
- Web のように URL を叩く通信はできない
- プロファイル(GATTなど)を理解する必要がある
向いている用途
キーボード・イヤホン・スマートロックなどの小型デバイスの簡易制御
Wi-Fi の IoT 接続とは?
Wi-Fi は Bluetooth と違い、デバイスが ネットワーク上の1台のコンピュータのように振る舞います。
つまり、IP アドレスを持ち、ポート番号を開け、スマホやPCと HTTP通信 できるようになります。
できることが一気に増える!
- デバイスを「Webサーバー」として扱える
- スマホから HTTP で命令を送れる
- 大量データ(画像・動画)も扱える
- 複数デバイスと同時通信できる
「Wi-Fi で接続」とはどういうこと?
Wi-Fi 接続 = デバイスがネットワークに参加すること
デバイスは Wi-Fi に接続すると IP アドレスを持つ小さなサーバーになります。
例:
IPアドレス: 192.168.1.50
ポート番号: 8080
これだけでスマホから、
http://192.168.1.50:8080/status
というようにアクセスできるようになります。
IPアドレス・ポート番号とWi-Fiの関係
Bluetooth にはないが Wi-Fi には必要になるもの
それが IPアドレス と ポート番号 です。
■ IPアドレス
ネットワーク上の住所。
「どの機器に送る?」を決めるもの。
■ ポート番号
機器の中の“窓口番号”。
「どのサービスに送る?」を決めるもの。
Wi-Fi でつながるとデバイスはこう見える
🔵 デバイスのIP:192.168.1.50
🔴 OPENポート:8080
スマホ からデバイスへリクエストする際に
// スマホ → デバイスへリクエスト
http://🔵192.168.1.50🔵:🔴8080🔴/getData
→ だからポート番号の話が出てくる!
Bluetooth ではプロファイル内部で処理するため不要だが、
Wi-Fi(IP通信)は ポート番号が通信の入り口になるため必須。
実際の通信イメージ
[デバイス] ---WiFi---> [ルーター] <---WiFi--- [スマホ]
デバイスのIP = 192.168.1.50
開くポート = 8080
スマホ → デバイスにリクエスト
http://192.168.1.50:8080/getData
IoT デバイスは「Web API」を持てる
Wi-Fi 接続された IoT デバイスは 小さな Web サーバー のように動きます。
デバイス側のコード(擬似):
GET /status → 状態を返す
POST /move → モーターを動かす
POST /setMode → 動作モードを変更
スマホ側:
fetch("http://192.168.1.50:8080/move", {
method: "POST",
body: JSON.stringify({ speed: 100 }),
});
たったこれだけでデバイスを制御できる。
Bluetooth ではできない?
Bluetooth には URL や HTTP の概念がありません。
- ペアリング必須
- GATT など専用プロファイルが必要
- 基本的に単純な通信しかできない
- 大容量のデータ送信は苦手
つまり、Web の仕組みをそのまま使えるのは Wi-Fi の大きなメリットです。
まとめ
Bluetooth ってもっと何でもできると思ってたけど、実際はわりと簡単なやり取りしかできないんだなと感じた。
一方で Wi-Fi 接続は想像以上に自由度が高くて、「デバイスが小さなサーバーになる」という発想が個人的にかなり衝撃だった。
でもよく考えると、Web アプリ開発で普段やってること(API を叩く、HTTP通信)がそのまま使えるので、思ってたより難しくなさそうだなと思えた。
ハードって未知の世界だったけど、Wi-Fi での通信の仕組みを知ったことで「自分でも作れそうかも」とちょっと前向きになった。

