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
0
140
インプット②ミニバスサイネージの紹介
公共交通オープンデータ × ミニサイネージ × 地域課題解決プチハッカソン
熊本産MaaSミニサイネージ活用勉強会
インプット②ミニバスサイネージの紹介の資料です
Satoshi Gachi Fujimoto
March 07, 2023
Tweet
Share
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
100
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
270
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
120
ガチマナ会 vol.1
satoshirobatofujimoto
0
230
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
230
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
160
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
410
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
210
OpenAI 新機能まとめ(Function callingとAdd your data編)
satoshirobatofujimoto
0
260
Other Decks in Technology
See All in Technology
人とAIとの共創を夢見た2か月 #共創AIミートアップ / Co-Creation with Keito-chan
kondoyuko
1
720
単一Gitリポジトリから独立しました
lycorptech_jp
PRO
0
120
令和最新版TypeScriptでのnpmパッケージ開発
lycorptech_jp
PRO
0
110
Devin&Cursor、それぞれの「本質」から導く最適ユースケース戦略
empitsu
8
2.5k
やさしいClaude Code入門
minorun365
PRO
34
26k
アプリケーションの中身が見える!Mackerel APMの全貌と展望 / Mackerel APMリリースパーティ
mackerelio
0
450
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
yasunori0418
1
360
JNation 2025 - Quarkus for Spring Developers
edeandrea
PRO
0
110
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
GitHub Copilot Use Cases at ZOZO
horie1024
0
110
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
360k
DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!
martin_lover
0
160
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Fireside Chat
paigeccino
37
3.5k
Adopting Sorbet at Scale
ufuk
76
9.4k
Agile that works and the tools we love
rasmusluckow
329
21k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Docker and Python
trallard
44
3.4k
Designing for Performance
lara
608
69k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
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代になり高齢者と呼ばれ始める免許返納予備軍 • 息子:事故る前に免許返納してほしい • 母:免許返納するなら毎日あんた運転してくれっとね? • 息子:それはちょっと