perfitt-kiosk-measure v0.1.8
설치
npm i perfitt-kiosk-measure --save
또는
yarn add perfitt-kiosk-measure
사용법
- 관련 모듈을 import 합니다
import {Listeners, getEvaluator, Engine} from 'perfitt-kiosk-measure'
- 엔진을 시작합니다.
엔진은 사이즈 측정 프로세스를 실행시킵니다.
const options = {
debug: true
}
Engine.start(options,(deviceUID, error) => {
console.log("deviceUID: ", deviceUID)
if(error){
console.error(error)
}else{
console.log("engine has started")
}
})
debug 옵션의 경우 실제 카메라를 이용하지 않습니다. 콜백함수의 error 객체의 경우 현재 "kiosk not confirmed" 에러만을 포함합니다. kiosk not confirmed error는 서버에 키오스크 specific information 이 입력되지 않았거나 사용 승인이 나지 않았을 때 발생하므로 이후 키오스크의 사용이 정지되어야합니다. deviceID의 경우, 이후 서버로의 데이터 전송시 무조건 같이 보내주어야하는 정보이므로 어디다 저장해놓고 사용하는 것을 권장합니다.
- evaluator 사용
evaluator 객체는 singleton 방식으로 직접 생성하지 않고 getEvaluator() 함수를 통해 가져옵니다. evaluator 객체는 측정값의 유효성 확인 및 실시간 점수 계산/표현에 사용됩니다.
const evaluator = getEvaluator() /// evaluator 객체를 리턴합니다
/*
먼저 evaluator 객체에 발이 성공적으로 측정되었을 때의 콜백을 지정해줍니다.
*/
evaluator.addSuccessCallback((data, photo) => {
// data 는 {foot_length: 230.5, foot_width: 103} 형식의 json object 입니다
// photo 는 blob 형식으로 바로 FormData 객체에 실어주시면 됩니다.
// 예) 서버에 위 데이터의 전송이 완료되면 다음 페이지로 이동합니다.
})
/*
evaluator 객체는 Listeners 에서 startListening 을 호출해주고 feedRecord 하기 전까지는 어떠한 동작도 하지 않습니다.
*/
Listeners.startListening(async (data) => {
// data 는 python 프로세스로 부터 받은 측정 데이터가 들어있습니다.
// 이 데이터를 evaluator 객체에 먹여줘야합니다.
evaluator.feedRecord(data, (errorMsg) => {
// 이 콜백의 경우 현재는 '유저가 발을 움직였을 경우'에만 실행됩니다.
// 에러 메세지 예) '발을 움직이지 마세요'
})
const score = await evaluator.getScore()
// score 는 정수값으로 나옵니다.
// css 의 percent 값을 이 값으로 업데이트 해주면 됩니다.
});
});
// 실시간 발 영상의 주소를 가져옵니다.
const url = evaluator.getLiveFeedAddress()
// <img src={url}/>
- 측정 종료
측정이 끝나면 꼭 stopListening 함수를 호출해주어야합니다.
Listeners.stopListening()
주의사항
2번 프로세스는 root 파일에서 단 한번 실행하고 3,4번 프로세스는 매번 발을 잴 때 마다 실행해주어야합니다.
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago