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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Satoshi Gachi Fujimoto
January 20, 2023
Technology
100
1
Share
バスあと何分ミニサイネージ
UXプロジェクト オープンデータソン2022のLT資料です
Satoshi Gachi Fujimoto
January 20, 2023
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
忘年会LT(2025)
satoshirobatofujimoto
0
50
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
140
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
320
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
160
ガチマナ会 vol.1
satoshirobatofujimoto
0
270
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
320
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
210
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
470
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
250
Other Decks in Technology
See All in Technology
ハーネスエンジニアリングをやりすぎた話 ~そのハーネスは解体された~
gotalab555
4
1.8k
#jawsugyokohama 100 LT11, "My AWS Journey 2011-2026 - kwntravel"
shinichirokawano
0
350
AI時代 に増える データ活用先
takahal
0
240
社内エンジニア勉強会の醍醐味と苦しみ/tamadev
nishiuma
0
220
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
120
No Types Needed, Just Callable Method Check
dak2
1
1.4k
AI와 협업하는 조직으로의 여정
arawn
0
470
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
120
ネットワーク運用を楽にするAWS DevOps Agent活用法!! / 20260421 Masaki Okuda
shift_evolve
PRO
2
210
音声言語モデル手法に関する発表の紹介
kzinmr
0
110
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
230
AI バイブコーティングでキーボード不要?!
samakada
0
580
Featured
See All Featured
HDC tutorial
michielstock
2
630
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
GitHub's CSS Performance
jonrohan
1032
470k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
170
Fireside Chat
paigeccino
42
3.9k
So, you think you're a good person
axbom
PRO
2
2k
Ruling the World: When Life Gets Gamed
codingconduct
0
210
The Limits of Empathy - UXLibs8
cassininazir
1
310
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
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を実⾏することで様々なアプリ間での連携 • ノーコードでプログラミングをはじめよう
ご清聴ありがとうございました