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
March 05, 2022
Technology
0
2.2k
最寄りのバス停にバスがあと何分で着くかだけを表示するミニサイネージを作りました
公共交通オープンデータ最前線2022の登壇資料です
https://youtu.be/sAMgPqm86iA
Satoshi Gachi Fujimoto
March 05, 2022
Tweet
Share
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
31
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
160
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
66
ガチマナ会 vol.1
satoshirobatofujimoto
0
120
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
100
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
72
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
320
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
120
OpenAI 新機能まとめ(Function callingとAdd your data編)
satoshirobatofujimoto
0
190
Other Decks in Technology
See All in Technology
AWS IAMのアンチパターン/AWSが考える最低権限実現へのアプローチ概略(JAWS-UG朝会#59資料改修20分版)
htan
0
330
データ分析を支える技術 生成AI再入門
ishikawa_satoru
0
380
年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~
lycorptech_jp
PRO
3
2.9k
MySQLのロックの種類とその競合
yoku0825
6
1.6k
プレイドにおけるDatadog APMの活用方法
plaidtech
PRO
2
120
[NIKKEI Tech Talk]Bias for Action!! 実践から学ぶための仕組とコミュニティ / Community for Practice and Learning
kanamasa
0
270
AIエージェントを現場に導入する目線とは
masahiro_nishimi
1
1.5k
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
630
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
サービス開発を前に進めるために 新米リードエンジニアが 取り組んだこと / Steps Taken by a Novice Lead Engineer to Advance Service Development
nologyance
0
180
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Clear Off the Table
cherdarchuk
89
320k
Side Projects
sachag
451
42k
Mobile First: as difficult as doing things right
swwweet
219
8.8k
The World Runs on Bad Software
bkeepers
PRO
63
11k
A designer walks into a library…
pauljervisheath
201
24k
How GitHub (no longer) Works
holman
305
140k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Done Done
chrislema
179
15k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Transcript
2022/03/05 公共交通オープンデータ最前線2022 最寄りのバス停にバスが あと何分で着くかだけを表示する ミニサイネージを作りました
自己紹介 藤本賢志(ふじもとさとし) ニックネーム:がちもとさん Co-founder KumaMCN 株式会社ナレッジコミュニケーション R&D戦略チームマネージャー 高専で制御を、大学でセンシングを学び、次は脳みそ。 ARナビゲーションや電動車いすの自動運転に関する研究 開発をしています。
専門は、コンピュータビジョン、画像処理、ロボティクス、 制御工学、電気電子回路。 Twitterフォローお願いします! @sotongshi
最寄りのバス停にバスがあと何分で着くかだけを表示するものを作りました
きっかけ • 熊本の渋滞はワースト1位(箇所数・平均速度) • 5分おきにバスが来るような都会ではない(逆に2台同時に来ることがよくあるw) • だいたいバス停に近づくと目の前をバスが通り過ぎてしまう! • 自宅やオフィスにサイネージが欲しかった •
時刻や〇停前ではなく「あと何分」だけが知りたい • 去年11月ごろにGTFSリアルタイムに対応した(スクレイピングしていたものを変更) • 熊本のMaaSミライセミナーで太田さんと伊藤先生にお会いし、再度投稿したところバズ!
システムの構成 GTFS リアルタイム Lambda S3 API Gateway EventBridge M5Stack GTFS(静的)
Lambda バスきたがちもとさんAPI (AWS Cloud) バスきたがちもとさんミニ https://km.bus-vision.jp/kumamoto/view/opendataKuma.html
システムの流れ 1. 運行前にGTFS(静的)からデータを更新 2. M5StackのSDカードにWiFi設定、乗車停留所と降車停留所を書き込んでおく 3. M5Stackを起動すると1分おきにAPIを叩き、「あと何分」の情報を取得 GTFS リアルタイム Lambda
S3 API Gateway EventBridge M5Stack GTFS(静的) Lambda
運行前に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を叩き、「あと何分」の情報を取得 https://qiita.com/SatoshiGachiFujimoto/items/f529cb9fb513bd5eab0c M5StackのSDカードにWiFi設定、乗車停留所と降車停留所を書き込んでおく 1分おきに実行 https://qiita.com/SatoshiGachiFujimoto/items/1723685ba1beb51ca3c3
M5Stackを起動すると1分おきにAPIを叩き、「あと何分」の情報を取得 https://qiita.com/SatoshiGachiFujimoto/items/1723685ba1beb51ca3c3
どんな反応をもらえた? • Twitter(約7000いいね、約1600リツイート) • togetter(約14万PV) • ねとらぼ • Yahooニュース (コメント22件)
• exciteニュース • はてなブックマーク(コメント145件) https://twitter.com/sotongshi/status/1471274080100040705 https://togetter.com/li/1817346 https://nlab.itmedia.co.jp/nl/articles/2112/19/news034.html https://news.yahoo.co.jp/articles/5b90c08c2b5269a2358cbe4de0d66e5396a72a74 https://www.excite.co.jp/news/article/OtonaLife_otona_life97388/ https://b.hatena.ne.jp/entry/s/togetter.com/li/1817346
None
バスきたがちもとさんの販売(APIの提供やスマホ版サイネージ) https://buskitagachimotosan.azurewebsites.net/ Webアプリ版 iOS/Android版 ※やっぱりM5Stackで作ってほしい!という方はDMください
バスきたがちもとさんAR(Pretia × withARハッカソン) • 熊本駅周辺を3Dスキャンし、仮想空間にナビゲーションを設置 • 初期位置推定(リアルとバーチャルの位置合わせ)し、ARナビに沿って移動 • バス停にはあと何分ARサイネージを表示 https://twitter.com/sotongshi/status/1492760083503398915
オープンデータに関する勉強会やゆるハッカソンを開催 KumaMCN Discord
ご清聴ありがとうございました