Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
インプット②ミニバスサイネージの紹介
Search
Satoshi Gachi Fujimoto
March 07, 2023
Technology
0
150
インプット②ミニバスサイネージの紹介
公共交通オープンデータ × ミニサイネージ × 地域課題解決プチハッカソン
熊本産MaaSミニサイネージ活用勉強会
インプット②ミニバスサイネージの紹介の資料です
Satoshi Gachi Fujimoto
March 07, 2023
Tweet
Share
More Decks by Satoshi Gachi Fujimoto
See All by Satoshi Gachi Fujimoto
バスあと何分ミニサイネージ
satoshirobatofujimoto
0
120
高専で制御を、大学でセンシングを学び、次は脳みそ
satoshirobatofujimoto
0
300
画像生成AIを使って勝負しよう
satoshirobatofujimoto
1
140
ガチマナ会 vol.1
satoshirobatofujimoto
0
250
画像生成AIを使って勝負しよう
satoshirobatofujimoto
0
280
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム@AIミーティング
satoshirobatofujimoto
0
190
VPS研究者が語る”VPS概論”
satoshirobatofujimoto
0
440
画像からプロンプトを考えて最も似ている画像を生成した人が勝ちのゲーム
satoshirobatofujimoto
0
230
OpenAI 新機能まとめ(Function callingとAdd your data編)
satoshirobatofujimoto
0
290
Other Decks in Technology
See All in Technology
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
Agentic AI Patterns and Anti-Patterns
glaforge
1
100
AI (LLM) を活用する上で必須級のMCPをAmazon Q Developerで学ぼう / 20251127 Ikuma Yamashita
shift_evolve
PRO
2
100
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
10
3.4k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
48k
命名から始めるSpec Driven
kuruwic
3
840
一億総業務改善を支える社内AIエージェント基盤の要諦
yukukotani
8
2.8k
AIにおける自由の追求
shujisado
3
470
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
200
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
590
私のRails開発環境
yahonda
0
180
たかが特別な時間の終わり / It's Only the End of Special Time
watany
5
1.6k
Featured
See All Featured
BBQ
matthewcrist
89
9.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Into the Great Unknown - MozCon
thekraken
40
2.2k
The Cult of Friendly URLs
andyhume
79
6.7k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
It's Worth the Effort
3n
187
29k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
A designer walks into a library…
pauljervisheath
210
24k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
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代になり高齢者と呼ばれ始める免許返納予備軍 • 息子:事故る前に免許返納してほしい • 母:免許返納するなら毎日あんた運転してくれっとね? • 息子:それはちょっと