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 07, 2023
Technology
160
0
Share
インプット②ミニバスサイネージの紹介
公共交通オープンデータ × ミニサイネージ × 地域課題解決プチハッカソン
熊本産MaaSミニサイネージ活用勉強会
インプット②ミニバスサイネージの紹介の資料です
Satoshi Gachi Fujimoto
March 07, 2023
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
忘年会LT(2025)
satoshirobatofujimoto
0
60
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
140
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
330
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
170
ガチマナ会 vol.1
satoshirobatofujimoto
0
280
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
330
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
220
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
480
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
250
Other Decks in Technology
See All in Technology
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
160
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
43
44k
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
450
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
1
310
「嘘をつくテスト」の失敗例から学ぶ 良いテストコード #frontend_phpcon_do
asumikam
0
160
Unlocking the Apps
pimterry
0
190
個人最適 から 全体最適 へ AI情報共有会・AIギルド・AI-DLC で進める カンリーの組織展開
rfdnxbro
0
1.1k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
330
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
18
9.2k
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
220
脅威をエンジニアリングの糧にして:恐怖を乗り越えた先にあったもの / Turn threats into fuel for engineering: what lay beyond overcoming fear
nrslib
1
380
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.5k
Exploring anti-patterns in Rails
aemeredith
3
390
The Pragmatic Product Professional
lauravandoore
37
7.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Marketing to machines
jonoalderson
1
5.3k
Visualization
eitanlees
152
17k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Mind Mapping
helmedeiros
PRO
1
230
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
400
30 Presentation Tips
portentint
PRO
1
310
Transcript
2023/03/07 公共交通オープンデータ × ミニサイネージ × 地域課題解決プチハッカソン 熊本産MaaSミニサイネージ活用勉強会 インプット② ミニバスサイネージの紹介
がちもとさん 本名は、藤本賢志(ふじもとさとし) KumaMCNという技術コミュニティを運営 株式会社ナレッジコミュニケーションでAI・XRアプリ開発 崇城大学古賀都市計画研究室の技術顧問でまちづくりの研究 高専で制御を、大学でセンシングを学び、次は脳みそ @sotongshi
こんなことありませんか? 目の前をバス が通り過ぎた しかも2台同時に 次のバスは 30分後
自分専用のちっちゃなミニサイネージを作りました • 自宅やオフィスに自分だけのサイネージが欲しい • 時刻や〇停前ではなく「あと何分」だけが知りたい • 2021年11月ごろにGTFSリアルタイムの公開
M5Stackとは? • ディスプレイ付きマイコン • WiFiに繋げられる • 様々なセンサーやアクチュエータを取り付け可能 https://docs.m5stack.com/en/core/basic_v2.6 https://www.switch-science.com/products/7363
こんなに ちっちゃい 磁石でくっつく
その他 https://www.switch-science.com/products/8670 https://www.switch-science.com/products/6470 https://www.switch-science.com/products/7359
その他 https://www.switch-science.com/products/7483 https://www.switch-science.com/products/8191
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 初期設定(Windows) 1. ドライバー(CH9102_VCP_SER_Windows)のインストール https://docs.m5stack.com/en/quick_start/m5core/arduino 2. M5Burner Win10 x64 v3.0のインストール(ファームウェアの更新)
https://docs.m5stack.com/en/download 3. UIFlowでプログラミング https://flow.m5stack.com/ 4. USBで接続し、プログラムをアップロード
UIFlowでプログラミング
運行前に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つあるので、ページの切り替えが可能
私の親も60代になり高齢者と呼ばれ始める免許返納予備軍 • 息子:事故る前に免許返納してほしい • 母:免許返納するなら毎日あんた運転してくれっとね? • 息子:それはちょっと