[レポート] 【C-1】 JAWS DAYS 2025 「JAWS FESTA 2024 「バスロケ」 GPS x サーバーレスの開発と運用の舞台裏」 #jawsdays2025 #jawsug #jawsdays2025_c #soracomug #soracom

[レポート] 【C-1】 JAWS DAYS 2025 「JAWS FESTA 2024 「バスロケ」 GPS x サーバーレスの開発と運用の舞台裏」 #jawsdays2025 #jawsug #jawsdays2025_c #soracomug #soracom

Clock Icon2025.03.01

データ事業本部の笠原です。

今回は、JAWS DAYS 2025で行われた下記セッションのレポートです。

【C-1】 JAWS FESTA 2024「バスロケ」GPS×サーバーレスの開発と運用の舞台裏

https://jawsdays2025.jaws-ug.jp/sessions/C-1

セッション概要

昨年の「JAWS FESTA 2024 in 広島」では、駅から会場を結ぶシャトルバスの位置がわかる「バスロケ」アプリをコミュニティの面々で開発・提供しました。
本セッションではGPSデバイスの準備や設置、サーバーレスで構築したロケーションアプリ、そしてバス事業者の皆さまとのコミュニケーションや当日の運用体制までと、「物理世界を相手にするサービス作りの舞台裏」を通じて、IoTの分散型開発のポイントや非機能要件だからこそ "作らずに創る"(作業せずに実現する)の実践方法を共有します。

登壇者

  • 松下 享平 さん
  • 木村 健一郎 さん
  • 尾崎 徳生 さん
  • 和田 健一郎 さん

セッション内容

JAWS FESTA 2024 in 広島で提供した「バスロケ」とは

  • 朝から会場を結ぶシャトルバスの位置情報をリアルタイムで提供するサービス
  • コミュニティの面々で開発・運用した
  • SORACOMのGPSマルチユニットを利用

要件定義

  • バス会社さんにご挨拶
    • お土産持っていった
    • とても友好的にお話できた
  • 「気にして欲しいこと」をいくつかいただいた
    • 乗客や運転手の迷惑にならないこと
    • バス会社さんへのクレームにならないこと
      • 「バスが休憩中やコースから外れた時の居場所を見せないで」
  • GPSデバイスを設置するのに車両工事は無しで
    • GPSマルチユニットで解決
  • バスの設置
    • 前日夕方に電源ONの状態で引き渡し
    • 手間簡略化のため、途中充電なしで運用
    • 「できるだけ外が見えるところにおいてね」とお願い
    • バスの一番前 => GPS的に最高の場所に設置されていた(感謝)
    • 直射日光気になるけど、うまく動いてほっとした
    • FESTA(酒まつり1日目)、酒まつり2日目で稼働
    • 2日目夕方にGPSマルチユニットを引き取り
    • もちろんお土産持参
  • チラシ
    • 前日に印刷屋に持ち込んで100枚カラー印刷、GPSマルチユニットと合わせて持ち込み、バス座席や運転席付近に貼ってもらった

全体アーキテクチャ

  • サーバーレス
    • 規模がわからない => 見積もりづらいので大きなトラヒックへの対抗策として
  • ファンアウト・パターン
    • 相互影響の無い、並行開発を可能に

Web

  • モバイルアクセスのみを想定したデザイン(地図埋め込み)
  • サイトはCloudFront + S3で公開
  • 地図表示周りはAmplify(Gen1) + React
  • Amazon Location Service利用
  • AWS謹製のAmazon Location Serviceワークショプハンズオンの流用
  • カスタマイズはいくつか
  • 流用なので、苦労はそんなになかった
  • やろうと思ってできなかったこと & 実はできたんじゃ?ことはいくつかある

位置情報表示調整

  • バス会社さんからの依頼「コースから外れたバスを表示しないで」
  • geo fencing ではなく、範囲外のデータをトラックしないが楽そう
  • IoT CoreのルールでLambda関数利用、これを使う
  • 動かすだけならコードは3行
  • CI/CDをちゃんとしたので、コード行は増えた

監視と運用

  • データが拾えない状況を監視
    • GPS受信できない、圏外、バッテリー切れ
  • IoT Eventsで状態監視、異常時はSQS、EventBridgeで
  • テストは限られた時間しかなかったので、圏外確認のみ
  • 当日の保守体制
    • 携帯で通知を待ちつつ、PCで時々IoT Eventsのマネコン確認
    • 何かあったらダッシュでデバイス予備機と交換
  • GPSマルチユニットが優秀すぎて、トラブル発生せず、出番なし

当日の状況

  • 2日間無事に動いた
  • サイトもGPSマルチユニットも無停止
  • アクセスもいい感じ
  • FESTA会場へ移動のバスでアクセスしてくれた
  • 酒まつり2日目も使ってくれた
  • バス会社への苦情・クレーム一切なし

まとめ

  • 対物理世界は人の力が重要
  • アクセス量や負荷が読めないときこそサーバーレス
  • GPSマルチユニット超優秀
  • デバイスは万一に備えて入念な準備を
    • 何を監視し、何を監視しないか大切
    • バッテリーも計算だけでなく実際にチェックした
    • 万一に備えて予備機も準備した

当日の通信量と費用

資料なしで口頭でお話し

  • 通信量280KB
    • soracom 0.8円
    • 回線費用が330円×10台=3,000円
  • AWS利用料
    • テスト含め 10USD
    • AWSクレジット使ったので0円でした
  • GPSマルチユニットの温度データも取っていた。
    • 30数度程度だったから問題なさそうだと思った

セッションの感想

昨年のJAWS FESTA 2024 in 広島の裏で、コミュニティ主導で支援していた裏側が知れました。とても面白かったです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.