node.jsによるOBD2受信

OpenBlocks IoT BX1とインテルEdison KitでElm Electronics社製のELM327 OBD2 Bluetoothを使用するためにbluetooth-obdを使用します。

bluetooth-obdを使用することで以下の情報が取得できます。

・vas

・rpm

・temp

・load_pct

・map

・frp

1. bluetooth-obdのインストール

# npm install bluetooth-obd

 

2. 受信プログラム

// modules
var OBDReader = require('bluetooth-obd');

var btOBDReader = new OBDReader();
var dataReceivedMarker = {};
var currentData = new Object();
btOBDReader.on('dataReceived', function (data) {
    console.log("dataReceived");
     console.log(data);
     dataReceivedMarker = data;
});
btOBDReader.on('connected', function () {
    console.log("connected");
    this.addPoller("vss");
     this.addPoller("rpm");
     this.addPoller("temp");
     this.addPoller("load_pct");
     this.addPoller("map");
     this.addPoller("frp");
    this.startPolling(10000);
});
btOBDReader.autoconnect('OBDII');
console.log('auto connect');

※autoconnectに指定する引数’OBDII’はhcitool scanで表示されるOBD2レシーバの名前を指定する
※bluetooth-obdのサンプルプログラムを使用

3. 動作確認

# node プログラム名
auto connect
connected
dataReceived
{ value: 'OK' }
dataReceived
{ value: 'OK' }
dataReceived
{ value: 'OK' }
dataReceived
{ value: 'OK' }
dataReceived
{ value: 'OK' }
dataReceived
{ value: 'OK' }
dataReceived
{}
dataReceived
{ mode: '41', pid: '0D', name: 'vss', value: 0 }
dataReceived
{ mode: '41', pid: '0C', name: 'rpm', value: 711.5 }
dataReceived
{ mode: '41', pid: '05', name: 'temp', value: 89 }
dataReceived
{ mode: '41', pid: '04', name: 'load_pct', value: 21.484375 }
dataReceived
{ mode: '41', pid: '0B', name: 'map', value: 29 }
dataReceived
{ value: 'NO DATA' }
dataReceived
{ mode: '41', pid: '0D', name: 'vss', value: 0 }
dataReceived
{ mode: '41', pid: '0C', name: 'rpm', value: 708 }
dataReceived
{ mode: '41', pid: '04', name: 'load_pct', value: 21.484375 }
dataReceived
{ mode: '41', pid: '0B', name: 'map', value: 29 }
dataReceived
{ value: 'NO DATA' }

 

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中