Upgrade to Pro — share decks privately, control downloads, hide ads and more …

IoTハンズオンの舞台裏

Avatar for Yuji Shirai Yuji Shirai
September 01, 2026

 IoTハンズオンの舞台裏

JAWS-UG IoT専門支部では、Raspberry Piを使ったAWS IoTハンズオンを全3回にわたって開催しました。

複数台の実機を使ったハンズオンを安定して届けるために、OSのベースイメージ作成、ネットワークやデバイスの設定、そしてそれらを支える人力対応と自動化をどのように設計したのか。実際に直面した想定外のトラブルも交えながら、その舞台裏を紹介します。

参加者が仕組みを理解し、実際に触って動かすことで「IoTって楽しいじゃん」と感じられる体験をつくるために、何を考え、どこまで作り込んだのかをお伝えします。

Avatar for Yuji Shirai

Yuji Shirai

September 01, 2026

More Decks by Yuji Shirai

Other Decks in Technology

Transcript

  1. #jawsug #jawssonic2026 自己紹介 Yuji Shirai - 普段: AWSクラウドインフラを担当 MUSUBiAiデモ機 -

    IoTとの関わり : AWS と連携して動く IoTデバイスを開発 好きな食べ物はラーメン 好きなスポーツは卓球。最近は筋トレ X: @sri_uz0102 スライド資料はこちら 1
  2. #jawsug #jawssonic2026 ハンズオンの目的 AWS を利用した IoTの最初の一歩を踏み出してもらうこと ユーザの声 AWSのIoTサービスを触ってみたい! ↓ でも……

    デバイスを持っていない この発表では デバイス → クラウドへの繋ぎ方がわからない どんなハンズオンを行ったのか ハンズオンを成り立たせるためにどんなことをしていたのか をシェアする 3
  3. #jawsug #jawssonic2026 全3回のハンズオン概略 前提:各参加者が使えるデバイス (Raspberry Pi)を運営側で用意して実施 ※参加者は最大 20名で定義 第1回 第2回

    2026/07 @ AWS 麻布台オフィス 2026/05 @ KINTOテクノロジーズ つなぐ Raspberry Pi ↓ MQTT AWS IoT Core 第3回 → 動かす AWS IoT Core ↓ Device Shadow Raspberry PiのLEDを操作 (Lチカ) 2026/08 @ クラスメソッドオフィス → 活用する Raspberry Pi ↓ IoT Rules CloudWatch, Lambda 第1回 第2回 第3回 5
  4. #jawsug #jawssonic2026 課題(再掲) ところで…… これを Raspberry Pi 20台 でやるには? ハンズオン参加者

    PC 20台・管理端末も含めると、収容するのは 40台超 しかも、ネットワーク環境は各ハンズオン会場で異なる 10
  5. #jawsug #jawssonic2026 舞台裏 ① Network:目標と要件 ⚡:施設の電源から給電 ⚡Raspberry Pi ×20 目標

    Raspiを起動したら、ハンズオンを始められる状態 \/ AP(YAMAHA WLX202) ↓ ネットワーク要件 • 収容台数: 40台超 SSHのため、RasPiと参加者PCは同一APへの接続が必要 • 施設ネットワークとの分離: 会場のネットワークに迷惑をかけない • インターネット接続: RasPiからAWSへの通信が必要 • 可搬性: 機材一式を会場に持ち込める構成 • 設置の容易性: 短時間で設営・撤収できること 参加者PC ×20 ↑⚡給電 PoEスイッチ ←⚡ ↓ 施設の電 源 ↓⚡給電 自作ルータ (OpenWrt) ↓ 施設NW ↓ Internet ↓ AWS 13
  6. #jawsug #jawssonic2026 舞台裏 ② Network:機材選定 PoEスイッチ: Netgear GS305EP Client ⚡

    ↓ ※PoE(Power over Ethernet): LANケーブル1本でデータ通信と電力供給 → AP(WLX202) → PoEスイッチ → 自作ルータ (OpenWrt) → 施設NW ・ 有線通信を集約し、PoE給電するスイッチ AP:YAMAHA WLX202 ・ 接続端末台数は、合計100台。PoE受電 会場風景 Routerの選定: Seeed Studio reTerminal + E10-1拡張ボードに OpenWrtをイ ンストール ・ reTerminal:Raspi 4相当のタッチスクリーン付き、Ethernet 1ポート ・ E10-1拡張ボード:Ethernetポート & PoE受電の拡張 ・ OpenWrt:デバイスをルーター化できるOSS。細かなネットワーク設定が可能 14
  7. #jawsug #jawssonic2026 舞台裏 ③ Network設定(OpenWrt) LAN側:ハンズオン専用 NW WAN側 施設ネットワークにつなぐ LAN側

    自分たち専用ネットワークを作る 参加者PC ×20 Raspberry Pi ×20 DHCP:IPを配布 \/ AP(WLX202) Raspberry PiたちへIPを配る DHCP Firewall LANからWANへ出られるようにする ・ハンズオン環境 → ハンズオン環境/Internetのみ許可 ・施設NW → ハンズオン環境へのアクセス は拒否 ↓ 自作ルータ (OpenWrt) Firewall NAT ↓ WAN側 IPをもらう 施設NW ↓ NAT 外部からの IPの見え方を変える ・インターネットからデバイスに戻ってくる時のIPの伝搬を可能にする Internet ↓ AWS 15
  8. #jawsug #jawssonic2026 舞台裏 ④ OS/デバイス:目標と要件 目標 20台のRaspberry Piを、すぐ使える状態で効率的に準備する セットアップ SDカードを挿す

    ↓ 要件 • Raspberry Pi 2 / 3を含む20台を半自動でセットアップできること • 各端末を一意に識別し、固定IP・ホスト名で安定して接続できること • SSH接続可能な状態を、再起動やSDカード差異に依存せず再現できること 電源ON ↓ スクリプト ↓ 完成 16
  9. #jawsug #jawssonic2026 舞台裏 ⑤ OS/デバイス:設定 ラズパイ側のセットアップ (起動時) 32bit / armv7l

    64bit / aarch64 ルータ側のアドレス管理 自作ルータ (OpenWrt) ↓ 2アーキテクチャそれぞれでセットアップ ↓ ↓ Raspiセットアップ時にスクリプトを実行 ↓ 起動時スクリプト Host名の割り当て ↓ expand-rootfs 有効化 容量の異なるSDカードにも配布できる avahi-daemon 設定 mDNSで.localを名前解決できるように 固定IPの割り当て ↓ Raspberry Pi ×20 ↓ • PC → jawsug-user@<host名>.local でSSH可能 • PC -> jawsug-user@<IPアドレス > どの会場でも、SSH & インターネットへ安定して接続 17
  10. #jawsug #jawssonic2026 舞台裏 ⑥ HandsOn実施プロセス 事前準備 会場確認 ネットワーク HandsOn内容 設計

    → デバイス準備 当日 会場準備 → デバイス発送 締め → ハンズオン実施 → デバイス返送 → → 完了 SDカード初期化 18
  11. #jawsug #jawssonic2026 ……と思ったら 参加者PC ×20 Raspberry Pi ×20 第3回、 一部通信が通らない。

    \/ AP(YAMAHA WLX202) • DNSとIPv6の取り扱いが問題だった可能性 ↓ PoEスイッチ • IoT専用ネットワークはIPv6を完全に無効化し ておくと嬉しいらしい?? ↓ 自作ルータ (OpenWrt) !? ↓ • これもまた、IoTならではの「想定外」 施設NW ↓ Internet ↓ ベストエフォートで対応していて、 - ハンズオンとして成り立たなくなったレベルではないこと AWS 20
  12. #jawsug #jawssonic2026 まとめ 目的:AWS を利用した IoTの最初の一歩を踏み出してもらうこと ユーザ向け:ハンズオンの内容 つなぐ → 動かす

    → 運営側:準備 活用する 全3回で、段階的にIoTのハードルを下げる トラブルもあったけど、一歩目を踏み出してもらうことができた。 21