SlideShare una empresa de Scribd logo
1 de 17
Mobility Technologies Co., Ltd.
Data Engineering Study #4
IoTデバイスデータ収集の難しい点
株式会社 Mobility Technologies
渡部 徹太郎
2020/11/04
Mobility Technologies Co., Ltd.
自己紹介
2
ID :fetaro
名前:渡部 徹太郎
学生:東京工業大学でデータベースと情報検索の研究
(@日本データベース学会)
職歴:
* 野村総合研究所(NRI)
- オンライントレードシステム基盤
- オープンソース技術部隊
* リクルートテクノロジーズ
- ビッグデータ分析基盤
* MobilityTechnologies
- データエンジニア
エディタ:emacs派→ InteliJ派
趣味:麻雀、自宅サーバ
日本AWSユーザ会(JAWS)
ビッグデータ支部長
やってました
著書
Mobility Technologies Co., Ltd.
Mobility Technologiesの紹介
3
配車関連事業
広告決済事業 乗務員向けソリューション事業
DRIVE CHART・ドラレコ事業 次世代向けR&D事業
Mobility Technologies Co., Ltd.
ドライブレコーダ
 システム概要
ドライブレコーダのデータを収集している
4
アップロード
プログラム
インター
ネット
Wifi
LB
収集 処理
アクセス
ポイント
ルータドラ
レコ
ドラ
レコ
ドラ
レコ
速度
センサ
GPS
センサ
カメラ
分散キュー
Wifi
タクシー
JapanTaxiドライブレコーダv4の写真
Mobility Technologies Co., Ltd.
 IoTデバイスからのデータ収集はWebのデータ収集とは違う!
1. バイナリデータを扱う
2. CPUアーキテクチャはx86/x64とは限らない
3. プログラムのサイズに容量制限がある
4. ネットワークは切れることがある
5. ネットワーク帯域は無限ではない
6. 電源は落ちることがある
7. 電力は有限である
8. ログは見ることができない
9. アップデートは一大イベント
10. 時間は正しいとは限らない
「エンジニアの総合格闘技」と呼ばれるほど、多種多様な知識が必要となる
IoTデバイスからのデータ収集は一味違う
5
Mobility Technologies Co., Ltd.
 バイナリファイルとは
 01の配列
 どのように読むか規定されていない
 パースが必要
 プログラミング言語のビット演算をつかう
 論理積 (&) 論理和 (|) ビット反転 (~)
右シフト(>>) 左シフト (<<)
 ハマった箇所
 Floatが変な値になる
 →リトルエンディアンとビッグエンディアン
のとり違い!
 -z方向加速度が常に一定の値を示してしまう
 →重力加速度だった!
バイナリデータを扱う
6
1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0
0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0
1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1
Webの場合 IoTデバイスの場合
データ形式 JSON, CSV, DBのテーブル バイナリファイル
タイムスタンプ
GPS緯度
GPS経度
各種フラグ
X方向加速度 -X方向加速度 y方向加速度 -y方向加速度
空き
パース
Mobility Technologies Co., Ltd.
CPUのアーキテクチャはx86/x64とは限らない
7
Webの場合 IoTデバイスの場合
CPU
アーキテクチャ
x86/x64 ARM
(が多い)
 CPUアーキテクチャとは主に2種類ある
 x86/x64 : サーバ、パソコン
 ARM : IoTデバイス、スマートフォン
 難しい箇所
 MacOSやクラウドの仮想マシンでコンパイルしたバイナリは動かない
 →クロスコンパイルが必要
 どうやってクロスコンパイルするか
 Go言語やRustが開発しやすい
 →JapanTaxiドライブレコーダではメモリ管理に厳格なRust言語を採用
Mobility Technologies Co., Ltd.
プログラムのサイズに制限がある
8
Webの場合 IoTデバイスの場合
プログラムの
サイズ
気にしたこと無い。
磁気ディスクやSSDの容量は
100 Gbyte以上ある。
フラッシュディスクは16Gbyte〜
64Gbyte程度
 難しい箇所
 プログラムのコンパイル後のサイズを気にする必要がある
 ライブラリは潤沢には使えない
 →他のモジュールと同じライブラリを使う
 開発言語は複数使えない
 →Rust言語のみ
