[제네카페 데이터 로거 DIY] 1. 실험 및 시스템 설계

파일럿 테스트 설계

파일럿 테스트는 센서의 활용 가능성을 확인하기 위한 테스트이다.
파일럿 시스템은 다음의 기능을 갖추어야 한다.

  1. 라즈베리파이에서 적외선 센서를 통한 주기적인 온도 데이터 수집
  2. 수집한 센서값을 WiFi를 통해 DB로 전송
  3. 제네카페 로스팅으로부터 실제 데이터를 수집하여 데이터 분석
    – 데이터 필터링 방안 연구 (평활화, threashold 기반 필터링, 밴드패스 필터링, 보간)
    – 데이터 필터링을 위한 적정 윈도우 크기 연구

파일럿 시스템 설계

이 설계에는 분명한 단점이 있다.
바로 1Hz 이상의 샘플링레이트로 데이터를 실시간으로 수집하는 시스템의 데이터 수집과정에서 DB를 사용한다는 것이다.
하지만 파일럿 시스템은 센서값을 실시간으로 활용하지 않기 때문에 DB I/O로 인한 속도 저하는 문제되지 않는다.

두 번째 문제는 라즈베리파이의 시간 정확도가 낮다는 점이다.

– 과거 연구 중 라즈베리파이의 시간 정확도를 조사한 결과
* 하드웨어 타이머로는 DS3231을 사용

라즈베리파이는 단가 문제로 인해 태생적으로 시간 정확도가 떨어진다.
Rasbian OS에서의 경험상 소프트웨어 타이머에서 매초 1ms수준, 심한 경우 10~100ms수준의 딜레이를 확인한 적이 있다.
RTC를 달아준 후 커널 타이머로 측정하는 경우 매초 10us수준의 딜레이밖에 발생하지 않는다.
하지만 파일럿 시스템의 타겟은 센서값축(Y축)이기에 현 시점에서 시간축(X축)에서의 변동성은 고려할 필요가 없다.

프로토타입 시스템 설계

파일럿 테스트를 돌려보지 않아도 변동사항은 거의 없을 것으로 생각한다.
파일럿 시스템을 설계하는 겸 프로토타입 시스템도 함께 설계하였다.

시스템 버전은 귀찮음의 수준에 맞춰 두 가지로 만들었다.
물론 큰 귀찮음은 큰 성과를 야기한다.

ver. 작은 귀찮음

가장 일반적으로 생각해볼 수 있는 시스템 구조이다.
이 경우 앞서 말했듯 시간축(X축)에서 심각한 변동이 생긴다.
이를 해결하려면 반드시 별도의 하드웨어 타이머가 필요하다.
그것이 바로 아래의 큰 귀찮음 버전이다.

ver. 큰 귀찮음

하드웨어 타이머가 붙게 되면 여기서부턴 장난으로 끝나지 않고 상용 수준의 물건이 나오게 된다.
예전에 만들었던 코드들을 조각조각 이어 붙이면 직접 개발할 내용은 많진 않을 것 같은데
이 정도의 귀찮음을 올해의 내가 감당할 수 있을 거라 보진 않는다.

아티산의 오픈소스 프로젝트 취지를 고려하여 이 솔루션도 오픈소스로 풀 생각이다.
다만 제3자의 참여 독려와 일반 사용자의 편의를 위해서는 메인 배포자인 내가 어느 정도의 길을 닦아 놔야 할 것인데
둘 중 무엇이 되었든 올해 중엔 불가능할 것으로 생각한다.

Series Navigation<< [제네카페 데이터 로거 DIY] 0. 시작하며[제네카페 데이터 로거 DIY] 2. 파일럿 시스템 개발 >>

댓글 남기기