nodejs serial port program ( 노드 시리얼포트 프로그램)
nodejs 로 serialport 통신을 할수가 있다.
동작 시키기 위해서는
아래의 사이트에 가서 module 을 받아야 한다.
https://www.npmjs.com/package/serialport
=> npm i serialport 을 실행하면 project 에서 serial port 를 사용할 수 있다.
사용방법은 간단하다.
var SerialPort = require('serialport')
const PORT = '/dev/ttyS0'
const BAUDRATE = 115200
var serialport = new SerialPort(PORT,{baudRate:BAUDRATE})
serialport.on('open', function() {
console.log("open ",serialport.isOpen);
});
serialport.on('data', function (data) {
console.log(" receive ",data);
});
serialport.write('Hello\n')
아래와 같이 되어 있다.
1. 선언하고
2. 설정하고
3.열고
4. 읽고
5. 쓰고
추가로 error 와 close 를 사용할 수 있는데
방법은 아래와 같다.
var SerialPort = require('serialport')
const PORT = '/dev/ttyS0'
const BAUDRATE = 115200
var serialport = new SerialPort(PORT,{baudRate:BAUDRATE})
serialport.on('open', function() {
console.log("open ",serialport.isOpen);
});
serialport.on('data', function (data) {
console.log(" receive ",data);
console.log('receive',data.toString('utf-8'));
});
serialport.on('error', function (msg) {
console.log(" Error ",msg.message);
process.exit()
});
serialport.on('close', function () {
console.log(" Close ");
});
// 포트를 종료하는 명령을 준다.
serialport.close()
포트가 열기도 전에 종료하라고 하면
error 가 선언되어 있는 곳으로 가고 process.exit() 를 만나서 프로그램을 종료 시킨다.
그럼 close 를 만나기 위한 방법도 구현해 본다.
var SerialPort = require('serialport')
const PORT = '/dev/ttyS0'
const BAUDRATE = 115200
var serialport = new SerialPort(PORT,{baudRate:BAUDRATE})
serialport.on('open', function() {
console.log("open ",serialport.isOpen);
serialport.close()
});
serialport.on('data', function (data) {
console.log(" receive ",data);
console.log('receive',data.toString('utf-8'));
});
serialport.on('error', function (msg) {
console.log(" Error ",msg.message);
process.exit()
});
serialport.on('close', function () {
console.log(" Close ");
});
포트가 열리면 종료하라고 선언한다.
그럼 정상적으로 close 구문으로 간다.
또 한가지 data 받는 부분에 toString('utf-8') 로 하였다.
이유는 data를 받을때 Buffer 형태로 받는다. 그냥 hex 값형태로 데이터를 받기 때문에 다 숫자로 나온다. 그래서, string 으로 변환해서 나오는 구문을 추가하였다.
댓글
댓글 쓰기