Mobility Technologies Co., Ltd.
 難しい箇所
 ネットワークは常に切れる想定で開発する必要がある
 リトライを仕込む
 サーバ側でどこまで処理したかを管理し、再接続時にレジュームできるようにする
 ハマった箇所
 無線通信が干渉する
 Wifiの2.4GHz帯の電波は、他のwifi機器やbluetooth機器と干渉する
 →デバイス間のチャンネル調整が必要
 無線電波が弱い
 →天井がないと電波が反射が少ない
ネットワークは切れることがある
9
Webの場合 IoTデバイスの場合
通信品質 安定
たまにパケットが落ちるぐらい
不安定
場所によって切れる
Mobility Technologies Co., Ltd.
 難しい箇所
 通信帯域的&コスト的に、
全てのドライブレコーダの動画をアップロードすることはできない
 →業務要件を加味して必要最小限な動画だけアップロードするようにする
 →全てのデータが取れない前提でアプリケーションを組む
 同時に全台のデバイスのデータを全力でアップロードできない
 →アップロードタイミングを制御することは難しいため、タイムアウト指数的に増やしていきで
きるだけ救うようにする
ネットワーク帯域は有限である
10
Webの場合 IoTデバイスの場合
通信帯域 1Gbps〜10Gbps Wifi: 50Mbps〜500Mbps
(SIM: 10Mbps〜100Mpbs)
料金 固定料金
(従量課金だとしても安い)
従量課金でしかも高い
Mobility Technologies Co., Ltd.
電源は落ちることがある
11
 難しい箇所
 電源が落ちたときを想定して開発する
 電源が供給されなくなると、完全停止する前にデバイス側からシグナルを受信するので、
それをTRAPして適切な終了処理を書く(ファイルを閉じる等)
Webの場合 IoTデバイスの場合
電源の有無 ほとんど気にしない。
インフラ側で吸収してくれる
常に電源が落ちることを想定す
る
Mobility Technologies Co., Ltd.
電力は有限である
12
 難しい箇所
 消費電力を抑える
 エンジンがオンの場合はよいが、オフの場合はバッテリーの電力を用いた動作になる
 長時間の起動はバッテリーあがりを引き起こす可能性がある
 車との調整が必要
 最大起動時間を決めて、それ以内に処理を終わらせるようにする
Webの場合 IoTデバイスの場合
消費電力 え?なんですかそれ? 省電力を心がける。
起動時間を気にする。
Mobility Technologies Co., Ltd.
 難しい箇所
 エラー内容をサーバに返す前に死なれると何が起きていたかわからない
 ログにしかエラー内容は出力されない
 デバイスに接続してログを確認するしかない
 SSHサーバは入っていないため、SSH接続はできない
 タクシー車両に行きコンソールケーブルを接続して参照する必要あり
ログは見ることができない
13
Webの場合 IoTデバイスの場合
ログの参照 Cloud watch ポチー
ssh ポチー
現地にいってデバイスに物理接
続
Mobility Technologies Co., Ltd.
 難しい箇所
 OTA(Over The Air)による自己アップデートシステムの整備が必須
 デバイス側がオンラインになったときに、アップロードプログラムを確認し、あれば自
身を更新する仕組み
 すべてのモジュール更新がOTAでできるわけではない
 インストールメディアをいれたSDカードを持ってタクシー車両に行き、SDカードをド
ライブレコーダに指してインストール作業が必要
 数百台の作業になることもあり、人海戦術となる
アップデートは一大イベント
14
Webの場合 IoTデバイスの場合
デプロイの方法 git pull ポチー OTA (Over The Air)
or
人海戦術
Mobility Technologies Co., Ltd.
 ハマった箇所
 2000年のログが送られてくる
 IoTデバイスのマザーボードには時計が内蔵されていないため、起動直後は2000年1月1
日になる
 GPS等を介して時刻を取得すると、正しい時刻になる
