산불에 필요한 데이터 F_tmep, F_humidity, F_pressure, F_gas을 socket으로 받아오면 packet을 처리하고, 화면에 보여주는 과정을 개발했다.
일단. socket.js파일에 protocol에 맞게 info와 item, size, format을 설정해주었다.
{ info: 0x50, item: 'F_Temp', size: 2, format: HEX100_, unit: '℃'},
{ info: 0x51, item: 'F_Humidity', size: 2, format: HEX100, unit: '%'},
{ info: 0x52, item: 'F_Pressure', size: 4, format: HEX},
{ info: 0x53, item: 'F_Gas', size: 4, format: HEX},
그런 다음에 pgadmin을 통해 위 4개의 열을 packet 테이블에 추가해주고, packet.model.js 에 아래 코드를 추가해주었다.
F_Temp: {
type: DataTypes.DOUBLE,
field: "f_temp"
},
F_Humidity: {
type: DataTypes.DOUBLE,
field: "f_humidity"
},
F_Pressure: {
type: DataTypes.DOUBLE,
field: "f_pressure"
},
F_Gas: {
type: DataTypes.DOUBLE,
field: "f_gas"
},
추가한 후 hercules를 통해 나의 ip와 port number을 통해 connect 후 packet을 send했다.
그 결과 제대로 받고 protocol에 맞게 저장이 된 걸 확인할 수 있었다.

--> 막혔던 부분 : packet을 전송하는 과정에서 안에 protocol을 변경하고 보냈다. 하지만 우리 protocol은 내용에 따라 checksum / length가 변하기 때문에 건들면 안된다. 이걸 이해하고 소장님께 test packet을 받아와 테스트해보니 제대로 구현이 되었다.
ollectedDataList.js에도 아래 코드를 추가해준 후 (수집데이터)화면에서도 확인할 수 있었다.
{ grow: 1, minWidth: 30, name: 'F_Temp', key1: 'F_Temp' },
{ grow: 1, minWidth: 30, name: 'F_Humidity', key1: 'F_Humidity' },
{ grow: 1, minWidth: 30, name: 'F_Pressure', key1: 'F_Pressure' },
{ grow: 1, minWidth: 30, name: 'F_Gas', key1: 'F_Gas' },