Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
バスあと何分ミニサイネージ
Search
Satoshi Gachi Fujimoto
January 20, 2023
Technology
1
99
バスあと何分ミニサイネージ
UXプロジェクト オープンデータソン2022のLT資料です
Satoshi Gachi Fujimoto
January 20, 2023
Tweet
Share
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
110
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
280
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
130
ガチマナ会 vol.1
satoshirobatofujimoto
0
230
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
240
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
170
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
420
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
210
OpenAI 新機能まとめ(Function callingとAdd your data編)
satoshirobatofujimoto
0
270
Other Decks in Technology
See All in Technology
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
110
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
モバイル界のMCPを考える
naoto33
0
350
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
220
Connect 100+を支える技術
kanyamaguc
0
150
論文紹介:LLMDet (CVPR2025 Highlight)
tattaka
0
240
AWS Organizations 新機能!マルチパーティ承認の紹介
yhana
1
220
AI専用のリンターを作る #yumemi_patch
bengo4com
3
1.9k
OPENLOGI Company Profile
hr01
0
67k
rubygem開発で鍛える設計力
joker1007
2
270
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
370
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
180
Featured
See All Featured
Music & Morning Musume
bryan
46
6.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
800
YesSQL, Process and Tooling at Scale
rocio
173
14k
GraphQLとの向き合い方2022年版
quramy
49
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
Making Projects Easy
brettharned
116
6.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Done Done
chrislema
184
16k
Transcript
2023/01/20 UXプロジェクト オープンデータソン2022 バスあと何分ミニサイネージ
⾃⼰紹介 藤本賢志(ふじもとさとし) ニックネーム︓がちもとさん Co-founder KumaMCN 株式会社ナレッジコミュニケーション R&D戦略チームマネージャー ⾼専で制御を、⼤学でセンシングを学び、次は脳みそ。 ARナビゲーションや電動⾞いすの⾃動運転に関する研究開発。 専⾨は、コンピュータビジョン、画像処理、制御⼯学。
Twitterフォローお願いします︕ 👉 @sotongshi
こんなことありませんか︖ 熊本市の渋滞箇所数・平均速度は全国ワースト1位💦 ⽬の前をバス が通り過ぎた しかも2台同時に 次のバスは 30分後 https://www.city.kumamoto.jp/common/UploadFileDsp.aspx?c_id=5&id=24672&sub_id=1&flid=174687
⾃分専⽤のちっちゃなミニサイネージを作りました • ⾃宅やオフィスに⾃分だけのサイネージが欲しい • 時刻や〇停前ではなく「あと何分」だけが知りたい • 2021年11⽉ごろにGTFSリアルタイムの公開 https://twitter.com/sotongshi/status/1471274080100040705
GTFS(General Transit Feed Specification)とは︖ • 標準的なバス情報フォーマット • バスきたくまさんで使⽤しているデータをオープンデータ化 • GTFS(静的)︓経路情報や便情報など(CSV形式)
• GTFSリアルタイム︓⾞両の移動状況に関する情報や⾞両の位置情報など(JSON形式) https://km.bus-vision.jp/kumamoto/view/opendataKuma.html 事業者情報 agency.txt 事業者追加情報 agency_jp.txt 運⾏区分情報 calendar.txt 運⾏⽇情報 calendar_dates.txt 運賃属性情報 fare_attributes.txt 運賃定義情報 fare_rules.txt 提供情報 feed_info.txt 営業所情報 office_jp.txt 経路情報 routes.txt 経路追加情報 routes_jp.txt 通過時刻情報 stop_times.txt 停留所・標柱情報 stops.txt 翻訳情報 translations.txt 便情報 trips.txt GTFS(静的) GTFSリアルタイム
システムの流れ 1. 運⾏前にGTFS(静的)からデータを更新 2. M5StackのSDカードにWiFi設定、乗⾞停留所と降⾞停留所を書き込んでおく 3. M5Stackを起動すると1分おきにAPIを叩き、「あと何分」の情報を取得 GTFS リアルタイム Lambda
S3 API Gateway EventBridge M5Stack GTFS(静的) Lambda 停留所 あと何分
M5Stack • ディスプレイ付きマイコン • WiFiに繋がる • 様々なセンサーやアクチュエータを取り付け可能 https://docs.m5stack.com/en/core/basic_v2.6 https://www.switch-science.com/products/7363
運⾏前にGTFS(静的)からデータを⾃動更新 • EventBridgeを⽤いて毎朝4:15~5:30の間に15分おきにLambda関数(update)を実⾏ • Lambda関数(update) 1. GTFS(静的)データを取得 2. 提供情報(feed_info.txt)のfeed_versionが更新されていたらS3に保存 •
停留所情報(stops.csv)→ バス停⼀覧(stop_names.csv)を作成 • 経路情報(routes.csv) • 便情報(trips.csv) • 通過時刻情報(stop_times.csv) • 運⾏区分情報(calendar.csv) • 運⾏⽇情報(calendar_dates.csv) 3. 更新したか/最新かを返す S3 EventBridge GTFS(静的) Lambda
「あと何分」の情報を返すAPI • Lambda関数(minutes) 1. 乗⾞停留所→降⾞停留所の時刻表を作成 • 停留所情報(stops)から⼀致するバス停名のstop_idを取得 • stop_idに対応する通過時刻情報(stop_times)を取得 •
trip_idに対応する便情報(trips)を取得 2. service_idと⼀致する運⾏区分(calendar)と運⾏⽇情報(calendar_dates)から運⾏状況を確認 3. GTFSリアルタイムのTrip_Updateからtrip_idとstop_idが⼀致する通過時刻を取得 4. 通過時刻から現在時刻を引いて「あと何分」のリストを返す GTFS リアルタイム Lambda S3 API Gateway
M5Stackを起動すると1分おきにAPIを叩き、「あと何分」の情報を取得 • 必要な情報だけを取得できるAPIを作っておけば、簡単に連携できる • ノーコードでプログラミング • ユーザーはWiFi、乗⾞停留所、降⾞停留所の情報をSDカードに書き込んでおくだけ • ボタンが3つあるので、ページの切り替えが可能
https://togetter.com/li/1817346
AR(拡張現実)バージョン • 熊本駅周辺を3Dスキャン • バーチャル空間にナビゲーションを設計 • リアルとバーチャルの位置合わせ、ナビ表⽰ • バス停にはバーチャルサイネージを表⽰ https://twitter.com/sotongshi/status/1492760083503398915
オープンデータを活⽤するために • データの標準化(使いやすいCSVやJSON)と公開 • データを使って、必要な情報を提供するAPIを作成 • APIを実⾏することで様々なアプリ間での連携 • ノーコードでプログラミングをはじめよう
ご清聴ありがとうございました