時間が正しいとは限らない
15
Webの場合 IoTデバイスの場合
時刻同期 マザーボードに時計がある。
NTPで常に同期。
デバイスに時計があるとは限ら
ない
Mobility Technologies Co., Ltd.
 Webのデータ収集とIoTデバイスのデータ収集は必要なスキルセットが違う!
 バイナリデータの扱い
 クロスコンパイル・組み込みプログラミング
 ハードウェアの知識
 ネットワークの知識
 電源への配慮
 ログ参照やアップデートへの考慮
 時計への配慮
まとめ
16
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
17
仲間募集中!

Más contenido relacionado

La actualidad más candente

ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出Tetsutaro Watanabe
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイcvpaper. challenge
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?Fumihiko Takahashi
 
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築Kosuke Shinoda
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術Takuto Wada
 
【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)
【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)
【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)Deep Learning JP
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Kazuyuki Miyazawa
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformercvpaper. challenge
 
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎Tetsutaro Watanabe
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門Takuji Tahara
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門hoxo_m
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことLeapMind Inc
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介Recruit Technologies
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門Momoko Hayamizu
 
【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical Report【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical ReportDeep Learning JP
 
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]Whole-Body Human Pose Estimation in the Wild[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]Whole-Body Human Pose Estimation in the WildDeep Learning JP
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてSho Takase
 

La actualidad más candente (20)

ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出ドライブレコーダの動画を使った道路情報の自動差分抽出
ドライブレコーダの動画を使った道路情報の自動差分抽出
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
PyTorchLightning ベース Hydra+MLFlow+Optuna による機械学習開発環境の構築
 
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
 
【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)
【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)
【DL輪読会】Decoupling Human and Camera Motion from Videos in the Wild (CVPR2023)
 
Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査Teslaにおけるコンピュータビジョン技術の調査
Teslaにおけるコンピュータビジョン技術の調査
 
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
 
【メタサーベイ】Video Transformer
 【メタサーベイ】Video Transformer 【メタサーベイ】Video Transformer
【メタサーベイ】Video Transformer
 
データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎データサイエンティスト向け性能問題対応の基礎
データサイエンティスト向け性能問題対応の基礎
 
backbone としての timm 入門
backbone としての timm 入門backbone としての timm 入門
backbone としての timm 入門
 
協調フィルタリング入門
協調フィルタリング入門協調フィルタリング入門
協調フィルタリング入門
 
エッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なことエッジ向けDeepLearningプロジェクトで必要なこと
エッジ向けDeepLearningプロジェクトで必要なこと
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介リクルートにおける画像解析事例紹介
リクルートにおける画像解析事例紹介
 
パターン認識と機械学習入門
パターン認識と機械学習入門パターン認識と機械学習入門
パターン認識と機械学習入門
 
【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical Report【DL輪読会】GPT-4Technical Report
【DL輪読会】GPT-4Technical Report
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]Whole-Body Human Pose Estimation in the Wild[DL輪読会]Whole-Body Human Pose Estimation in the Wild
[DL輪読会]Whole-Body Human Pose Estimation in the Wild
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 

Similar a IoTデバイスデータ収集の難しい点

Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoShohei Hido
 
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...SORACOM,INC
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みMichitaka Terada
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...Insight Technology, Inc.
 
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのかSRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのかSORACOM,INC
 
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要SORACOM,INC
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1openrtm
 
1.コース概要
1.コース概要1.コース概要
1.コース概要openrtm
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックKentaro Ebisawa
 
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜SORACOM,INC
 
データをどこに溜めよう?ローカル?クラウド?どのデータベース?
データをどこに溜めよう?ローカル?クラウド?どのデータベース?データをどこに溜めよう?ローカル?クラウド?どのデータベース?
データをどこに溜めよう?ローカル?クラウド?どのデータベース?- Core Concept Technologies
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Hirono Jumpei
 
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達までSORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達までSORACOM,INC
 
NTT Communications' Initiatives to Utilize Infrastructure Data
NTT Communications' Initiatives to Utilize Infrastructure DataNTT Communications' Initiatives to Utilize Infrastructure Data
NTT Communications' Initiatives to Utilize Infrastructure DataDataWorks Summit
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Dai Utsui
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術Keigo Suda
 
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜ネクストスケープ
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 

