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
49
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
140
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
320
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
160
ガチマナ会 vol.1
satoshirobatofujimoto
0
270
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
310
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
210
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
460
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
250
Other Decks in Technology
See All in Technology
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
350
【Oracle Cloud ウェビナー】データ主権はクラウドで守れるのか?NTTデータ様のOracle Alloyで実現するソブリン対応クラウドの最適解
oracle4engineer
PRO
3
130
FASTでAIエージェントを作りまくろう!
yukiogawa
4
190
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
900
不確実性と戦いながら見積もりを作成するプロセス/mitsumori-process
hirodragon112
1
180
MCPで決済に楽にする
mu7889yoon
0
170
ブラックボックス化したMLシステムのVertex AI移行 / mlops_community_62
visional_engineering_and_design
1
260
OCI技術資料 : ロード・バランサ 概要 - FLB・NLB共通
ocise
4
27k
Blue/Green Deployment を用いた PostgreSQL のメジャーバージョンアップ
kkato1
1
230
「活動」は激変する。「ベース」は変わらない ~ 4つの軸で捉える_AI時代ソフトウェア開発マネジメント
sentokun
0
140
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
180
MIX AUDIO EN BROADCAST
ralpherick
0
140
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
68
38k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Paper Plane
katiecoart
PRO
1
48k
Faster Mobile Websites
deanohume
310
31k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
The untapped power of vector embeddings
frankvandijk
2
1.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Evolving SEO for Evolving Search Engines
ryanjones
0
170
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を実⾏することで様々なアプリ間での連携 • ノーコードでプログラミングをはじめよう
ご清聴ありがとうございました