기상 관측소 설정의 일부로 라즈베리 파이 싱글 보드 컴퓨터를 사용하여 주변 온도를 모니터링할 수 있는 방법에는 여러 가지가 있습니다. 라즈베리 파이의 GPIO 핀에 연결된 외부 센서를 사용할 수도 있지만, 여기서는 센스 햇이 장착된 라즈베리 파이를 사용하여 온도를 모니터링하는 방법을 설명합니다.

센스 햇이란?

이미지 출처: 라즈베리파이

라즈베리파이 회사에서 설계하고 제작한 공식 라즈베리파이 HAT(하드웨어 부착형) 애드온 보드인 센스 햇은 원래 국제 우주 정거장의 우주 비행사가 사용하기 위해 만들어졌습니다. 2015년부터 센스 햇이 장착된 두 대의 라즈베리 파이 컴퓨터가 현재 진행 중인 아스트로 파이 챌린지에 참가한 학생들이 설계한 과학 실험에 사용되었습니다. 이 두 대는 이후 라즈베리 파이 4를 기반으로 한 업그레이드 버전으로 교체되었으며 고품질 카메라가 장착되어 있습니다.

이미지 출처: 라즈베리 파이

우주용 전용 은색 케이스가 없는 Sense HAT 보드는 동일한 기능을 유지합니다. 40핀 GPIO 헤더가 장착된 모든 라즈베리 파이 모델과 호환되는 이 장치는 다양한 통합 센서를 통해 주변 환경을 인식하고 자신의 위치와 동작을 파악할 수 있습니다. 또한 텍스트, 그림, 그래픽과 같은 정보를 시각화할 수 있는 8×8 RGB LED 매트릭스를 갖추고 있습니다. 또한 컴팩트한 5방향 조이스틱이 내장되어 있습니다.

센스 햇은 다음과 같은 포괄적인 센서 기능을 제공합니다:

STMicro HTS221 센서는 0~100% 범위 내에서 상대 습도를 측정할 수 있으며 32°F~149°F(0°C~65°C, 정확도 +/- 2°C) 범위의 온도를 감지할 수 있습니다.

STMicroelectronics에서 제조한 LPS25HB 압력 센서의 측정 범위는 260~1260hPa이며 59°F~104°F(15°C~40°C, 정확도 +/- 0.5°C) 범위의 온도를 감지할 수 있습니다.

온도는 습도 또는 압력 센서에서 수집한 데이터를 분석하여 얻을 수도 있고, 이 두 센서에서 도출된 데이터의 평균값을 취하여 계산할 수도 있습니다.

Sense HAT에 통합된 LSM9DS1 관성 측정 유닛은 지표면과 관련하여 장치의 각속도를 결정하고 정량화할 수 있을 뿐만 아니라 지구 중력장에 대한 회전 속도를 평가할 수 있는 기능을 갖추고 있습니다.

IMU에는 다양한 방향에서 가속력을 측정할 수 있는 가속도계도 포함되어 있습니다.

이 글도 확인해 보세요:  ChatGPT가 암호화폐 거래에 도움이 되는 5가지 방법

관성 측정 장치(IMU) 내의 자력계는 지구의 자기장을 감지하는 기능을 활용하여 자북의 방향을 확인하고 나침반 판독값을 제공합니다.

다용도 라즈베리 파이 HAT의 기능과 잠재적 응용 분야를 포괄적으로 이해했으면 이제 특정 프로젝트 요구 사항에 맞는 구현 프로세스를 시작할 수 있습니다.

1단계: 센스 HAT 장착

센스 HAT와 라즈베리 파이를 연결하려면, 라즈베리 파이의 전원이 완전히 꺼지고 전원에서 분리되어 있는지 확인합니다. 그런 다음, 제공된 검은색 헤더 익스텐더가 포함된 Sense HAT 유닛을 라즈베리 파이의 40핀 GPIO 헤더에 조심스럽게 삽입하여 Sense HAT가 라즈베리 파이 보드 위에 놓이도록 합니다. 모든 핀이 올바르게 정렬되고 두 행이 모두 완전히 연결되었는지 확인합니다. 보안을 강화하기 위해 나사로 고정하는 스탠드오프를 사용하여 Sense HAT를 제자리에 고정할 수 있습니다.

40핀 GPIO 인터페이스를 갖춘 표준 라즈베리 파이 모델을 사용하는 것은 허용됩니다. 그러나 라즈베리 파이 400과 관련된 한 가지 주목할 만한 제약 조건은 GPIO 헤더가 통합 키보드에 인접한 뒷면에 배치되어 있다는 점입니다. 따라서 Sense HAT의 방향이 뒤바뀌게 되어 연결 목적으로 추가 GPIO 연장 케이블을 사용해야 합니다.

2단계: 라즈베리 파이 설정

라즈베리 파이의 작동을 시작하려면 먼저 입력 기능을 위해 USB 키보드와 마우스를 삽입해야 합니다. 또한 적절한 케이블을 통해 장치와 디스플레이 장치 또는 TV를 연결해야 합니다. 작동을 시작하기 전에 다른 곳에 자세히 설명된 설치 프로세스에 따라 기본 라즈베리 파이 운영 체제(OS)가 포함된 microSD 카드를 설치해야 합니다. 이러한 전제 조건이 충족되면 전원을 활성화하여 라즈베리 파이의 작동을 시작할 수 있습니다.

또 다른 옵션은 디스플레이를 생략하고 추가 컴퓨팅 장치 또는 가젯에서 보안 셸(SSH)을 통해 원격 액세스를 설정하여 헤드리스 구성으로 Sense HAT가 포함된 Raspberry Pi를 활용하는 것입니다. 이러한 시나리오에서는 Thonny Python 통합 개발 환경(IDE)을 사용할 수 없으며, 대신 나노 텍스트 편집기를 활용하여 프로그램을 편집하고 터미널 명령을 통해 실행할 수 있습니다.

Sense HAT 펌웨어가 사전 설치되었는지 확인하려면 확인 프로세스를 수행하는 것이 좋습니다. 확인하려면 다음 단계를 따르세요: 1. 컴퓨터에서 터미널 에뮬레이터 애플리케이션을 엽니다. 2.터미널 창에서 아래에 제공된 명령을 입력하고 Enter 키를 누릅니다: “`bash sudo dmesg | grep -i sensehat “` 3. 출력에 센스 햇과 관련된 정보가 표시되면 센스 햇이 성공적으로 감지되어 라즈베리 파이와 함께 사용하도록 구성된 것입니다. 그러나 이러한 정보가 표시되지 않으면 아래에 설명된 대로 필요한 드라이버를 수동으로 설치하십시오.

 sudo apt install sense-hat

소프트웨어의 최신 업데이트가 라즈베리파이에 제대로 적용되고 구성되었는지 확인하려면 새 패키지 또는 모듈을 설치한 후 시스템을 재시작하는 것이 좋습니다. 이 작업은 장치의 전원을 껐다가 다시 켜기만 하면 됩니다.

 sudo reboot

3단계: 파이썬으로 프로그래밍 시작

스크래치 블록 기반 프로그래밍 언어와 함께 라즈베리파이 센스 햇을 활용하는 것도 가능하지만, 데이터 수집 및 시각화를 시연하기 위해 선호하는 프로그래밍 언어인 파이썬을 사용하여 센스 햇이 수집한 감각 정보를 얻고 전시할 것입니다.

이 글도 확인해 보세요:  블루투스 LC3 코덱이란? SBC보다 더 나은 코덱인가요?

라즈베리 파이에서 파이썬 프로그래밍을 위한 통합 개발 환경인 Thonny를 활용하면 유용한 디버깅 도구를 포함한 포괄적인 기능 세트를 통해 원활하게 작동할 수 있습니다. 라즈베리 파이의 운영 체제 인터페이스에서 이 기능에 액세스하려면 메뉴를 나타내는 왼쪽 상단 모서리 아이콘으로 이동하여 ‘프로그래밍’을 선택한 다음 ‘Thonny IDE’를 선택합니다.

