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
September 12, 2022
Technology
0
110
バスあと何分ミニサイネージ
M5Stack Japan Creativity Contest 2022の資料です
Satoshi Gachi Fujimoto
September 12, 2022
Tweet
Share
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
忘年会LT(2025)
satoshirobatofujimoto
0
34
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
130
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
300
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
150
ガチマナ会 vol.1
satoshirobatofujimoto
0
260
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
290
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
190
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
450
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
240
Other Decks in Technology
See All in Technology
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
1
1.3k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
200
AI: The stuff that nobody shows you
jnunemaker
PRO
1
150
国井さんにPurview の話を聞く会
sophiakunii
1
320
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
Redshift認可、アップデートでどう変わった?
handy
1
130
#22 CA × atmaCup 3rd 1st Place Solution
yumizu
1
120
Qiita Bash アドカレ LT #1
okaru
0
170
歴史から学ぶ、Goのメモリ管理基礎
logica0419
10
2k
Java 25に至る道
skrb
3
140
「リリースファースト」の実感を届けるには 〜停滞するチームに変化を起こすアプローチ〜 #RSGT2026
kintotechdev
0
540
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
120
Ethics towards AI in product and experience design
skipperchong
1
160
Site-Speed That Sticks
csswizardry
13
1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
590
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
72
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Building the Perfect Custom Keyboard
takai
2
670
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Transcript
きっかけ • 熊本の渋滞はワースト1位(箇所数・平均速度) • 5分おきにバスが来るような都会ではない(逆に2台同時に来ることがよくあるw) • だいたいバス停に近づくと目の前をバスが通り過ぎてしまう! • 自宅やオフィスにサイネージが欲しかった •
時刻や〇停前ではなく「あと何分」だけが知りたい • 去年11月ごろにGTFSリアルタイムに対応した(スクレイピングしていたものを変更)
システムの構成 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
ご家庭、オフィスに1台いかがでしょうか?