Similar a IoTデバイスデータ収集の難しい点 (20)

Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
 
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
20190518 SORACOM UG 九州 x JAWS-UG 佐賀 | 基本のSORACOM Air から最新ボタンデバイスまで一気に解説?今日からあ...
 
Rancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組みRancher/k8sを利用した運用改善の取り組み
Rancher/k8sを利用した運用改善の取り組み
 
IoTの魅力
IoTの魅力IoTの魅力
IoTの魅力
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのかSRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
 
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
IoT通信情報交換会 | 今だから整理しておきたいすぐ使える IoT 向け無線通信の種類と概要
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタックONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
 
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
IoT通信プラットフォーム「SORACOM」概要セミナー 〜IoTに必要な通信をセキュアに組み込むには〜
 
データをどこに溜めよう?ローカル?クラウド?どのデータベース?
データをどこに溜めよう?ローカル?クラウド?どのデータベース?データをどこに溜めよう?ローカル?クラウド?どのデータベース?
データをどこに溜めよう?ローカル?クラウド?どのデータベース?
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達までSORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
SORACOM Discovery2019 G3 eSIM 搭載デバイスの作り方 eSIMを選択する理由から実装、調達まで
 
NTT Communications' Initiatives to Utilize Infrastructure Data
NTT Communications' Initiatives to Utilize Infrastructure DataNTT Communications' Initiatives to Utilize Infrastructure Data
NTT Communications' Initiatives to Utilize Infrastructure Data
 
Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会Gmo media.inc 第9回西日本ossの普及を考える会
Gmo media.inc 第9回西日本ossの普及を考える会
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術ストリーム処理勉強会 大規模mqttを支える技術
ストリーム処理勉強会 大規模mqttを支える技術
 
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜日本語における自然言語解析とその応用 〜COTOHA VA & API〜
日本語における自然言語解析とその応用 〜COTOHA VA & API〜
 
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 

Más de Tetsutaro Watanabe

データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例Tetsutaro Watanabe
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめTetsutaro Watanabe
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用Tetsutaro Watanabe
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionTetsutaro Watanabe
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Tetsutaro Watanabe
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
Tetsutaro Watanabe
 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例Tetsutaro Watanabe
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - Tetsutaro Watanabe
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法Tetsutaro Watanabe
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けTetsutaro Watanabe
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!Tetsutaro Watanabe
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介Tetsutaro Watanabe
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 

Más de Tetsutaro Watanabe (19)

データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
ML Ops NYC 19 & Strata Data Conference 2019 NewYork 注目セッションまとめ
 
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運用
 
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
JapanTaxiにおけるML Ops 〜機械学習の開発運用プロセス〜
 
ビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年versionビッグデータ処理データベースの全体像と使い分け
2018年version
ビッグデータ処理データベースの全体像と使い分け
2018年version
 
Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連Google Cloud Next '18 Recap/報告会 機械学習関連
Google Cloud Next '18 Recap/報告会 機械学習関連
 
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム
巨大なサービスと膨大なデータを支えるプラットフォーム

巨大なサービスと膨大なデータを支えるプラットフォーム

 
リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例リクルートを支える横断データ基盤と機械学習の適用事例
リクルートを支える横断データ基盤と機械学習の適用事例
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version - ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
ビッグデータ処理データベースの全体像と使い分け - 2017年 Version -
 
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
リクルートテクノロジーズ における EMR の活用とコスト圧縮方法
 
ビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分けビックデータ処理技術の全体像とリクルートでの使い分け
ビックデータ処理技術の全体像とリクルートでの使い分け
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
MongoDB3.2の紹介
MongoDB3.2の紹介MongoDB3.2の紹介
MongoDB3.2の紹介
 
MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!MongoDB World 2014に行ってきた!
MongoDB World 2014に行ってきた!
 
がっつりMongoDB事例紹介
がっつりMongoDB事例紹介がっつりMongoDB事例紹介
がっつりMongoDB事例紹介
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
MongoDBの監視
MongoDBの監視MongoDBの監視
MongoDBの監視
 

Último

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Último (8)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

