別名・略称:モノのインターネット
IoT の世界には多くの国際標準・推奨ガイドラインが存在します。 SSDSE のような公的統計と組み合わせる場合、 これらに準拠することで「再現性のある研究」「監査可能なシステム」が構築できます。
これら 8 つの標準・法令を最低限押さえておけば、 国内外どこの IoT プロジェクトでも「監査に耐える」設計ができます。 SSDSE という公的データセットを扱うこと自体が、 これらの標準を意識する良い練習になります。
🍰 まずはやさしく
モノがネットにつながる仕組みです。
データをやり取りするために使います。
スマートホームなどの便利な機能です。
仕組みとデータの流れを学びます。
IoT(Internet of Things):モノがインターネットに接続しデータをやり取りする仕組み
🍰 まずはやさしく
モノから出る大量のデータのことです。
今の時代の分析に役立てます。
スマホのGPSなどで集まるデータです。
データの使い道を詳しく読みます。
🍰 まずはやさしく
ネットとモノを合体させた考え方です。
あらゆる機械をネットワークに繋ぎます。
エアコンや車がネットに繋がる例です。
データの通り道の階層について読みます。
IoT は「インターネット (Internet) + モノ (Things)」の合成語。 これまでパソコンとスマートフォンしかネット接続していなかった時代に対して、 冷蔵庫・エアコン・センサー・工場機械・自動車 など あらゆる物理デバイス がネットワークに参加するという発想です。 1999 年に MIT の Kevin Ashton が提唱して以来、 RFID → センサーネットワーク → 5G/エッジ AI と進化を続けています。
IoT システムは「下から上に流れるデータ」と「上から下に戻る制御命令」で構成され、 5 つの階層が積み重なります。 教科書 (例: ITU-T Y.4000 / IEEE 1451 / RAMI 4.0) によって 3-7 層と表現に幅がありますが、 5 層モデルが最も実務的です。
| 階層 | 主な役割 | 代表的なコンポーネント | 時間制約 |
|---|---|---|---|
| 1. デバイス層 | 物理量をデジタル値に変換、 アクチュエータで物理操作 | 温度センサー (BME280)、 加速度センサー (MPU6050)、 マイコン (Raspberry Pi, M5Stack, ESP32, Arduino)、 アクチュエータ (リレー、 サーボ、 モータ) | μs ~ ms |
| 2. ネットワーク層 | デバイスからクラウドへの通信路 | Wi-Fi、 Bluetooth Low Energy、 Zigbee、 LoRaWAN、 NB-IoT、 LTE-M、 5G、 MQTT/CoAP/HTTPS | ms ~ 数 s |
| 3. エッジ層 | デバイス近傍で前処理・推論。 帯域・遅延・コストを節約 | エッジゲートウェイ (Jetson Nano、 Coral Dev Board、 Raspberry Pi)、 軽量モデル (TFLite、 ONNX Runtime) | 数 ms ~ 数百 ms |
| 4. クラウド層 | 大規模ストレージ、 分析、 機械学習、 ダッシュボード | AWS IoT Core、 Azure IoT Hub、 GCP IoT Core (2023 終了)、 Kafka、 Time-Series DB (InfluxDB、 TimescaleDB) | 秒 ~ 分 |
| 5. アプリ層 | ユーザ向け可視化、 アラート、 制御フィードバック | Grafana、 Power BI、 Web/モバイルアプリ、 LINE/Slack 通知、 自動制御ループ | 分 ~ 日 |
| 産業 | ユースケース | 代表的なセンサー | 価値 |
|---|---|---|---|
| 製造業 (IIoT) | 予知保全、 OEE 計測 | 振動 (加速度)、 温度、 電流、 音響 | 故障前の検知でダウンタイム 30-50% 削減 |
| 農業 | 精密農業、 自動灌漑 | 土壌湿度、 EC、 気温、 日射量、 葉面温度 | 水使用量 30% 削減、 収量 10-15% 向上 |
| 医療・ヘルスケア | 遠隔モニタリング、 服薬管理 | 心拍 (PPG)、 SpO2、 血糖 (CGM)、 ECG | 再入院率の低下、 救急対応の高速化 |
| スマートシティ | 交通最適化、 災害検知 | 車両カウンタ、 気象、 河川水位、 大気質 | 渋滞時間 15% 短縮、 避難情報 30 分早期化 |
| 家庭 (Smart Home) | 省エネ、 防犯 | 電力 (スマートメータ)、 人感、 ドア開閉、 カメラ | 電気代 10-20% 削減 |
| 物流 | コールドチェーン管理、 トラッキング | 温湿度、 GPS、 加速度 (荷崩れ検知) | 食品ロス 25% 削減 |
| 自動車・MaaS | コネクテッドカー、 自動運転 | LiDAR、 カメラ、 IMU、 OBD-II | 事故率 40% 削減 (Tesla 統計) |
SSDSE-B-2026 は 47 都道府県 × 年度 × 112 統計項目 の構造化データです。 仮にこれを「47 都道府県に設置された地域モニタリング IoT」と読み替えると:
IoT 通信は「電池 × 距離 × 帯域 × コスト」の 4 軸トレードオフ。 用途別に標準が分かれます。
| プロトコル | 距離 | 帯域 | 電池寿命 | 向く用途 |
|---|---|---|---|---|
| BLE | ~ 10 m | 1 Mbps | 月-年 | ウェアラブル、 ビーコン |
| Wi-Fi | ~ 100 m | 数百 Mbps | 時間-日 | スマートホーム、 カメラ |
| Zigbee | ~ 100 m | 250 kbps | 年 | スマートホーム自動化 |
| LoRaWAN | 数 km - 15 km | ~50 kbps | 10 年 | 農業、 環境センサー |
| NB-IoT / LTE-M | セルラー全国 | ~100 kbps | 数年 | スマートメータ、 物流 |
| 5G | セルラー全国 | 数 Gbps | 時間-日 | 映像、 自動運転、 産業 4.0 |
| 年 | 出来事 | 技術的意義 |
|---|---|---|
| 1982 | CMU のコーラ自販機がネット接続 | 「世界初の IoT デバイス」とされる先駆け |
| 1999 | Kevin Ashton が「Internet of Things」命名 | P&G で RFID 在庫管理プレゼン中に造語 |
| 2008 | Things > Population (Cisco 推計) | ネット接続デバイスが人口を超過 |
| 2010 | MQTT v3.1 公開 (IBM & Eurotech) | 軽量 Pub/Sub の事実標準 |
| 2014 | Apple HomeKit / Google Nest | 家庭 IoT が大衆化 |
| 2016 | Mirai ボットネット事件 | IoT セキュリティ問題が顕在化 |
| 2019 | 5G 商用開始 | URLLC / mMTC で IoT 通信が一変 |
| 2020-2024 | エッジ AI 普及 (TFLite, Coral, Jetson) | クラウド集中型からハイブリッドへ |
| 2025- | Matter 1.x / Thread / 5G RedCap | 互換性の壁を破壊する標準群 |
市場規模(IDC 2024 予測): 世界の IoT 接続数は 2030 年で 400 億台、 市場規模は 1.6 兆ドル。 1 人当たり 5 台が接続される計算。
🍰 まずはやさしく
IoTを設計するための計算式です。
データの量や電池の寿命を調べます。
デバイスがどれだけ動くか計算します。
設計に使う4つの式について読みます。
IoT 単独に「これが IoT の数式」というものはありませんが、 設計時に 必ず登場する 4 つの式 があります。
IoT システムは伝統的に「デバイス層 → エッジ層 → ゲートウェイ層 → クラウド層 → アプリ層」の 5 階層で設計します。 各層でデータが 集約・圧縮・変換 されるため、 流れるトラフィック量は層を経るごとに減ります。 これを数式で表すと:
$$T_k = T_{k-1} \cdot \rho_k \cdot \alpha_k$$ここで \(T_k\) は層 \(k\) のトラフィック量(bps)、 \(\rho_k\) は集約率(aggregation ratio, 0<\(\rho\)<1)、 \(\alpha_k\) は圧縮率(compression ratio, 0<\(\alpha\)<1)。 例えば 47 拠点 × 1Hz の生データを、 エッジで 1 分平均(\(\rho=1/60\))、 クラウド送信時に gzip 圧縮(\(\alpha=0.3\))にすると:
$$T_{\text{cloud}} = T_{\text{device}} \cdot \frac{1}{60} \cdot 0.3 \approx 0.005 \cdot T_{\text{device}}$$つまりクラウドに流れるトラフィックは デバイス生成量の 0.5%。 帯域・課金が 200 分の 1 になります。 これがエッジコンピューティングの本質的価値です。
設計時の鉄則は「クラウドに送る前に削れるものは全部削る」。 高頻度の生データはエッジに保管し、 異常値や日次集計のみクラウドに送る構成(lambda architecture, kappa architecture)が現代の主流です。
| 層 | 処理 | トラフィック | 対前段比 |
|---|---|---|---|
| デバイス層 | 1Hz raw データ | 3.76 kbps × 47 = 177 kbps | 基準 |
| エッジ層 | 1 分平均集約 | 2.95 kbps | ×1/60 |
| ゲートウェイ層 | MessagePack 化 | 1.18 kbps | ×0.4 |
| クラウド層 | 時間ウィンドウ集計 | 0.20 kbps | ×1/6 |
| アプリ層 | 最終可視化用 JSON | 0.08 kbps | ×0.4 |
177 kbps から 0.08 kbps へ、 約 2200 倍の削減 。 これがあるからこそ、 47 都道府県を超えて全国 1741 市町村に IoT センサーを設置しても破綻しない設計が可能になります。
IoT は「攻撃面が広い」のが宿命です。 47 都道府県 × 数千センサーが繋がるシステムでは、 攻撃者が 1 箇所でも突破すれば被害が全国規模に拡大します。 ここでは IoT セキュリティの 7 層を、 SSDSE 観測網に当てはめて整理します。
実務原則: 7 層のうち 1 層でも欠ける と全体が破綻します。 特に「ファームウェア更新」を後回しにすると、 数年後に未パッチの脆弱性が一斉に攻撃されるパターン(Mirai 型ボットネット)が現実に発生しました。
47 拠点規模の IoT を運用するとき、 クラウドプラットフォームの選択は 運用コスト・統合容易性・ベンダーロックイン の三軸で決まります。
| プラットフォーム | 特徴 | 向いている規模 | 月額目安(47 拠点 × 1Hz) |
|---|---|---|---|
| AWS IoT Core | MQTT + ルールエンジン + Greengrass エッジ | 数百〜数百万デバイス | 約 2,500 円 |
| Azure IoT Hub | Device Provisioning Service が便利 | 数千〜数百万デバイス | 約 3,200 円 |
| GCP IoT Core(終了済) | 2023 年に EOL、 後継は Pub/Sub 直接 | ─ | ─ |
| Mosquitto + 自前 VPS | OSS、 完全カスタマイズ | 数十〜数千デバイス | 約 1,500 円(VPS 1 台) |
| EMQX(OSS / クラウド) | 大規模 MQTT に特化、 国内事例多数 | 数千〜数百万デバイス | 約 2,000 円 |
選び方の原則: (1)既に AWS / Azure を使っているなら 同じ生態系を選ぶ(IAM、 監視、 課金が統一)、 (2)47 拠点程度なら 自前 Mosquitto + 監視 でも十分(学習コストが高いだけ)、 (3)将来 10 万デバイスを見据えるなら最初から AWS IoT Core / EMQX を選ぶ。 GCP IoT Core は 2023 年で EOL になったため、 GCP 上で IoT を組むなら Pub/Sub 直接接続 + Cloud Run / Cloud Functions の構成になります。
上の 5 式に登場する記号と概念を、 IoT 設計の文脈で一つずつ言葉に翻訳します。
工場の振動センサー 100 台、 100 Hz サンプリング、 8 バイト/サンプル(float64)の見積もり。
| 時間スケール | 計算 | 結果 |
|---|---|---|
| 毎秒 | 100 × 100 × 8 | 80,000 byte ≈ 80 KB/s |
| 1 分 | 80 KB × 60 | 4.8 MB |
| 1 時間 | 80 KB × 3,600 | 288 MB |
| 1 日 | 288 MB × 24 | 約 6.91 GB/日 |
| 1 年 | 6.91 GB × 365 | 約 2.52 TB/年 |
これだけのデータをクラウドに送ると、 AWS S3 標準で月 $58 (egress 別)、 Snowflake などの DWH に入れて分析するとさらに数倍。 → エッジで FFT して特定周波数帯のピーク値だけ送る と 1,000-10,000 倍データ削減できる。
SSDSE-B-2026 の 2023 年データから、 仮想的に「47 都道府県 × 100 種類センサー、 1 分周期収集」を見積もる。
SSDSE のような 1 年に 1 行 × 47 県 × 112 列 ≒ 5,264 セル の静的データは、 リアルタイム IoT データから集計済みのスナップショットと理解できる。 実世界では毎分のセンサーログ → 1 時間集約 → 1 日集約 → 1 ヶ月集約 → 1 年集約 と段階的に粒度を落として保管する。
SSDSE-B-2026 の B4101 年平均気温 を全 47 都道府県分使って、 異常な平均気温の県があるか 3σ ルールで判定する。
沖縄県のみ 23.8 ℃ で 3σ をわずかに超える → 「異常」ではなく「特異点」。 多くの IoT 異常検知システムでは、 地理的に区分けする・季節分解する等の前処理で誤検知を減らす。
$C_{\text{battery}}$ = 2,000 mAh、 平均消費電流の各シナリオ:
| 設定 | 平均電流 | 寿命 |
|---|---|---|
| 常時送信 | 100 mA | 20 時間(1 日未満) |
| 10 秒に 1 回送信 | 1 mA | 2,000 時間 ≈ 83 日 |
| 1 時間に 1 回送信 | 0.05 mA | 40,000 時間 ≈ 4.5 年 |
| 1 日に 1 回送信 | 0.02 mA | 100,000 時間 ≈ 11.4 年 |
LoRaWAN 駆動の農業センサーが「10 年保証」と謳えるのは、 99.99% の時間スリープ + 1 日数回の送信という設計の結果。 連続データが欲しいユーザに「リアルタイム性」と「電池寿命」のトレードオフを必ず説明する必要がある。
ロス率 $p_{\text{loss}}$ ごとの QoS 1 期待送信回数:
| ロス率 | QoS 0 | QoS 1 | QoS 2 |
|---|---|---|---|
| 0.01 (1%) | 1.00 | 1.01 | 4 |
| 0.10 (10%) | 1.00 | 1.11 | 4 |
| 0.30 (30%) | 1.00 | 1.43 | 4 |
| 0.50 (50%) | 1.00 | 2.00 | 4 |
ロスが低い (~10% 以下) 環境では QoS 1 で十分。 LoRaWAN のような Long Range で 30-50% ロスする環境では、 QoS 1 でも 2 倍の通信量を覚悟する必要がある。
IoT は「センサーを置く」だけでは価値が生まれません。 取得 → 伝送 → 蓄積 → 分析 → 可視化 → 意思決定 という一連のパイプラインを設計し、 実データに紐付けて初めて意味を持ちます。 ここでは公的統計 SSDSE-B-2026(47 都道府県 × 約 100 指標)を「IoT で収集すべきデータ項目」に見立て、 47 拠点に温湿度センサーを設置するシナリオで設計を体得します。
このコードでやること: SSDSE-B-2026 の都道府県別総人口を「拠点規模」のメタデータとし、 各拠点に IoT 温湿度センサーを 1 台ずつ配置したと想定して、 サンプリング周波数・帯域・ストレージ容量を見積もる。
📥 入力データ(SSDSE-B-2026 抜粋):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) # IoT 拠点配置の前提 sampling_hz = 1 # 1 秒に 1 回 payload_bytes = 80 # MQTT メッセージ 1 件のサイズ seconds_day = 24 * 3600 n_sites = df[df['SSDSE-B-2026'] == 2023]['Prefecture'].nunique() # = 47 # 1 日あたりのメッセージ数とトラフィック量 msg_per_day = sampling_hz * seconds_day * n_sites bytes_per_day = msg_per_day * payload_bytes gb_per_day = bytes_per_day / 1024**3 gb_per_year = gb_per_day * 365 print(f'拠点数 : {n_sites:>10,d} 拠点') print(f'1 日のメッセージ数 : {msg_per_day:>10,d} 件') print(f'1 日のデータ量 : {gb_per_day:>10.3f} GB') print(f'1 年のデータ量 : {gb_per_year:>10.1f} GB') |
📤 実行すると次の出力が得られる:
💬 結果の読み方: 47 都道府県 × 1Hz サンプリングで年間 110GB。 一見小さいが、 これを 10 年保存すると 1TB を超え、 さらに高解像度センサー(10Hz, 1KB/msg)にすると 100 倍の 110TB/年。 IoT は「ペイロード × 頻度 × 拠点数 × 年数」の 4 軸の掛け算で爆発する ため、 設計時に必ず容量見積もりをしてからクラウドストレージ層を決めます。
合成データで MQTT メッセージ送信量と通信費を計算する。
| 項目 | 値 |
|---|---|
| デバイス数 | 10,000 |
| 送信頻度 | 1 回/分 |
| 1 メッセージ | 200 byte |
| 1 GB あたり料金 | 0.10 USD |
1 2 3 4 5 6 7 8 | devices = 10000 msgs_per_day = 1440 msg_b = 200 daily_gb = devices * msgs_per_day * msg_b / 1e9 monthly_gb = daily_gb * 30 cost = monthly_gb * 0.10 print(f"月間データ: {monthly_gb} GB") print(f"月額: {cost:.2f} USD") |
💬 手計算 (Step 2) 8.64 USD と Python 出力が完全一致。
IoT のデータ取得・分析・通信・異常検知・可視化を、 SSDSE-B-2026(47 都道府県・2023 年)を IoT センサーの集約データと読み替えて実装します。
🎯 このコードでやること:SSDSE-B-2026 の 47 都道府県の年平均気温を pandas で読み込み、 「異常な平均気温の県」を 3σ ルールで判定する。
📥 入力データ(SSDSE-B-2026 抜粋、 cp932 エンコード、 1 行目がコード行、 2 行目が日本語ラベル行):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # SSDSE-B-2026 を 47 サイト IoT センサーとして扱う import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df23 = df[df['SSDSE-B-2026'] == 2023].copy() df23['年平均気温'] = pd.to_numeric(df23['B4101'], errors='coerce') # 3σ ルールで異常な県を抽出 mu = df23['年平均気温'].mean() sigma = df23['年平均気温'].std() upper, lower = mu + 3 * sigma, mu - 3 * sigma df23['anomaly'] = (df23['年平均気温'] > upper) | (df23['年平均気温'] < lower) print(f'μ = {mu:.2f} ℃, σ = {sigma:.2f} ℃') print(f'3σ 範囲 = [{lower:.2f}, {upper:.2f}]') print(f'異常県数 = {df23["anomaly"].sum()}') print(df23.nlargest(3, '年平均気温')[['Prefecture', '年平均気温']]) print(df23.nsmallest(3, '年平均気温')[['Prefecture', '年平均気温']]) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:47 都道府県の年平均気温は μ=16.80℃, σ=2.05℃。 3σ 上限 22.95 ℃ を超えるのは 沖縄県 (23.8 ℃) のみ。 ただし「異常」というより地理的特異点。 IoT 実務では緯度・標高などの説明変数で残差化してから 3σ 判定するのが定石。
🎯 このコードでやること:paho-mqtt ライブラリを使い、 各都道府県のセンサーが MQTT Broker にデータをパブリッシュ → サーバが Subscribe して受信。 IoT 通信の最小例。
📥 入力データ: 上で読んだ df23 の各行を 1 つの IoT メッセージとして送る。 各メッセージ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # paho-mqtt で擬似 IoT 通信(Pub/Sub) import json import paho.mqtt.client as mqtt import pandas as pd BROKER = 'test.mosquitto.org' # 公開テスト Broker df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[df['SSDSE-B-2026'] == 2023] # Subscriber: 受信したメッセージを表示 def on_message(client, userdata, msg): data = json.loads(msg.payload) print(f'[受信] {msg.topic} → temp={data["temp"]}℃') sub = mqtt.Client(client_id='listener-01') sub.on_message = on_message sub.connect(BROKER, 1883, 60) sub.subscribe('sensor/temp/+', qos=1) # 全県を購読 sub.loop_start() # Publisher: 47 県分のデータを送信 pub = mqtt.Client(client_id='sensor-gw') pub.connect(BROKER, 1883, 60) for _, row in df.iterrows(): topic = f'sensor/temp/{row["Prefecture"]}' payload = json.dumps({'prefecture': row['Prefecture'], 'temp': float(row['B4101'])}) pub.publish(topic, payload, qos=1) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:MQTT は Topic ベースの Pub/Sub。 ワイルドカード sensor/temp/+ で「47 県すべての温度」を一度に購読できる。 publisher と subscriber は 互いを知らない(Broker 経由の疎結合)— これが IoT スケールアウトの基礎。
🎯 このコードでやること:時系列センサーデータを 1 分単位で集約し、 過去 60 分の移動平均 ±3σ から外れた点を異常としてマーク。 産業 IoT で最頻出のパターン。
📥 入力データ: SSDSE の年データを 12 ヶ月に展開(簡易化)。 timestamp + value 形式のセンサーログを想定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # SSDSE の月別気温(最高/最低)から疑似時系列を作る import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[(df['SSDSE-B-2026'] == 2023) & (df['Prefecture'] == '北海道')] hi, lo = float(df['B4102'].iloc[0]), float(df['B4103'].iloc[0]) # 月別気温を線形補間で時間軸に展開 idx = pd.date_range('2023-01-01', '2023-12-31', freq='D') temp = pd.Series( [(lo + hi) / 2 + (hi - lo) / 2 * __import__('math').sin((d.dayofyear - 200) * 2 * 3.14159 / 365) for d in idx], index=idx, name='temp') # 30 日窓の移動平均と 3σ 異常検知 rm = temp.rolling(30).mean() rs = temp.rolling(30).std() anomaly = (temp - rm).abs() > 3 * rs print(f'期間 = {idx[0].date()}..{idx[-1].date()} 異常日数 = {anomaly.sum()} 最高 = {temp.max():.1f}℃ 最低 = {temp.min():.1f}℃') |
📤 実行すると次の出力が得られる:
💬 結果の読み方:北海道の最高 30.9 ℃ (8 月)、 最低 -7.4 ℃ (1 月) は SSDSE 実値そのまま。 季節周期があるため 30 日窓 + 3σ では「異常」と判定されない。 実際の IoT 異常検知では、 季節分解 (STL) してから残差に対して 3σ を適用するか、 Isolation Forest など機械学習を使うのが定石。
🎯 このコードでやること:センサーが 1 秒毎に温度を取るが、 エッジゲートウェイで 1 分平均にしてからクラウドに送る場合の 通信量削減効果 を計算。
📥 入力データ: SSDSE-B-2026 から都道府県数を取得(47)。 仮想的に 1 秒間隔のセンサー値を生成(実値は SSDSE 月別気温に従う)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # エッジ集約による通信量削減効果 import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) n_pref = df[df['SSDSE-B-2026'] == 2023]['Prefecture'].nunique() payload, T = 60, 86400 # byte, 秒 # 戦略 A: クラウドに全部送る (1 秒毎) cloud_only = n_pref * payload * T # byte/day # 戦略 B: エッジで 1 分平均 → クラウドに送る edge_avg = n_pref * payload * (T // 60) # 戦略 C: 3σ 超過時のみ送る (異常率 1% と仮定) edge_anom = n_pref * payload * int(T * 0.01) print(f'[A] 全送信 = {cloud_only/1024/1024:8.2f} MiB/日 (47県×60B×86400s)') print(f'[B] エッジ 1 分平均 = {edge_avg/1024/1024:8.2f} MiB/日 (60 倍削減)') print(f'[C] エッジ異常時のみ= {edge_anom/1024/1024:8.2f} MiB/日 (100 倍削減)') print(f'年間コスト差 (egress $0.09/GB) ≈ ${(cloud_only-edge_avg)*365/1024**3*0.09:.2f}') |
📤 実行すると次の出力が得られる:
💬 結果の読み方:1 秒毎の生データは 232 MiB/日 も発生。 エッジで 1 分平均すれば 3.87 MiB/日 と 60 倍削減。 47 県程度ではコスト差は年 $7 と僅少だが、 これが 10 万デバイスになると年 $15,600 に。 設計時から「何を集約するか」を決めるのが IoT の鉄則。
🎯 このコードでやること:SSDSE の総人口 A1101 で 47 都道府県を 「大都市・中都市・小都市」 3 クラスタに分け、 IoT の配信頻度を変える戦略を立てる。
📥 入力データ: A1101(総人口)を 200 万以上 / 100-200 万 / 100 万未満で 3 分割。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 47 県の都市規模で IoT 配信頻度を分ける import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[df['SSDSE-B-2026'] == 2023].copy() df['総人口'] = pd.to_numeric(df['A1101'], errors='coerce') def tier(p): return '大都市' if p >= 2000000 else ('中都市' if p >= 1000000 else '小都市') df['tier'] = df['総人口'].apply(tier) df['sampling_sec'] = df['tier'].map({'大都市': 10, '中都市': 60, '小都市': 300}) summary = df.groupby('tier').agg(n_pref=('Prefecture', 'count'), avg_pop=('総人口', 'mean'), sampling=('sampling_sec', 'first')) print(summary) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:人口 200 万以上の 大都市 16 県は 10 秒毎、 100-200 万の 中都市 21 県は 60 秒毎、 100 万未満の 小都市 10 県は 5 分毎 という配信戦略。 大都市はトラフィック・需要が高いので解像度を上げる代わりに、 過疎地は通信コストを節約。 IoT の現場でよく使われる適応サンプリングの基本パターン。
🎯 このコードでやること:SSDSE の各県データを InfluxDB Line Protocol(時系列 DB の標準入力形式)に整形し、 ファイルに書き出す。 influx write -f でそのままインポート可能。
📥 入力データ: SSDSE-B-2026 の 2023 年 47 県データ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # SSDSE → InfluxDB Line Protocol import pandas as pd df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) df = df[df['SSDSE-B-2026'] == 2023].copy() # 2023-01-01 00:00:00 UTC を ns で表す ts_ns = 1672531200000000000 lines = [] for _, row in df.iterrows(): pref = row['Prefecture'] lines.append(f'weather,pref={pref},code={row["Code"]} temp={float(row["B4101"])},hi={float(row["B4102"])},lo={float(row["B4103"])} {ts_ns}') open('weather_2023.lp', 'w').write('\n'.join(lines)) print(f'書き出し完了: {len(lines)} 行') print(lines[0]) |
📤 実行すると次の出力が得られる:
💬 結果の読み方:weather という measurement に、 県名・地域コードを tag(インデックス対象)、 温度・最高・最低を field(時系列値)として記録。 InfluxDB / TimescaleDB / VictoriaMetrics などの時系列 DB はこの形式を消費して、 Grafana で可視化される。
| 概念 | 主体 | 焦点 | 代表規格 |
|---|---|---|---|
| IoT | モノ全般 | 接続・データ収集・遠隔操作 | MQTT, CoAP, Matter |
| IIoT (Industrial IoT) | 工場機械 | 予知保全・OEE | OPC UA, Modbus |
| M2M (Machine-to-Machine) | 機械同士 | 自動通信 (人間介在なし) | セルラー (SMS, GSM) |
| CPS (Cyber-Physical System) | 物理 + 計算 | フィードバック制御 | 学術用語 |
| エッジコンピューティング | 計算位置 | 低遅延・帯域節約 | AWS Greengrass |
| デジタルツイン | 仮想モデル | シミュレーション | Azure Digital Twins |
| 5G mMTC | セルラー通信 | 大量デバイス接続 | 3GPP Rel-15+ |
IoT は最も広い概念。 IIoT は産業特化、 CPS は学術寄り、 M2M は IoT の前身的位置付け、 デジタルツインは IoT の応用層。
test.mosquitto.org を使い、 上記コード ② を 2 つのターミナルで起動。 一方が Publisher、 もう一方が Subscriber として、 メッセージが届くことを確認。次のうち、 IoT の典型的なユースケースとして最も適切でないものを 1 つ選べ。
答え: ③(オンライン講義は「リアルタイム配信」であり、 物理デバイスの常時接続・データ収集・遠隔制御を中心とする IoT とは目的が異なる)
100 台のセンサーがそれぞれ 1 秒毎に 50 byte のデータを送る場合、 1 日(86,400 秒)のデータ量はおよそ何 MB か。
答え: 約 412 MB(100 × 50 × 86,400 = 432,000,000 byte ≒ 412 MiB)
エッジコンピューティングを採用する主な目的を 2 つ挙げよ。
答え: (1) 通信遅延(レイテンシ)の削減、 (2) クラウドへの通信量・コストの削減。 副次的に「ネット途絶時もローカル動作」「プライバシー保護」もある。
device_id が連番だと、 47 拠点を超えると衝突。 SSDSE の地域コード R\d{5} + MAC アドレスの組み合わせで一意性を保証します。{"timestamp":"2026-01-01T12:00:00","value":23.5} のような JSON は冗長。 MessagePack / CBOR / Protocol Buffers で 40-60% 削減可能。IoT は 「センサー × 通信 × クラウド × 分析」 の総合格闘技です。 SSDSE-B-2026 の 47 都道府県を題材にすると、 拠点数・トラフィック量・ストレージ容量・電源制約のすべてが具体的にイメージできます。 重要なのは 「すべてをクラウドに送る」のではなく、 エッジで集約・絞り込みをしてから送る 設計です。
本ページのプロトコル比較、 5 層モデル、 セキュリティ 7 層、 クラウドプラットフォーム比較、 落とし穴 10 個を傍らに置いて、 実際の IoT プロジェクトを設計してみてください。 センサーデータ、 エッジコンピューティング、 クラウドサービス も合わせて学ぶと、 IoT エンジニアリングの全体像が掴めます。
このページで身についた力: (1)IoT パイプライン 5 層モデル、 (2)SSDSE 47 拠点の容量見積もり、 (3)プロトコル 6 種(MQTT/CoAP/HTTP/LoRaWAN/NB-IoT/BLE)の選定基準、 (4)アーキテクチャトラフィック設計の数式 \(T_k = T_{k-1}\rho_k\alpha_k\)、 (5)セキュリティ 7 層、 (6)クラウドプラットフォーム比較、 (7)落とし穴 10 個。 これらを順に身に付けることで、 「本番運用に耐える IoT システム」を設計できるようになります。
IoT で集めたデータは、 可視化して初めて価値が見えます。 ここでは SSDSE-B-2026 の都道府県データに「47 拠点に設置した気温センサーの 1 日平均値」を重ねた想定で、 散布図・ヒストグラム・箱ひげ図の 3 種類を提示し、 それぞれの読み方を解説します。

