- package.json 경로에서
npm i
- websocket 방식
>> npm i fs;
>> npm i os;
>> npm i ip;
>> npm i websocket;
>> npm i shortip;
- firebase 사용
npm i firebase
wsc.js
- usebtswshost = "210.94.199.225"; // 테스트베드 IP입니다.
- usebtswsport = "3233"; // 테스트베드 port입니다.
- usebtswslocaluserid = USERID; // 테스트베드에 등록된 사용자입니다.
- 명령어
- websocket통신을 실행
>> cd radar
>> node wsc
- 코드설명
- firebase realtimeDB이용
var firebase = require('firebase/compat/app');
require('firebase/compat/database');//database사용
- count 속성을 추가해 객체 카운팅 결과를 jsonObj에 저장
radar_data['m2m:dbg']['message']['count'] = radar_data['m2m:dbg'].message.SenValue.length;
- jsonObj를 firebase에 저장
firebaseDB.ref('/').child('data').push(message);
- 명령어
>> cd testbed
>> npm start
- 코드설명
- firebase에 저장된 객체카운팅 결과를 가져와 cnt 변수에 저장
const data = firebaseDB.ref('/data')
.once('value', function (snap) {
for (var i in snap.val()) {
console.log(snap.val()[i].count);
}
setCnt(snap.val()[i].count);
})//ref의 뒤에 realtimeDB의 속성을 적으면 됨.
// 참고) 데이터를 지우며 가장 최근값만 저장해서 사실 for문을 안 돌려도 되지만, 과거 데이터를 사용할 일이 생길때를 대비해 for문으로 작성함.
}
- 버튼 클릭으로 혼잡도 체크
<form onSubmit={ShowCount}>
<button type="submit" >병원 혼잡도 보기</button>
</form>
<p>{cnt}명이 있습니다.</p>
}
- testbed -> firebase
- firebase -> react app에서 count (객체 카운팅 변수값) 출력
-
활용한 프로젝트
-
깃허브 https://github.com/baeksoojin/FindSmartHospital
radar sensor를 활용한 병원 대기실 객체탐지 및 예약관리 시스템 활용
결과 : 서비스아이디어상 수상🎖