4단계: 온도 측정하기

Thonny 통합 개발 환경(IDE)의 기본 창에 다음 코드 줄을 입력합니다:

 
from sense_hat import SenseHat

sense = SenseHat()
sense.clear()

temp = sense.get_temperature()
print(temp)

코드의 첫 줄은 라즈베리 파이 OS와 함께 사용하도록 설계된 기존 sense\_hat 파이썬 라이브러리에서 SenseHat 클래스를 가져와서 할당합니다. 이후 이 할당을 “sense” 변수라고 합니다. 마지막으로, 센스 햇의 LED 매트릭스에 이전에 표시된 패턴을 제거하기 위해 클리어 명령이 실행됩니다.

온도 측정값을 얻으면 Thonny 통합 개발 환경의 Shell 인터페이스에 섭씨 형식으로 표시됩니다. 사용자는 이 값을 화씨로 미리 변환하는 것을 선호할 수 있습니다.

 temp = (sense.get_temperature() * 1.8 + 32) 

정확성을 보장하기 위해 온도 센서 판독값은 소수점 이하 여러 자릿수가 존재하므로 소수점 이하 한 자리로 반올림하는 것이 필수적입니다. 이 목적을 달성하기 위해 round() 함수를 사용하여 측정값의 유효 자릿수를 효과적으로 줄일 수 있습니다.

 temp = round(temp, 1) 

`sense.get_temperature()` 함수는 습도 센서 내에 내장된 온도 센서에서 온도 데이터를 가져옵니다.또한 `sense.get_temperature_from_pressure()` 메서드를 사용하여 압력 센서에서 온도 판독값을 얻을 수 있습니다. 또한 두 판독값을 합산한 다음 2로 나누어 두 판독값의 평균값을 도출할 수도 있습니다.

5단계: 센스 햇에 온도 표시

파이썬 셸에서 단독 온도 판독값을 인쇄할 때 시각적 효과를 높이기 위해 센스 햇의 RGB LED 매트릭스를 활용하여 판독값의 연속 스트림을 표시해 보겠습니다. 스크롤 텍스트 메시지를 표시하기 위해 show\_message() 함수를 사용합니다. 또한 10초의 일정한 간격으로 시간 라이브러리에서 sleep() 함수를 호출하여 지속적으로 새로운 측정값을 얻는 while:True 루프를 통합할 것입니다.

 from sense_hat import SenseHat
from time import sleep

sense = SenseHat()
sense.clear()

while True:
 temp = (sense.get_temperature() * 1.8 + 32)
 temp = round(temp, 1)
 message = "Temp: " + str(temp)
 sense.show_message(message)
 sleep (10)

이 코드를 실행하면 변화하는 온도 수치를 실시간으로 LED 매트릭스에 표시합니다. 사용자는 센스 모자에 숨을 부드럽게 내쉬며 온도 변화를 관찰할 것을 권장합니다.

이 글도 확인해 보세요:  이스터 에그란 무엇인가요? 소프트웨어, 웹사이트, 게임, 영화에 숨겨진 이스터에그 27가지 예시

라즈베리파이 상단의 Sense HAT를 통해 얻은 온도 판독값은 바로 아래에 위치한 중앙 처리 장치(CPU)에서 전도되는 열 에너지의 영향을 받을 수 있으므로 주의해서 측정해야 합니다. 이러한 측정의 정확도를 높이려면 Sense HAT의 위치를 변경하거나 더 큰 마운팅 헤더를 사용하여 높이를 라즈베리 파이 표면 위로 더 높이는 등 몇 가지 수정이 필요할 수 있습니다.

라즈베리 파이를 사용하여 온도 모니터링

이 프로젝트에서 독립형 온도 센서를 구현하는 것도 대안이 될 수 있지만, Sense HAT를 활용하면 라즈베리 파이를 사용하여 온도를 원활하게 모니터링할 수 있습니다. 또한 이 장치를 사용하면 기압 및 상대 습도 등의 추가 데이터 포인트를 수집하여 LED 매트릭스에 표시할 수 있습니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.