IoTデバイスデータ収集の難しい点

  • 1. Mobility Technologies Co., Ltd. Data Engineering Study #4 IoTデバイスデータ収集の難しい点 株式会社 Mobility Technologies 渡部 徹太郎 2020/11/04
  • 2. Mobility Technologies Co., Ltd. 自己紹介 2 ID :fetaro 名前:渡部 徹太郎 学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * MobilityTechnologies - データエンジニア エディタ:emacs派→ InteliJ派 趣味:麻雀、自宅サーバ 日本AWSユーザ会(JAWS) ビッグデータ支部長 やってました 著書
  • 3. Mobility Technologies Co., Ltd. Mobility Technologiesの紹介 3 配車関連事業 広告決済事業 乗務員向けソリューション事業 DRIVE CHART・ドラレコ事業 次世代向けR&D事業
  • 4. Mobility Technologies Co., Ltd. ドライブレコーダ  システム概要 ドライブレコーダのデータを収集している 4 アップロード プログラム インター ネット Wifi LB 収集 処理 アクセス ポイント ルータドラ レコ ドラ レコ ドラ レコ 速度 センサ GPS センサ カメラ 分散キュー Wifi タクシー JapanTaxiドライブレコーダv4の写真
  • 5. Mobility Technologies Co., Ltd.  IoTデバイスからのデータ収集はWebのデータ収集とは違う! 1. バイナリデータを扱う 2. CPUアーキテクチャはx86/x64とは限らない 3. プログラムのサイズに容量制限がある 4. ネットワークは切れることがある 5. ネットワーク帯域は無限ではない 6. 電源は落ちることがある 7. 電力は有限である 8. ログは見ることができない 9. アップデートは一大イベント 10. 時間は正しいとは限らない 「エンジニアの総合格闘技」と呼ばれるほど、多種多様な知識が必要となる IoTデバイスからのデータ収集は一味違う 5
  • 6. Mobility Technologies Co., Ltd.  バイナリファイルとは  01の配列  どのように読むか規定されていない  パースが必要  プログラミング言語のビット演算をつかう  論理積 (&) 論理和 (|) ビット反転 (~) 右シフト(>>) 左シフト (<<)  ハマった箇所  Floatが変な値になる  →リトルエンディアンとビッグエンディアン のとり違い!  -z方向加速度が常に一定の値を示してしまう  →重力加速度だった! バイナリデータを扱う 6 1 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 0 1 0 1 1 Webの場合 IoTデバイスの場合 データ形式 JSON, CSV, DBのテーブル バイナリファイル タイムスタンプ GPS緯度 GPS経度 各種フラグ X方向加速度 -X方向加速度 y方向加速度 -y方向加速度 空き パース
  • 7. Mobility Technologies Co., Ltd. CPUのアーキテクチャはx86/x64とは限らない 7 Webの場合 IoTデバイスの場合 CPU アーキテクチャ x86/x64 ARM (が多い)  CPUアーキテクチャとは主に2種類ある  x86/x64 : サーバ、パソコン  ARM : IoTデバイス、スマートフォン  難しい箇所  MacOSやクラウドの仮想マシンでコンパイルしたバイナリは動かない  →クロスコンパイルが必要  どうやってクロスコンパイルするか  Go言語やRustが開発しやすい  →JapanTaxiドライブレコーダではメモリ管理に厳格なRust言語を採用
  • 8. Mobility Technologies Co., Ltd. プログラムのサイズに制限がある 8 Webの場合 IoTデバイスの場合 プログラムの サイズ 気にしたこと無い。 磁気ディスクやSSDの容量は 100 Gbyte以上ある。 フラッシュディスクは16Gbyte〜 64Gbyte程度  難しい箇所  プログラムのコンパイル後のサイズを気にする必要がある  ライブラリは潤沢には使えない  →他のモジュールと同じライブラリを使う  開発言語は複数使えない  →Rust言語のみ
  • 9. Mobility Technologies Co., Ltd.  難しい箇所  ネットワークは常に切れる想定で開発する必要がある  リトライを仕込む  サーバ側でどこまで処理したかを管理し、再接続時にレジュームできるようにする  ハマった箇所  無線通信が干渉する  Wifiの2.4GHz帯の電波は、他のwifi機器やbluetooth機器と干渉する  →デバイス間のチャンネル調整が必要  無線電波が弱い  →天井がないと電波が反射が少ない ネットワークは切れることがある 9 Webの場合 IoTデバイスの場合 通信品質 安定 たまにパケットが落ちるぐらい 不安定 場所によって切れる
  • 10. Mobility Technologies Co., Ltd.  難しい箇所  通信帯域的&コスト的に、 全てのドライブレコーダの動画をアップロードすることはできない  →業務要件を加味して必要最小限な動画だけアップロードするようにする  →全てのデータが取れない前提でアプリケーションを組む  同時に全台のデバイスのデータを全力でアップロードできない  →アップロードタイミングを制御することは難しいため、タイムアウト指数的に増やしていきで きるだけ救うようにする ネットワーク帯域は有限である 10 Webの場合 IoTデバイスの場合 通信帯域 1Gbps〜10Gbps Wifi: 50Mbps〜500Mbps (SIM: 10Mbps〜100Mpbs) 料金 固定料金 (従量課金だとしても安い) 従量課金でしかも高い
  • 11. Mobility Technologies Co., Ltd. 電源は落ちることがある 11  難しい箇所  電源が落ちたときを想定して開発する  電源が供給されなくなると、完全停止する前にデバイス側からシグナルを受信するので、 それをTRAPして適切な終了処理を書く(ファイルを閉じる等) Webの場合 IoTデバイスの場合 電源の有無 ほとんど気にしない。 インフラ側で吸収してくれる 常に電源が落ちることを想定す る
  • 12. Mobility Technologies Co., Ltd. 電力は有限である 12  難しい箇所  消費電力を抑える  エンジンがオンの場合はよいが、オフの場合はバッテリーの電力を用いた動作になる  長時間の起動はバッテリーあがりを引き起こす可能性がある  車との調整が必要  最大起動時間を決めて、それ以内に処理を終わらせるようにする Webの場合 IoTデバイスの場合 消費電力 え?なんですかそれ? 省電力を心がける。 起動時間を気にする。
  • 13. Mobility Technologies Co., Ltd.  難しい箇所  エラー内容をサーバに返す前に死なれると何が起きていたかわからない  ログにしかエラー内容は出力されない  デバイスに接続してログを確認するしかない  SSHサーバは入っていないため、SSH接続はできない  タクシー車両に行きコンソールケーブルを接続して参照する必要あり ログは見ることができない 13 Webの場合 IoTデバイスの場合 ログの参照 Cloud watch ポチー ssh ポチー 現地にいってデバイスに物理接 続
  • 14. Mobility Technologies Co., Ltd.  難しい箇所  OTA(Over The Air)による自己アップデートシステムの整備が必須  デバイス側がオンラインになったときに、アップロードプログラムを確認し、あれば自 身を更新する仕組み  すべてのモジュール更新がOTAでできるわけではない  インストールメディアをいれたSDカードを持ってタクシー車両に行き、SDカードをド ライブレコーダに指してインストール作業が必要  数百台の作業になることもあり、人海戦術となる アップデートは一大イベント 14 Webの場合 IoTデバイスの場合 デプロイの方法 git pull ポチー OTA (Over The Air) or 人海戦術
  • 15. Mobility Technologies Co., Ltd.  ハマった箇所  2000年のログが送られてくる  IoTデバイスのマザーボードには時計が内蔵されていないため、起動直後は2000年1月1 日になる  GPS等を介して時刻を取得すると、正しい時刻になる 時間が正しいとは限らない 15 Webの場合 IoTデバイスの場合 時刻同期 マザーボードに時計がある。 NTPで常に同期。 デバイスに時計があるとは限ら ない
  • 16. Mobility Technologies Co., Ltd.  Webのデータ収集とIoTデバイスのデータ収集は必要なスキルセットが違う!  バイナリデータの扱い  クロスコンパイル・組み込みプログラミング  ハードウェアの知識  ネットワークの知識  電源への配慮  ログ参照やアップデートへの考慮  時計への配慮 まとめ 16

Notas del editor

  1. 1:00
  2. ~3:00 60sec