Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

4

Share

Download to read offline

次世代タクシー配車サービス「MOV」を支える車載ハードウェアとソフトウェアの話 [DeNA TechCon 2019]

Download to read offline

次世代タクシー配車サービス「MOV」は、タクシー事業者様・乗務員様にとっても使いやすいサービスを目指して、車載機器の開発も行っています。
一例として、タクシーメーターとスマートフォンを連携させるオリジナルハードウェアを開発し、運賃・料金の連携や配車可否の自動判別をするなど、「タクシーのIoT化」を実現しています。
本セッションでは、このようなMOVのサービスを支える車載ハードウェア・ソフトウェアについてご紹介します。

Related Books

Free with a 30 day trial from Scribd

See all

次世代タクシー配車サービス「MOV」を支える車載ハードウェアとソフトウェアの話 [DeNA TechCon 2019]

  1. 1. #denatechcon #denatechcon 次世代タクシー配車サービス「MOV」を支える 車載ハードウェアとソフトウェアの話 米山 輝一 三輪 智也 オートモーティブ事業本部 スマートタクシーシステム開発部
  2. 2. #denatechcon 自己紹介:米山 輝一(よねやま てるひと) 2012年10月DeNA中途入社。社歴7年目。 2012年〜 エンタメサービス開発 Androidエンジニア 2013年〜 SHOWROOM スタジオ設計、番組制作、イベント企画、ライ ブ映像制作、配信技術リーダー、プロダクト オーナーなどなど 2017年〜 オートモーティブ ハードウェア開発
  3. 3. #denatechcon
  4. 4. #denatechcon MOVの3つの特徴 1. 一番近くのタクシーがすぐ来る、すぐ乗れる 2. 目安到着時間がわかる 3. ネット決済100%対応で車内での支払いが不要
  5. 5. #denatechcon MOV配車に不可欠な車両データ  鮮度の高い位置情報  タクシーメーターの料金情報  車両のステータス
  6. 6. #denatechcon 車載IoT機器  BLE Logger タクシーメーターの料金情報や車 両のステータスを取得してスマー トフォンに送信  スマートフォン 位置情報などを高頻度に送信
  7. 7. #denatechcon BLE Logger:料金情報やステータスを取得する
  8. 8. #denatechcon BLE Loggerスペック 型式 DTBA-LG-100 外形寸法 W:73mm H:23mm D:50mm 質量 約48g I/O 通信ポート1 (10ピン)メーター用 通信ポート2 (4ピン)拡張用 通信ポート3 (5ピン)拡張用 USB Type-C (給電専用) 電源 5V (USB Type-C) 最大電流 250mA 動作温度範囲 -15℃〜+60℃ 保存温度範囲 -30℃〜+85℃
  9. 9. #denatechcon BLE Loggerの開発:2017年9月〜2017年12月 プロトタイプ 量産試作 量産
  10. 10. #denatechcon 後部座席タブレット:サイネージ端末
  11. 11. #denatechcon 後部座席タブレットの機能
  12. 12. #denatechcon 自己紹介 12
  13. 13. #denatechcon 13
  14. 14. #denatechcon 学生時代はロボット競技に熱中 14
  15. 15. #denatechcon 自己紹介:三輪 智也 2009/4 車載機器メーカー入社 カーナビ、スマホ連携機能開発 2016/4 IoT系ベンチャー入社 スマホアプリ、BLEデバイス開発 2017/11 DeNA入社 MOVアプリ開発 @tomoya0x00
  16. 16. #denatechcon 目次 1. システム構成 2. 乗務員端末とタクシーメーターの連携 3. 乗務員端末でのイベントハンドリング 4. 乗務員端末と後部座席タブレットの連携 5. キオスクモード 6. まとめ 16
  17. 17. #denatechcon システム構成 17
  18. 18. #denatechcon システム構成図 18 タクシー配車アプリ タクシー(乗務員端末搭載) クラウド
  19. 19. #denatechcon システム構成図 19 タクシー(乗務員端末搭載) ・自車位置 ・車両のステータス (空車/実車など) ※AWS IoT クラウド タクシー配車アプリ
  20. 20. #denatechcon システム構成図 20 クラウド ・空車位置 ・到着予想時間 タクシー(乗務員端末搭載) ・自車位置 ・車両のステータス (空車/実車など) ※AWS IoT タクシー配車アプリ
  21. 21. #denatechcon 配車の流れ 21
  22. 22. #denatechcon 22 クラウド 1.配車依頼
  23. 23. #denatechcon 23 クラウド 1.配車依頼2.配車依頼
  24. 24. #denatechcon 24 クラウド 1.配車依頼2.配車依頼
  25. 25. #denatechcon 25 クラウド 1.配車依頼2.配車依頼
  26. 26. #denatechcon 26 クラウド 1.配車依頼2.配車依頼 3.配車承諾
  27. 27. #denatechcon 27 クラウド 1.配車依頼2.配車依頼 3.配車承諾 4.配車完了
  28. 28. #denatechcon 28 クラウド 1.配車依頼2.配車依頼 3.配車承諾 4.配車完了
  29. 29. #denatechcon システム構成図 29 ・空車位置 ・到着予想時間 タクシー(乗務員端末搭載) ・自車位置 ・車両のステータス (空車/実車など) ※AWS IoT クラウド タクシー配車アプリ
  30. 30. #denatechcon
  31. 31. #denatechcon 乗務員端末と タクシーメーターの連携 31
  32. 32. #denatechcon
  33. 33. #denatechcon オリジナルハードウェア 33
  34. 34. #denatechcon 34
  35. 35. #denatechcon BLE Logger 35
  36. 36. #denatechcon 36 メーター情報 (空車/実車、金額など) 情報要求BLE Logger 0円 空車 迎車 実車 支払 タクシーメーター 乗務員端末 メーター情報 情報要求
  37. 37. #denatechcon BLE Logger 37 ● メーターと乗務員端末間通信を仲介 ○ シリアル通信でメーターと通信 ○ BLEで乗務員端末と通信
  38. 38. #denatechcon BLE Logger 38 ● メーターと乗務員端末間通信を仲介 ○ シリアル通信でメーターと通信 ○ BLEで乗務員端末と通信
  39. 39. #denatechcon OSI参照モデルの 物理層レベル 39
  40. 40. #denatechcon メーターは1種類ではない 40
  41. 41. #denatechcon メーター・BLE Logger間通信IF 41
  42. 42. #denatechcon メーター・BLE Logger間通信IF 42 ● メーター会社と共同で策定 ● 各メーター会社に仕様を共有 ○ 各メーター用の専用FW開発
  43. 43. #denatechcon BLE Logger 43 ● メーターと乗務員端末間通信を仲介 ○ シリアル通信でメーターと通信 ○ BLEで乗務員端末と通信
  44. 44. #denatechcon BLE 44
  45. 45. #denatechcon Bluetooth Low Energy 45
  46. 46. #denatechcon Bluetooth Low Energy 46 • デバイス間無線通信の規格 • 低消費電力 • 近年発売のスマホで標準サポート
  47. 47. #denatechcon BLE Loggerの工夫ポイント 47
  48. 48. #denatechcon ファームウェア更新機能 48
  49. 49. #denatechcon ファームウェア更新機能 ● 機能追加や不具合修正 ○ 乗務員端末から新FWデータを転送 ○ 内部フラッシュメモリ書換 ● メーター通信仲介しながら更新可能 49
  50. 50. #denatechcon ファームウェア更新機能 ● 機能追加や不具合修正 ○ 乗務員端末から新FWデータを転送 ○ 内部フラッシュメモリ書換 ● メーター通信仲介しながら更新可能 50
  51. 51. #denatechcon フラッシュメモリ内の データ配置 (メモリマップ) 51
  52. 52. #denatechcon 52 B面 FW Ver.1 A面 FW Ver.1 Bootloader
  53. 53. #denatechcon 53 Bootloader ● ファームウェアを格納 A面 FW Ver.1 B面 FW Ver.1
  54. 54. #denatechcon 54 B面 FW Ver.1 A面 FW Ver.1 ● 電源投入後、最初に動作 ● A/B面どちらが新しいか判断 ● 新しい面を起動 ○ 同じバージョンならA面起動 Bootloader
  55. 55. #denatechcon FW更新の流れ 55
  56. 56. #denatechcon 56 1.電源投入 B面 FW Ver.1 A面 FW Ver.1 Bootloader
  57. 57. #denatechcon 57 1.電源投入 2.A面で起動 B面 FW Ver.1 Bootloader A面 FW Ver.1
  58. 58. #denatechcon 58 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 Bootloader A面 FW Ver.1 B面 FW Ver.1
  59. 59. #denatechcon 59 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込完了(Ver.1 -> Ver.2) Bootloader A面 FW Ver.1 B面 FW Ver.2
  60. 60. #denatechcon 60 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込完了(Ver.1 -> Ver.2) 5.電源再投入 A面 FW Ver.1 B面 FW Ver.2 Bootloader
  61. 61. #denatechcon 61 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込完了(Ver.1 -> Ver.2) 5.電源再投入 6.B面で起動 A面 FW Ver.1 Bootloader B面 FW Ver.2
  62. 62. #denatechcon 62 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込完了(Ver.1 -> Ver.2) 5.電源再投入 6.B面で起動 7.FW更新成功! A面 FW Ver.1 Bootloader B面 FW Ver.2
  63. 63. #denatechcon メーター通信仲介しながら更新可能 ● あらかじめFWを2面(A/B面)保持 ○ フラッシュメモリに書込済み ● A面で動作中にB面に新FWを書込 ● 次回起動時に新しいB面で起動 63
  64. 64. #denatechcon メーター通信仲介しつつ更新可能 ● 次回のFW書込は、古いA面に実施 ● FW書込はメーター通信阻害を考慮 ○ FWデータ転送に適切なインターバル 64
  65. 65. #denatechcon FW更新中の電源断 65
  66. 66. #denatechcon FW書込の再開に対応 66
  67. 67. #denatechcon 67 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 Bootloader A面 FW Ver.1 B面 FW Ver.1
  68. 68. #denatechcon 68 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込途中(50%)に電源断 Bootloader A面 FW Ver.1 B面 FW Ver.1 (50%はVer.2)
  69. 69. #denatechcon 69 A面 FW Ver.1 B面 FW Ver.1 (50%はVer.2) 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込途中(50%)に電源断 5.電源投入 Bootloader
  70. 70. #denatechcon 70 B面 FW Ver.1 (50%はVer.2) 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込途中(50%)に電源断 5.電源投入 6.A面で起動 Bootloader A面 FW Ver.1
  71. 71. #denatechcon 71 Bootloader A面 FW Ver.1 B面 FW Ver.1 (50%はVer.2) 1.電源投入 2.A面で起動 3.B面に新FWを書込開始 4.書込途中(50%)に電源断 5.電源投入 6.A面で起動 7.B面に新FM書込を再開
  72. 72. #denatechcon めでたしめでたし 72
  73. 73. #denatechcon ところで 73
  74. 74. #denatechcon 乗務員端末と 直接通信できるメーター 74
  75. 75. #denatechcon 75 メーター情報 (空車/実車、金額など) 情報要求 0円 空車 迎車 実車 支払 タクシーメーター 乗務員端末
  76. 76. #denatechcon Bluetooth Classic + SPP 76
  77. 77. #denatechcon 乗務員端末と直接通信できるメーター ● Bluetooth Classic ○ 旧来のBluetooth ○ BLEとの対比で BT Classicなどと表記 ○ ほぼ全てのスマホが対応 77
  78. 78. #denatechcon 乗務員端末と直接通信できるメーター ● SPP ○ Serial Port Profile の略 ○ BT Classic 上でシリアル通信をエミュレート 78
  79. 79. #denatechcon 乗務員端末と直接通信できるメーター ● メーター・乗務員端末間通信IF ○ 専用仕様 ○ メーター・BLE Logger間通信IFと互換性無し 79
  80. 80. #denatechcon どちらのメーターも 同様に扱いたい 80
  81. 81. #denatechcon メーターの抽象化 81
  82. 82. #denatechcon 82
  83. 83. #denatechcon 83 インターフェース ● 車両のステータス取得 ○ 空車/迎車/実車/支払など ● 金額情報取得 ○ 迎車料金 ○ 運賃(初乗、距離性、時間制) ○ ETC料金 ○ 割引額
  84. 84. #denatechcon 84 BLE Logger通信クラス ● 接続処理 ● 再接続処理 ● データ送信 ● データ受信
  85. 85. #denatechcon 85 メーター通信クラス (BLE Logger経由) ● メーター情報要求 ● メーター情報解析 ● 車両のステータス取得 ● 金額情報取得
  86. 86. #denatechcon 86 メーター通信クラス (BT Classic SPP経由) ● メーター情報要求 ● メーター情報解析 ● 車両のステータス取得 ● 金額情報取得
  87. 87. #denatechcon 無事、メーター連携可能に! 87
  88. 88. #denatechcon メーター連携で 更に実現できること 88
  89. 89. #denatechcon メーター連携で更に実現できること • いつ、どこで乗車が発生 • どの程度の距離を走ったか • 金額はいくらだったか 89
  90. 90. #denatechcon AI探客ナビ(仮称) 90
  91. 91. #denatechcon ● 需要予測 ○ プローブデータ ○ タクシー需要関連データ ● 経路生成&ナビ 91
  92. 92. #denatechcon 絶賛開発中 92
  93. 93. #denatechcon 乗務員端末での イベントハンドリング 93
  94. 94. #denatechcon いくつかのイベント 94
  95. 95. #denatechcon いくつかのイベント • タクシーメーター • 空車/迎車/実車/支払 • サーバーからのプッシュ通知 • 配車依頼、メッセージ 95
  96. 96. #denatechcon いくつかのイベント • 画面タッチ • 通信成功/通信失敗 96
  97. 97. #denatechcon うまくハンドリングするには? 97
  98. 98. #denatechcon ステートマシン 98
  99. 99. #denatechcon 99 開始状態
  100. 100. #denatechcon 100 自動で 「MOV配車無し」状態へ 遷移
  101. 101. #denatechcon 101 乗務員端末の 配車依頼OKタップで、 「配車承諾」 イベント発行
  102. 102. #denatechcon 102 「MOV配車有り」状態へ 遷移
  103. 103. #denatechcon 103 自動で 「迎車」状態へ遷移
  104. 104. #denatechcon 104 タクシーメーターの 実車ボタン押下で 「実車開始」 イベント発行
  105. 105. #denatechcon 105 「実車」状態へ遷移
  106. 106. #denatechcon 106 タクシーメーターの 支払ボタン押下で 「支払開始」 イベント発行
  107. 107. #denatechcon 107 「支払」状態へ遷移
  108. 108. #denatechcon 108 乗務員端末の 支払確定タップで、 「支払完了」 イベント発行
  109. 109. #denatechcon 109 「MOV配車無し」状態へ 遷移
  110. 110. #denatechcon ステートマシン • イベントをステートマシンのインプットに変換 • ステートマシンの状態に紐付いて画面遷移 • より詳しいお話しはDroidKaigi 2019にて! • DAY.02 (2/8) 10:30〜 Room6 外部デバイスと密に連携するAndroidアプリに最適なアーキテクチャとは? 110
  111. 111. #denatechcon 乗務員端末と 後部座席タブレットの連携 111
  112. 112. #denatechcon
  113. 113. #denatechcon どうやって通信? 113
  114. 114. #denatechcon Wi-Fi/BTテザリング? 3G/4G? BT Classic/BLE? 114
  115. 115. #denatechcon どうやって通信? ● お互いに直接通信したい ● ランニングコストは抑えたい ● インターネットにアクセスしたい 115
  116. 116. #denatechcon お互いに直接通信したい Wi-Fi/BTテザリング 3G/4G BT Classic/BLE 116
  117. 117. #denatechcon ランニングコストは抑えたい Wi-Fi/BTテザリング 3G/4G BT Classic/BLE 117
  118. 118. #denatechcon インターネットにアクセスしたい Wi-Fi/BTテザリング 3G/4G BT Classic/BLE 118
  119. 119. #denatechcon 各通信方法の比較 119 直接通信 ランニングコスト インターネット Wi-Fi/BT テザリング 3G/4G BT Classic/ BLE
  120. 120. #denatechcon 全てを満たす通信方法 120
  121. 121. #denatechcon Wi-Fi Direct + VpnService 121
  122. 122. #denatechcon Wi-Fi Direct + VpnService ● Wi-Fi DirectでP2P通信 ● VpnService ○後部座席タブレットもインターネット接続可能 ○3G/4G通信は乗務員端末のみがおこなう 122
  123. 123. #denatechcon Wi-Fi Direct + VpnService ●詳細は DroidKaigi2019 で! ○DAY.02 (2/8) 15:40〜 Room4 WiFi Direct + VpnServiceでSIM無しAndroidをWeb世界に社会復帰させる話 123
  124. 124. #denatechcon Wi-Fi Direct + VpnService ●詳細は DroidKaigi2019 で! ○DAY.02 (2/8) 15:40〜 Room4 WiFi Direct + VpnServiceでSIM無しAndroidをWeb世界に社会復帰させる話 124
  125. 125. #denatechcon 乗務員端末から 各情報を送信 125
  126. 126. #denatechcon ・車両のステータス (空車/実車など) ・金額情報
  127. 127. #denatechcon 例:実車開始 127
  128. 128. #denatechcon 実車
  129. 129. #denatechcon
  130. 130. #denatechcon
  131. 131. #denatechcon 例:降車地到着 131
  132. 132. #denatechcon 支払 (金額)
  133. 133. #denatechcon
  134. 134. #denatechcon 乗務員端末と 後部座席タブレットの キオスクモード 134
  135. 135. #denatechcon キオスクモード 135
  136. 136. #denatechcon 端末の機能を限定 136
  137. 137. #denatechcon Androidでは Device Ownerで 実現可能 137
  138. 138. #denatechcon Androidの専用端末化 138
  139. 139. #denatechcon Androidの専用端末化 139 ● 専用アプリ以外への遷移を防止 ● 他アプリを起動するトラブル抑制
  140. 140. #denatechcon ほかにも 140
  141. 141. #denatechcon 強制的にホームアプリ化 141
  142. 142. #denatechcon サイレントインストール (自動でアプリをインストール) 142
  143. 143. #denatechcon ワイプ (盗難・紛失時のデータ消去) 143
  144. 144. #denatechcon Androidの専用端末化 ● 実現方法の詳細 ○DroidKaigi 2018 の三輪発表をご参照 ○Kioskアプリと端末の作り方 (DroidKaigi 2018) https://droidkaigi.jp/2018/timetable?session=16381 144
  145. 145. #denatechcon まとめ 145
  146. 146. #denatechcon まとめ  システム構成  AWS IoTで車両のステータスと位置を共有  乗務員端末とタクシーメーターの連携  オリジナルハードウェア、通信IF共通化  メーターの抽象化  BLE LoggerにFW更新の工夫 146
  147. 147. #denatechcon まとめ  乗務員端末でのイベントハンドリング  ステートマシン導入  乗務員端末と後部座席タブレットの連携  WiFi Direct + VpnService  キオスクモード  DeviceOwnerを活用 147
  148. 148. #denatechcon MOVは 様々な車載ハードウェアと ソフトウェアで 成り立っています! 148
  149. 149. #denatechcon #denatechcon
  • ssuser4ed75f

    Sep. 26, 2019
  • toutoutakataka

    Jun. 23, 2019
  • nourredineZaher

    May. 2, 2019
  • tsukasasuzuki7

    Mar. 9, 2019

次世代タクシー配車サービス「MOV」は、タクシー事業者様・乗務員様にとっても使いやすいサービスを目指して、車載機器の開発も行っています。 一例として、タクシーメーターとスマートフォンを連携させるオリジナルハードウェアを開発し、運賃・料金の連携や配車可否の自動判別をするなど、「タクシーのIoT化」を実現しています。 本セッションでは、このようなMOVのサービスを支える車載ハードウェア・ソフトウェアについてご紹介します。

Views

Total views

5,484

On Slideshare

0

From embeds

0

Number of embeds

2,484

Actions

Downloads

19

Shares

0

Comments

0

Likes

4

×