Raspberry Pi 1 の nodeJs v0.12.6 でシリアルデータを解析したいです。
データは cat で正しいが、nodeJs (serialPort モジュール) でスクランブルされている
猫とデータOK
stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
cat /dev/ttyAMA0
与える
MOTDETAT 000000 B
ADCO XXXXXXXXXXX>
OPTARIF HC.. <
ISOUSC 30 9
HCHC 042116615
HCHP 034246387 8
PTEC HP..
IINST 001 X
IMAX 009 H
HHPHC C .
MOTDETAT 000000 B
ADCO XXXXXXXXXXXX>
結果は CR-ETX-STX-LF で、ブロックセパレータは CR-ETX-STX-LF です
2. nodeJs のデータが正しくない
私のnodeJsサーバー
var serialPort = new serialport.SerialPort('/dev/ttyAMA0', {
baudrate: 1200,
dataBits: 7,
parity: 'even',
stopBits: 1,
flowControl :true,
//CR-ETX-STX-BR
parser: serialport.parsers.readline(String.fromCharCode(13,3,2,10))
});
serialPort.on('data', function(data) {
console.log("data="+data);
});
結果は
ADCO 0PTARIF H 9
2116615
HCHP 031
..
01 X
9 H
.
T 000000
ADCO 0218 >
OC.. <
すべてのデータがスクランブルされています。なぜですか?
8 バイトを受信し、次に 8 バイトが失われ、次に 8 バイトが受信されたようです...