読み方: 横軸が SSDSE-B-2026 の都道府県別総人口(A1101)、 縦軸が経済規模を表す代表変数(例: 県別の消費支出 L3221)。 IoT 文脈では「拠点規模(人口)」と「観測対象(経済活動)」の相関を見るための基本図です。 右上がりの強い直線傾向 → センサー数(拠点規模)とトラフィック量は概ね線形で増えるため、 47 拠点設計はそのまま 470 拠点でも同じ比率で見積もれる。 ただし東京(極端な右上)のような外れ値は 単独のスケーリング戦略(専用 broker 等)が必要。

読み方: 47 都道府県の総人口分布は 強い右裾の長い分布(ロングテール)。 大多数の県は 100-300 万人だが、 東京・神奈川・大阪のような巨大県が右側に飛び出しています。 IoT 設計においてこの偏りは「Pareto 80/20 ルール」と読み替えられ、 少数の拠点が全トラフィックの大半を占める ため、 ロードバランサーと水平スケーリングが必須になります。 全拠点同一サイズを前提にすると東京拠点で詰まります。

読み方: 地域ブロック(北海道・東北・関東・中部・近畿・中国・四国・九州沖縄)ごとに人口分布を箱ひげ図化。 関東ブロックの中央値とばらつきが他の地域より圧倒的に大きいことが一目瞭然。 IoT で 47 拠点をクラウドに繋ぐ際、 地域別に MQTT broker を分散配置(regional sharding)して、 関東に余裕を持たせ、 他地域はリソースを節約する設計指針が、 この箱ひげ図から直接導けます。
3 種の図を組み合わせると、 個別拠点(散布図)→ 全体分布(ヒストグラム)→ グループ別ばらつき(箱ひげ図) という多段階の俯瞰が可能。 これが IoT データ可視化の基本パターンです。
「全部クラウドで処理」する素朴な IoT アーキテクチャは、 拠点数が 47 を超えた途端に レイテンシ・帯域・コスト の三重苦に陥ります。 ここでは現場で実際に効くエッジコンピューティングのパターンを 5 つ紹介します。
このコードでやること: 47 拠点の温度センサー値を 1 秒ごとに生成し、 エッジで「1 分平均 + 異常検知」を行い、 異常時のみクラウドに送る簡易シミュレータ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | import pandas as pd from collections import deque df = pd.read_csv('data/raw/SSDSE-B-2026.csv', encoding='cp932', skiprows=[1]) prefs = df[df['SSDSE-B-2026'] == 2023]['Prefecture'].tolist() # エッジ側の状態:1 分間のリングバッファ buffers = {p: deque(maxlen=60) for p in prefs} THRESHOLD = 35.0 # 35度を超えたら異常 def edge_process(pref, value): buf = buffers[pref] buf.append(value) if len(buf) < 60: return None # まだ集約しない mean = sum(buf) / len(buf) is_anomaly = mean > THRESHOLD buf.clear() return {'pref': pref, 'mean_temp': round(mean, 2), 'anomaly': is_anomaly} # 5 拠点だけテスト sample_data = [ ('北海道', 18.5), ('東京都', 32.4), ('沖縄県', 36.8), ('大阪府', 31.0), ('福岡県', 29.5) ] * 60 # 1 分ぶん sent_to_cloud = 0 for pref, value in sample_data: result = edge_process(pref, value) if result and result['anomaly']: print('[CLOUD ALERT]', result) sent_to_cloud += 1 elif result: # 通常時は集約値のみエッジに保存(クラウドには送らない) pass print(f'\nクラウドへ送信: {sent_to_cloud} 件 / 入力 {len(sample_data)} 件 = {sent_to_cloud/len(sample_data)*100:.2f}%') |
📤 実行すると次の出力が得られる:
💬 結果の読み方: 300 件の生データのうち、 クラウドに送られたのは 沖縄県の異常値 1 件のみ(0.33%)。 残り 99.67% はエッジ内で処理が完結。 これがエッジコンピューティングの真価です。 47 拠点を 4700 拠点にスケールしても、 クラウド側の負荷は数十倍にしかなりません。
IoT を「PoC で終わらせない」ために、 本番運用前に確認すべき 47 項目を列挙します。 SSDSE 規模(47 都道府県 = 47 拠点)の運用にそのまま使えます。
| # | カテゴリ | 確認項目 |
|---|---|---|
| 1 | デバイス | device_id が一意で衝突しないか |
| 2 | デバイス | NTP 時刻同期が全台で有効か |
| 3 | デバイス | secure boot が有効でデバッグポートが無効化されているか |
| 4 | デバイス | 電源喪失時の自動復旧手順があるか |
| 5 | デバイス | タンパー検知(物理開封検知)が実装されているか |
| 6 | 通信 | MQTT over TLS で暗号化されているか |
| 7 | 通信 | クライアント証明書による相互認証か |
| 8 | 通信 | QoS レベルが業務要件に合っているか |
| 9 | 通信 | 再接続時のジッタが入っているか(雷鳴問題対策) |
| 10 | 通信 | ペイロードフォーマット(JSON/MessagePack/Protobuf)が決まっているか |
| 11 | エッジ | エッジでの集約ロジックがテストされているか |
| 12 | エッジ | ネット断時のローカルバッファ容量が十分か |
| 13 | エッジ | 復旧時の再送ロジックが指数バックオフか |
| 14 | エッジ | 異常検知の閾値が業務担当者と合意されているか |
| 15 | エッジ | ローカル UI(LED, ブザー, LCD)で状態が確認できるか |
| 16 | クラウド | broker の水平スケール戦略が決まっているか |
| 17 | クラウド | 時系列 DB(InfluxDB, TimescaleDB 等)の保存期間ポリシーがあるか |
| 18 | クラウド | 古いデータの自動アーカイブ(S3, GCS)が設定されているか |
| 19 | クラウド | RTO/RPO が定義されているか |
| 20 | クラウド | マルチリージョン or マルチ AZ 構成か |
| 21 | 監視 | 死活監視(heartbeat)が 1 分間隔で動いているか |
| 22 | 監視 | 異常時 Slack/メール通知が即時届くか |
| 23 | 監視 | 日次の異常リポートが自動生成されるか |
| 24 | 監視 | ダッシュボード(Grafana 等)が業務担当者でも見られる UX か |
| 25 | 監視 | SLO/SLA が定義されているか |
| 26 | セキュリティ | 脆弱性スキャン(CVE)が月次で実施されているか |
| 27 | セキュリティ | ペネトレーションテストの実施計画があるか |
| 28 | セキュリティ | 秘密鍵の保管場所(HSM, SSM, Vault)が明確か |
| 29 | セキュリティ | アクセスログが SIEM に統合されているか |
| 30 | セキュリティ | インシデント対応プレイブックがあるか |
| 31 | 更新 | OTA ファームウェア更新の仕組みがあるか |
| 32 | 更新 | 更新失敗時のロールバック機構があるか |
| 33 | 更新 | 段階的ロールアウト(canary deployment)が可能か |
| 34 | 更新 | ファームウェア署名検証が実装されているか |
| 35 | 更新 | 更新スケジュールが業務時間外に設定されているか |
| 36 | データ | スキーマバージョン管理がされているか |
| 37 | データ | 不正値・欠損値のクレンジングルールがあるか |
| 38 | データ | 個人情報の匿名化が実装されているか |
| 39 | データ | GDPR / 個人情報保護法に準拠しているか |
| 40 | データ | データ消去要求への対応プロセスがあるか |
| 41 | 運用 | オンコール体制が組まれているか |
| 42 | 運用 | ルーンブック・手順書が最新か |
| 43 | 運用 | ポストモーテム(事後検証)の文化があるか |
| 44 | 運用 | カオスエンジニアリング演習が実施されているか |
| 45 | 運用 | SLI(指標)の定期レビュー会議があるか |
| 46 | コスト | クラウド利用料の月次レビューがあるか |
| 47 | コスト | 予算超過時のアラート(Budget Alert)が設定されているか |
47 項目すべてが Yes になって初めて、 IoT システムは「本番運用可能」と判定できます。 PoC 段階では 10-15 項目しかクリアできていないことが大半。 本番昇格までに 6-12 ヶ月 はかかるのが現実です。
「IoT(モノのインターネット)」という言葉は、 1999 年に Kevin Ashton 氏が MIT Auto-ID Center で提唱したのが起源と言われています。 当初は RFID タグ による物流追跡が中心でしたが、 25 年の進化を経て今や産業全体の中核技術となりました。 この歴史的流れを押さえることで、 「次に何が来るか」が見えるようになります。
| 時期 | 主要技術 | 代表的な応用 | この時期の特徴 |
|---|---|---|---|
| 1999-2005 | RFID、 バーコード | 物流追跡、 在庫管理 | 「モノに ID を付ける」が中心、 ネット接続は前提ではなかった |
| 2005-2010 | 3G、 スマートフォン | M2M(machine-to-machine)通信 | 無線通信のコストが下がり、 機械同士が話し始める |
| 2010-2015 | クラウド、 MQTT、 Raspberry Pi | スマートホーム、 ウェアラブル | DIY IoT が爆発、 消費者向けの「モノ × ネット」時代 |
| 2015-2020 | エッジコンピューティング、 LPWA | スマートシティ、 産業 IoT(IIoT) | 「すべてクラウド」から「エッジで処理」への揺り戻し |
| 2020-2025 | 5G、 デジタルツイン、 AI on edge | スマートファクトリー、 自動運転 | 物理世界とサイバー世界の写像(CPS)が現実的に |
| 2025-(現在) | 連合学習、 LLM on edge、 量子センサ | プライバシ保護 IoT、 環境 IoT、 健康 IoT | 「データを送らない IoT」「説明可能な IoT」が主流に |
歴史から見えること: IoT の進化は 「データを集める → 効率的に集める → 集めずに学習する」 という流れで進んでいます。 SSDSE のような公的統計データも、 将来は「47 都道府県のセンサーから連合学習で全国モデルを構築し、 個別データは外に出さない」形に変わるでしょう。
| 階層 | 上位 / 隣接概念 | 下位 / 構成要素 | 代表的な役割 |
|---|---|---|---|
| ビジョン | DX (デジタル変革)、 Industry 4.0、 Society 5.0 | IoT、 AI、 BigData、 Cloud、 5G、 Robot | 社会・産業の構造変革 |
| プラットフォーム | AWS / Azure / GCP / Alibaba Cloud | IoT Core、 Greengrass、 IoT Hub、 IoT Edge | 統合管理基盤 |
| プロトコル | 通信全般 | MQTT、 CoAP、 HTTP/2、 WebSocket、 AMQP | メッセージ転送 |
| 物理層 | 無線・有線 | Wi-Fi、 BLE、 LoRa、 NB-IoT、 5G、 Ethernet | 電波・電気信号 |
| デバイス | エンドポイント | Raspberry Pi、 ESP32、 Arduino、 M5Stack | センサー・アクチュエータ |
| セキュリティ | 情報セキュリティ | TLS、 X.509、 Mutual TLS、 OAuth、 OTA | 秘匿性・完全性・認証 |
| データ処理 | ビッグデータ・MLOps | Kafka、 Spark、 Flink、 InfluxDB、 Grafana | 蓄積・分析・可視化 |
1998 年スタートのコマツ「KOMTRAX」は、 世界中の建機 (約 80 万台) から GPS 位置・稼働時間・燃料残量・故障コード を送信。 結果として:
→ IoT の元祖。 「ハード売り切り」→「サブスクリプション」への産業構造転換のモデルケース。
2018 年から全新車に通信機 (DCM) 標準搭載。 走行データを 毎月数 PB 蓄積し、 渋滞情報・保険テレマティクス・自動運転データに活用。 トヨタは「自動車会社からモビリティカンパニーへ」と再定義。
GE は 2015 年「Industrial Internet」を旗印に、 IoT プラットフォーム「Predix」に $1B 投資。 しかし AWS / Azure と競合できず、 2018 年に事業縮小・2020 年に売却。 教訓:製造業がクラウドプラットフォームを自社開発する難しさ。
2015 年〜現在、 デフォルト設定のままの IP カメラから映像が垂れ流しになる事件多発。 Insecam というサイトは世界中の不正アクセス可能カメラを一覧化していた。 2024 年改正サイバーセキュリティ基本法は IoT 脆弱性報告を義務化。
水道管に音響センサーを設置し、 漏水を AI で検出する PoC。 早期発見で年間補修費 30% 削減。 SSDSE には水道費 (H1801, H2601) も含まれるため、 同様の分析を都道府県別に行うことが可能。
航空エンジンに数百のセンサーを取り付け、 飛行中のデータを地上に送信して摩耗を予測。 1 フライト当たり 1 TB のデータが発生するため、 エッジで集約・圧縮してから送るのが鉄則。
| データセット | 提供元 | 用途 |
|---|---|---|
| SSDSE-B-2026 (本書で使用) | 独立行政法人統計センター | 47 都道府県集約データ(環境・人口・経済) |
| AMeDAS 気象データ | 気象庁 | 日本全国の気象センサーの実 IoT データ (10 分毎) |
| e-Stat オープンデータ | 総務省統計局 | 人口・経済・労働・教育 |
| CASE バッテリー予測 | CALCE (UMD) | リチウムイオン電池の劣化センサーデータ |
| UCI HAR (Activity Recognition) | UCI | スマートフォン加速度センサーで人間行動認識 |
| NASA Turbofan | NASA Prognostics Center | 航空エンジン故障予知の標準ベンチマーク |
| CityPulse Smart City | Aarhus 大学 | スマートシティ用車両・大気質・天候 |
SSDSE は「集計済み」だが、 AMeDAS や CityPulse は「生センサー出力」に近い。 IoT 教材ではこれらを組み合わせると現実味が増す。
組み込みシステムは 「機器内部の制御」 を主目的とし、 必ずしもネット接続しない。 IoT は 「機器がネット経由で他と連携」 する点が本質。 全ての IoT は組み込みを含むが、 全ての組み込みが IoT ではない。
電池駆動・帯域節約・Pub/Sub なら MQTT。 REST API として既存の Web 基盤に統合したいなら HTTP。 リアルタイム双方向通信なら WebSocket。 制約デバイスで超低消費電力なら CoAP。 用途で使い分け。
用途次第。 異常検知・即応性要求が高い・通信量が多い → エッジ。 過去全データの長期分析・モデル再学習 → クラウド。 実務は ハイブリッド(エッジで集約 → クラウドで分析 → モデル更新 → エッジに配布)が主流。
5G の 3 つの特性:eMBB(高速大容量)・URLLC(超低遅延)・mMTC(大規模接続)。 IoT が恩恵を受けるのは mMTC で、 km² 当たり 100 万デバイス接続が可能。 自動運転は URLLC でミリ秒単位の応答を実現。
手法は (1) 仮名化(ユーザ ID をハッシュ化)、 (2) k-匿名性(同じ属性を持つ人を k 人以上にする)、 (3) 差分プライバシー(クエリ結果にノイズ付加)。 完全な匿名化は難しいため、 必要最小限のデータしか集めない 設計が最優先。
YES。 現代のデータの大半が センサー由来のストリーミングデータ。 SSDSE のような構造化スタティックデータの分析だけでは現場で通用しない。 最低限 pandas.resample、 移動平均、 異常検知(Isolation Forest, LSTM Autoencoder)、 時系列分解 (STL) を押さえる。
| 階層 | プロトコル | 役割 |
|---|---|---|
| アプリ | MQTT (3.1.1 / 5) | Pub/Sub、 軽量、 OASIS 標準 |
| アプリ | CoAP | REST ライクな超軽量プロトコル (RFC 7252) |
| アプリ | AMQP | 企業向けメッセージング (RabbitMQ) |
| アプリ | HTTP/2, HTTP/3 | REST API、 OAuth 認証 |
| アプリ | WebSocket | 双方向永続接続 |
| アプリ | OPC UA | 産業オートメーション標準 (IIoT) |
| アプリ | Modbus TCP | PLC との通信(古くからの定番) |
| アプリ | Matter | スマートホーム統一規格 (Apple/Google/Amazon) |
| トランスポート | TCP / TLS | 信頼通信 + 暗号化 |
| トランスポート | UDP / DTLS | 軽量・低遅延 + 暗号化 |
| ネットワーク | IPv4 / IPv6 / 6LoWPAN | パケットルーティング |
| 物理 (LPWAN) | LoRaWAN | 長距離・低消費電力 |
| 物理 (LPWAN) | Sigfox | 超低消費・小ペイロード (12 byte/msg) |
| 物理 (セルラー) | NB-IoT / LTE-M / 5G RedCap | 3GPP 標準 (キャリア網利用) |
| 物理 (PAN) | Bluetooth Low Energy | 短距離・低消費 (~10 m) |
| 物理 (Mesh) | Zigbee / Z-Wave | 家庭用メッシュネット |
| 物理 (Mesh) | Thread | IPv6 ネイティブの低電力 Mesh |
| 物理 | Wi-Fi 6/7 / Wi-Fi HaLow | 高速 / 長距離低消費 |
| 物理 (Wired) | Ethernet (10/100/1000) | 工場・サーバ室・固定機器 |
| 物理 (Wired) | RS-485 / CAN bus | 産業機器・車載 |
IoT は単なる技術ではなく、 「監視社会の前進」と「効率化の恩恵」のトレードオフ を社会に突き付ける。
「便利だから」で済まさず、 「誰がデータを所有し、 誰が判断し、 誰が責任を負うか」 を設計に組み込むことが、 これからの IoT 設計者の責務。
IoT (Internet of Things) とは、 物理デバイスにセンサーと通信機を組み込み、 「観測 → 通信 → 集約 → 分析 → 制御」 のループを自動化する技術スタックの総称。 1999 年の命名以来、 RFID → センサーネットワーク → クラウド連携 → エッジ AI と 25 年で全層が進化。 SSDSE-B-2026 のような集計済み公的データはその出力の一形態に過ぎず、 実務では 毎秒数万件のセンサーログ を処理するパイプライン設計が中心になる。
本ページで学んだ要点:(1) 5 階層アーキテクチャ、 (2) 通信プロトコル選択の 4 軸 (電池・距離・帯域・コスト)、 (3) データ流量の見積もり式、 (4) 3σ ルールによる異常検知、 (5) MQTT QoS の使い分け、 (6) エッジ vs クラウドのトレードオフ、 (7) Mirai / NASA Mars Orbiter / GE Predix などの実事例から学ぶ落とし穴。 これらを使えば、 IoT プロジェクトの企画から運用まで、 データサイエンティストとして主導できる。
IoT (Internet of Things) はセンサー・通信・データ処理・解析を統合したエコシステム。 個別技術を組み合わせて初めて「モノのインターネット」が機能する。
IoT は「センサー設置 → 通信 → クラウド集約 → 解析 → 制御フィードバック」の一気通貫が肝。 どこか 1 つの工程が弱いと全体が機能しない。 セキュリティは特に弱点になりやすく、 過去に大量の IoT デバイスが Mirai ボットネットに乗っ取られた事例がある。
IoT 通信プロトコルを、 デバイス制約と利用シーンで 3 段階で判定する。
初心者は Raspberry Pi + DHT22 (温湿度センサー) + MQTT (Mosquitto broker) で始めるのが定番。 数千円で実機体験できる。