Soumettre la recherche
Mettre en ligne
第42回中華製安価デバイスの通信を解析した話
•
0 j'aime
•
3,185 vues
civic Sasaki
Suivre
第42回NDSでの発表。 温度ロガーRC-4の通信内容を解析したはなし
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 45
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
第39回続・古くなったkindle4
第39回続・古くなったkindle4
civic Sasaki
第38回載せられないapp
第38回載せられないapp
civic Sasaki
Firefoxos
Firefoxos
civic Sasaki
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
civic Sasaki
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46
civicpg
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
今日帰ってすぐに始められるChrome App #nds45
今日帰ってすぐに始められるChrome App #nds45
civic Sasaki
第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけ
civicpg
Recommandé
第39回続・古くなったkindle4
第39回続・古くなったkindle4
civic Sasaki
第38回載せられないapp
第38回載せられないapp
civic Sasaki
Firefoxos
Firefoxos
civic Sasaki
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
第43回NDS NetBeansを使ったJavaプロファイリングの紹介
civic Sasaki
私の好きなPython構文 vol.2 #nds46
私の好きなPython構文 vol.2 #nds46
civicpg
LT: 今日帰ってすぐに始められるPython #nds45
LT: 今日帰ってすぐに始められるPython #nds45
civic Sasaki
今日帰ってすぐに始められるChrome App #nds45
今日帰ってすぐに始められるChrome App #nds45
civic Sasaki
第49回emailを安全んにつかうための心がけ
第49回emailを安全んにつかうための心がけ
civicpg
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
civic Sasaki
Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話
civic Sasaki
第37回NDS Java並行処理 今昔物語
第37回NDS Java並行処理 今昔物語
civic Sasaki
第36回NDS 発表資料 ちょこっとpython
第36回NDS 発表資料 ちょこっとpython
civic Sasaki
Nds35 kindle4
Nds35 kindle4
civic Sasaki
NDS31 はじめてChrome App
NDS31 はじめてChrome App
civic Sasaki
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Contenu connexe
Plus de civic Sasaki
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
civic Sasaki
Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話
civic Sasaki
第37回NDS Java並行処理 今昔物語
第37回NDS Java並行処理 今昔物語
civic Sasaki
第36回NDS 発表資料 ちょこっとpython
第36回NDS 発表資料 ちょこっとpython
civic Sasaki
Nds35 kindle4
Nds35 kindle4
civic Sasaki
NDS31 はじめてChrome App
NDS31 はじめてChrome App
civic Sasaki
Plus de civic Sasaki
(6)
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
むずかしくないJavaScriptのやさしい話 jQueryからの次のステップ #ndsmeetup8
Amazon SESのメール受信対応でサーバー減らせた話
Amazon SESのメール受信対応でサーバー減らせた話
第37回NDS Java並行処理 今昔物語
第37回NDS Java並行処理 今昔物語
第36回NDS 発表資料 ちょこっとpython
第36回NDS 発表資料 ちょこっとpython
Nds35 kindle4
Nds35 kindle4
NDS31 はじめてChrome App
NDS31 はじめてChrome App
Dernier
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Dernier
(8)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
第42回中華製安価デバイスの通信を解析した話
1.
中華製安価デバイスを 解析した話 第42回 NDS 2015/06/13 @civic
2.
今日お話する内容 デバイス通信の解析
3.
今日お話しする内容 • ニーズについて • 温度ロガーについて •
解析方法について • 出来上がった成果
4.
ニーズについて
5.
キャンプとか 好き
6.
アウトドアの天候は 変わりやすい
7.
寒い!
8.
暑い!!
9.
色んな経験をした • どのぐらい寒かった/暑かった • ある一時点の気温では説明しきれない •
一日の温度変化を記録すれば説得力抜群
10.
暑い/寒い以上の情報量
11.
データロガー • 温度、湿度などの環境情報を 定期的に記録
12.
温度ロガーを使って キャンプ中の温度を ロギングしよう!
13.
温度ロガー
14.
温度ロガーは結構高価 • 有名メーカーのものは数万円 • 温度センサーの部品は安い •
PC接続するタイプは安い • バッテリー駆動必須 • min/maxの記録だけのは安い
15.
Amazonで安いの発見 安心の中国製
16.
スペック • ボタン電池型の充電可能バッテリー • 外部電源なしで単体動作 •
USB接続でデータ取得 • 10分間隔の記録で111日間の記録が可能 • 記録間隔は設定可能(10秒∼24時間)
17.
価格=3100円⁉
18.
唯一の問題点
19.
Windowsツールのみ 意外と高機能 データ取り込みや、 パラメータ設定に使用
20.
カスタマーQ&A
21.
回答
22.
余談
23.
!?
24.
VirtualBoxでなんとかなる
25.
インストール時 • USB-UART変換ドライバ がインストールされてた
26.
解説しよう 温度ロガー Windows USBケーブル 管理ツール COMx ←温度データくれ リクエスト 温度データ レスポンス→
27.
できる? 温度ロガー MacOS or Linux USBケーブル 自前 プログラム/dev/tty.* ←温度データくれ リクエスト 温度データ レスポンス→
28.
解析方法について
29.
通信をのぞき見 • 通信をのぞき見するか、ブリッジできればよい • そういったソフトウェアがたくさんある •
レガシーデバイスの再利用で需要あるみたい
30.
モニタリングツール • Free Serial
port Analyzer • 無料ながらも高機能
31.
Free Serial Analyzer ←便利!
32.
バイナリデータを 見てわかるのか不安
33.
意外と分かりやすかった
34.
解析方針 • モニターしながら設定値を1箇所だけ変更 • 変更前後の差分から推測
35.
例: 日付時刻 07 DF
05 0E 16 2F 04 -- -- -- -- -- -- -- YY YY MM DD HH MI SS 2015 / 5/14 22:47:04
36.
チェックサム • モジュロ256 • sumして256で割ったあまりが末尾についてる →0x00∼0xFFの1バイト
37.
一応解析できた • 初期化処理? • 設定値取得 •
設定更新 • 記録データ取得
38.
できあがった成果
39.
Pythonプログラムとして作成 • データアクセス用のライブラリ • コマンドラインツール
40.
データ取得 $ elitech-device.py -c
get /dev/tty.SLAB_USBtoUART 1 2015-06-11 23:34:34 26.5 2 2015-06-11 23:35:34 26.7 3 2015-06-11 23:36:34 26.8 4 2015-06-11 23:37:34 26.9 5 2015-06-11 23:38:34 27.0 6 2015-06-11 23:39:34 27.0 7 2015-06-11 23:40:34 27.0 8 2015-06-11 23:41:34 27.1 9 2015-06-11 23:42:34 27.1
41.
設定値取得 $ elitech-device.py -c
devinfo /dev/tty.SLAB_USBtoUART stop_button=StopButton.ENABLE rec_interval=00:01:00 alarm=AlarmSetting.NONE delay=0.0 tone_set=ToneSet.NONE work_sts=WorkStatus.STOP current=2015-06-12 02:06:24 last_online=2015-06-12 02:06:07 temp_calibration=-1.5 station_no=3 user_info=RC-4 Data Logger upper_limit=60.0
42.
ライブラリとして利用 import elitech # 初期化 device
= elitech.Device("/dev/tty.SLAB_USBtoUART") device.init() # デバイス設定値の取得 devinfo = device.get_devinfo()
43.
ソースコード公開 • Github https://github.com/civic/elitech-datareader • PyPI登録 pip
install elitech-datareader
44.
まとめ
45.
まとめ • モニタリングツールを使えば便利 • 通信フォーマットが単純なら解析可能 •
USBシリアルポート変換ドライバだったので可 能だった
Télécharger maintenant