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
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
インプット②ミニバスサイネージの紹介
公共交通オープンデータ × ミニサイネージ × 地域課題解決プチハッカソン
熊本産MaaSミニサイネージ活用勉強会
インプット②ミニバスサイネージの紹介の資料です
Satoshi Gachi Fujimoto
March 07, 2023
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
忘年会LT(2025)
satoshirobatofujimoto
0
66
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
150
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
340
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
180
ガチマナ会 vol.1
satoshirobatofujimoto
0
280
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
340
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
230
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
490
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
260
Other Decks in Technology
See All in Technology
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
530
メルカリのグローバルアプリで挑んだ AlloyDB 運用と課題解決の実践記
hatappi
0
240
20分でわかるセキュアAPI
nwiizo
1
200
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
Software Supply Chain Attackからクラウド環境を守るためにできること
lhazy
2
220
JavaScript 研修 (2026)
recruitengineers
PRO
2
470
もう一度考える SRE チームの作り方・育て方 / Rethinking SRE #1: Building and Growing SRE Teams
rrreeeyyy
6
1k
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
770
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
190
Digitization部 紹介資料
sansan33
PRO
2
7.7k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
250
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
150
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Typedesign – Prime Four
hannesfritz
42
3.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Why Our Code Smells
bkeepers
PRO
340
58k
Visualization
eitanlees
152
17k
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
How to make the Groovebox
asonas
2
2.3k
First, design no harm
axbom
PRO
2
1.2k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
73
41k
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代になり高齢者と呼ばれ始める免許返納予備軍 • 息子:事故る前に免許返納してほしい • 母:免許返納するなら毎日あんた運転してくれっとね? • 息子:それはちょっと