6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【IoT初心者】ハッカソンで「接続はWi-Fiで」と言われてハッとした話。

6
Last updated at Posted at 2025-12-17

この記事は株式会社ドットログによる
コンストラク体操日記 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 は 短距離・低電力・少量データの通信に最適です。

Gemini_Generated_Image_f98z31f98z31f98z.png

特徴

  • ペアリングすればすぐ使える
  • 消費電力が小さい
  • 通信はシンプルだが、機能は限定的
  • 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

Gemini_Generated_Image_jsorvvjsorvvjsor.png

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 には URLHTTP の概念がありません。

  • ペアリング必須
  • GATT など専用プロファイルが必要
  • 基本的に単純な通信しかできない
  • 大容量のデータ送信は苦手

つまり、Web の仕組みをそのまま使えるのは Wi-Fi の大きなメリットです。

まとめ

Bluetooth ってもっと何でもできると思ってたけど、実際はわりと簡単なやり取りしかできないんだなと感じた。

一方で Wi-Fi 接続は想像以上に自由度が高くて、「デバイスが小さなサーバーになる」という発想が個人的にかなり衝撃だった。

でもよく考えると、Web アプリ開発で普段やってること(API を叩く、HTTP通信)がそのまま使えるので、思ってたより難しくなさそうだなと思えた。

ハードって未知の世界だったけど、Wi-Fi での通信の仕組みを知ったことで「自分でも作れそうかも」とちょっと前向きになった。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?