집에서 매일 피아노 연습 시간을 시각화 (RaspberryPi + Pixela)
3559 단어 RaspberryPiUSBPython3Pixela
소개
최근 취미로 전자 피아노를 연주하게 되었습니다만, 집에서의 매일 연습 시간을
자동으로 기록할 수 있으면 좋다고 생각해, 피아노의 연습 시간을 Pixela로 가시화하는 구조를 만들어 보았습니다.
시스템 개요
전자 피아노와 RaspberryPi를 USB로 연결하고 USB 빼내기(=피아노 전원 ON/OFF)를
RaspberryPi 측에서 감지합니다.
피아노가 전원 ON 되어 있는 사이의 시간을 계측해, 피아노 연습 시간으로서 Pixela에 기록합니다.
사용환경
전자 피아노와 RaspberryPi를 USB로 연결하고 USB 빼내기(=피아노 전원 ON/OFF)를
RaspberryPi 측에서 감지합니다.
피아노가 전원 ON 되어 있는 사이의 시간을 계측해, 피아노 연습 시간으로서 Pixela에 기록합니다.
사용환경
RaspberryPi Zero (별도 무선 LAN 모듈 준비)
※전자 피아노는 USB 접속 단자가 붙어 있는 것을 사용합니다.
피아노 전원 ON/OFF를 감지
Python의 pyudev라는 모듈에서 USB 연결 상태를 확인합니다.
※이하의 기사를 참고로 했습니다.
RaspberryPi로 USB 메모리를 꽂은 것을 사용자 프로그램에서 인식
USB 접속의 action=add를 검지한 시간으로부터, action=remove를 검지한 시간까지를 계측해,
그날의 피아노 연습 시간으로 간주합니다.
Pixela에 기록
위에서 산출한 피아노 연습 시간을 WebAPI 경유로 Pixela에 보냅니다.
같은 날에 여러 번 연습하는 경우도 있기 때문에 Pixela에서 대상일 연습 시간을 한 번 취득한 후,
이번 분의 시간을 더해 Pixela에 보내도록 합니다.
Pixela
Pixela API Document
우선, Pixela의 유저 작성과 그래프의 작성을 커멘드 라인으로 실시합니다.
이쪽도 WebAPI 경유로 실시합니다.
$ curl -X POST https://pixe.la/v1/users -d '{"token":"<x-user-token>", "username":"<username>", "agreeTermsOfService":"yes", "notMinor":"yes"}'
{"message":"Success.","isSuccess":true}
그래프 id는 임시로 "piano-time-graph"로 둡니다.
$ curl -X POST https://pixe.la/v1/users/<username>/graphs -H 'X-USER-TOKEN:<x-user-token>' -d '{"id":"piano-time-graph","name":"piano-time-graph","unit":"minutes","type":"float","color":"shibafu","timezone":"Asia/Tokyo","isSecret":true,"publishOptionalData":true}'
{"message":"Success.","isSuccess":true}
프로그램에서는, 일단, 대상일의 연습 시간을 취득(GET)하고 나서,
이번 분의 시간을 더해 Pixela에 송신(PUT)하도록(듯이) 합니다.
단순히 이번 분의 시간을 Pixela에 송신(PUT)하는 것만으로,
그날 Pixela에 기록 된 시간을 덮어 씁니다.
또, Pixela에 그 날의 시간이 기록되어 있지 않은 경우(그 날 처음 연습하는 경우),
시간을 취득(GET)하려고 해도 올바른 값을 취할 수 없습니다.
$ curl -X GET https://pixe.la/v1/users/<username>/graphs/piano-time-graph/20200227 -H 'X-USER-TOKEN:<x-user-token>'
{"message":"Specified pixel not found.","isSuccess":false}
소스 코드 전문
아래를 참조하십시오.
htps : // 기주 b. 코 m / 히 ls와 p / 피아의 P 등 c Chisechime
움직여 보자
Pixela URL을 브라우저에서 두드리십시오.
며칠 동안 기록해 보았습니다.
아직도 전체적으로 흰색이지만, 1년 정도 계속하면 보기 좋게 될까? 라고 생각합니다. (처음은 긴・・・)
Pixela URL을 브라우저에서 두드리십시오.
며칠 동안 기록해 보았습니다.
아직도 전체적으로 흰색이지만, 1년 정도 계속하면 보기 좋게 될까? 라고 생각합니다. (처음은 긴・・・)
Reference
이 문제에 관하여(집에서 매일 피아노 연습 시간을 시각화 (RaspberryPi + Pixela)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hillstop/items/5825e8c31252df0136f4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)