라즈파이 (Linux)에서 USB 온도계로 온도 측정

방이 춥다 그래서 여러가지 조사했다.
집에서는 라즈파이 이 상시 움직이고 있으므로, 이것으로 온도를 측정하면 된다.
1-wire 로 움직인다 DS18B20 등의 온도 센서를 사용해 전자 공작하는 방법도 있지만(전에 했다), 납땜이라든지 1-wire 설정이라든지 상당히 귀찮다.


이번에는 더 간편하게 USB 온도계 thermometer-528018을 사용해 본다. 980엔 정도.


USB로 꽂아 리눅스로부터 온도를 얻을 수 있다.
Windows에서도 전용 앱으로 온도는 잡을 수 있지만 쓰기는 나쁘다.
Windows는 여기에서 TEMper 용을 다운로드 현재 v26 최신

USB이므로 Raspberry Pi처럼 I/O 포트가 없는 Linux 머신에서도 온도를 측정할 수 있으므로 서버실에 넣어도 좋을지도.

git에서 소스를 복제합니다.
libusb-dev가 없으면 오류가 발생합니다. gcc가 이미 있으면 설치가 필요하지 않습니다.
chmod u + s temper로 권한을 부여하지 않으면 root에서만 사용할 수 있으므로 권한을 추가해 둔다.
실행하면 날짜와 시간을 표시합니다.
$ sudo git clone git://github.com/bitplane/temper.git
  Cloning into 'temper'...
   :
$ cd temper/
$ sudo apt-get install gcc libusb-dev
$ sudo make
   :
$ sudo chmod u+s temper
$ ./temper 
28-Feb-2018 10:46,14.387618 

TIPS.1 현지 시간으로 설정



그대로라면 날짜가 그리니치 표준이므로 시간대에 맞춘다.

temper.c
- utc = gmtime(&t);
+ utc = localtime(&t);

TIPS.2 라즈파이의 함정



라즈베리 파이의 USB 포트에 직접 삽입했을 경우, 본체의 온도가 돌아가서 5℃ 정도 온도가 높아진다.
100 균의 USB 방향 전환기 뭔가를 걸리면 괜찮습니다.

나중에는 cron에서 호출하여 온도를 보고 IFTTT에 던지게 되고, 쉘 스크립트로 완만하게 되어 응용은 무한대 ∞.

기타 참고가 될 것 같은 사이트



Ambient
IOT 데이터 시각화 서비스. 라이브러리를 넣어 조금 수정할 필요는 있지만 그래프화할 수 있습니다.
Google Home에 센서 값을 말하도록 합니다.
말해 주면 기뻐요.
Raspberry Pi Zero 용 적외선 + 환경 센서 확장 보드 "RPZ-IR-Sensor"(단자 미실장)
USB가 아니어도 이런 것도 있습니다. 보드 직접 부착이므로 보드의 온도에 영향을 받을 것 같기 때문에 캘리브레이션은 필수일까?

단순히 라즈파이만으로 CPU 온도를 측정하려면


cat /sys/class/thermal/thermal_zone0/temp

의 값을 1/1000 하면 된다. 상당히 뜨겁기 때문에 놀랄지도 모릅니다

좋은 웹페이지 즐겨찾기