Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
バスあと何分ミニサイネージ
Search
Satoshi Gachi Fujimoto
January 20, 2023
Technology
120
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
バスあと何分ミニサイネージ
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
70
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
150
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
340
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
190
ガチマナ会 vol.1
satoshirobatofujimoto
0
290
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
350
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
240
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
520
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
260
Other Decks in Technology
See All in Technology
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
2
670
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
100
OpenClawでAzure DevOpsのWiki更新を自動化する - クラウドAIだけでは届かない場所へ
yutakaosada
0
140
SDDの運用にめげずに向き合った話
sansantech
PRO
0
110
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
320
HacobuにおけるFDEとは/登壇資料(戸井田 裕貴)
hacobu
PRO
1
720
Execution in the Kingdom of Agents: Reflections on Abstraction and Complexity
bcantrill
0
760
形式手法を使って仕様をコーディングしよう
mikanichinose
0
170
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
240
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
170
個別開発で終わらせない。 現場の課題をプロダクトの強さに変える StockmarkのFDE
ktkrhr
0
550
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
240
Featured
See All Featured
Bash Introduction
62gerente
615
220k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
960
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
430
Optimising Largest Contentful Paint
csswizardry
37
4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Ethics towards AI in product and experience design
skipperchong
2
410
A better future with KSS
kneath
240
18k
Unsuck your backbone
ammeep
672
58k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
HDC tutorial
michielstock
2
940
Prompt Engineering for Job Search
mfonobong
0
470
How to make the Groovebox
asonas
2
2.5k
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を実⾏することで様々なアプリ間での連携 • ノーコードでプログラミングをはじめよう
ご清聴ありがとうございました