2013-01-15 1 views
0

serialport2를 사용하여 node.js에 pyserial을 사용하여 직렬 포트에 쓰는 파이썬 스크립트를 가져 오려고합니다.serialport2에서 node.js가있는 파이썬 bytes()

저는 파이썬에서 bytes()에 대해 매우 혼란 스럽습니다. 아무도 저에게 손을 줄 수 있습니까?

파이썬 :

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

그래서 어떻게이 Node.js를에해야합니까

?

node.js에 사용되는 serialport2는 here입니다.

+0

저는 파이썬 코드에서 bytes() 캐스트가 필요 없다고 확신합니다. 어쨌든 serialport2를 사용하여 node.js로 데이터를 읽는 방법을 묻고 있습니까? – ford

+0

node.js의 serialport2로 직렬 포트에 쓰려고합니다. 감사합니다. – utp

답변

0

node-serialport2 readme에서 :

쓰기 (완충액 [콜백])

직렬 포트에 데이터를 쓴다.

인수

  • buffer -이 노드의 버퍼 객체 나 문자열이 될 수 있습니다.
  • callback(err, byteWritten) - 바이트를 쓰고 콜백이 호출됩니다.

따라서 문자열 개체 또는 버퍼 개체를 인수로 사용할 수 있습니다. Buffer object은 아마 당신 (정수 값을 보내) 원하는 것을 할 것입니다 :

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

이이 배열의 내용을 버퍼를 초기화한다. 배열의 내용 은 바이트를 나타내는 정수입니다. 데이터를 저장하기위한

, 그것은 것 : 그런데

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

, 당신은 PySerial 파이썬에서 특별한 캐스팅을 수행 할 필요가 없습니다.

쓰기 (데이터)

  • 매개 변수 : 다음 PySerial API documentation에서 data - 데이터를 보낼 수 있습니다.
  • 반환 값 : 기록 된 바이트 수.
  • Raises SerialTimeoutException : 포트에 대한 쓰기 제한 시간이 구성되어 있고 시간이 초과 된 경우.

문자열 데이터를 포트에 씁니다.

버전 2.5에서 변경 : (파이썬 2.6 이상) 및 str을 사용할 수있는 경우 바이트 및 bytearray의 인스턴스를 허용합니다.

"버전 2.5에서 변경됨"노트에 유의하십시오.

0

아마 String.fromCharCode(code)을 검색하여 문자 코드를 JS의 문자열로 변환 할 수 있습니다.

는 serialport2 이것을 시도 :

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