2013-01-15 22 views
0

我想獲得一個python腳本寫入與pyserial串行端口,以node.js使用serialport2。python字節()在serialport2與node.js

我對於python中的bytes()非常困惑,難怪任何人都可以幫我一把嗎?

蟒蛇:

ser.write(bytes(chr(160)) 
ser.write(bytes(chr(157)) 

讓我怎麼做到這一點的Node.js的?

node.js中使用的serialport2位於here

+0

我很確定在Python代碼中不需要bytes()強制轉換。無論如何,你是否問如何使用serialport2將數據讀入node.js? – ford

+0

我想通過node.js中的serialport2寫入串口,謝謝。 – utp

回答

0

node-serialport2 readme

寫(緩衝液,[回調])

寫數據到串口。

參數

  • buffer - 這可以是一個節點緩衝器對象或字符串。
  • callback(err, byteWritten) - 寫入字節後調用回調函數。

所以,你可以給一個字符串對象或Buffer對象作爲參數。一個Buffer object可能會做你想要的(發送整數值):

var buffer = new Buffer([ 8, 6, 7, 5, 3, 0, 9]);

這將初始化緩衝區這個數組的內容。請記住,數組的內容 是表示字節的整數。

爲您的數據,這將是:

var buffer = new Buffer([160, 157]); 

順便說一句,你不需要做任何特殊的鑄造用Python與PySerial。從PySerial API documentation

寫(數據)

  • 參數:data - 要發送的數據。
  • 返回:寫入的字節數。
  • 引發SerialTimeoutException:如果爲端口配置了寫入超時並且超出時間。

將字符串數據寫入端口。

版本2.5中的更改:當 可用(Python 2.6及更高版本)和str時,接受字節和bytearray的實例。

請注意「版本2.5中已更改」的說明。

0

也許您會搜索String.fromCharCode(code)將字符代碼轉換爲JS中的字符串。

與serialport2嘗試這種情況:

port.write(String.fromCharCode(160, 157));