

여름입니다. 원래는 더위를 식혀줄 거라 생각했던 강풍이 선풍기를 통해 집 안으로 몰아치고, 찜통 같은 더위가 세상을 지배하는 계절이죠. 그 불쾌감을 달래보려고 물 한 병을 집으러 달려가지만, 물이 미지근해서 마셔도 시원함이 느껴지지 않습니다. 즉시 모든 문제가 해결될 것 같은 냉장고가 떠오릅니다. 하지만 꼭 그렇지만은 않습니다. 병을 냉장고 안에 넣고 차가워지기를 조마조마하게 기다립니다. 하지만 10분마다 냉장고를 열어 병이 충분히 식어 갈증을 해소할 수 있을 만큼 차가워졌는지 확인하지만, 여전히 그렇지 않습니다. 이 과정은 비효율적일 뿐만 아니라, 병을 차갑게 만드는 데 사용될 수 있는 귀중한 냉기를 낭비하게 됩니다.
그렇다면 무엇을 할 수 있을까요? 아니, 사실 라즈베리 파이로 무엇을 할 수 있을까요? 알고 보니, 꽤 많은 일을 할 수 있습니다. 지갑만한 크기의 이 싱글 보드 컴퓨터는 물이 언제 가장 차가운지 정확히 알려주므로, 더 이상 추측할 필요가 없습니다. 10분마다 냉장고를 열지 않고, 병에 온도 센서를 부착한 뒤 라즈베리 파이가 대신 기다리게 했습니다.
센서는 1분에 한 번씩 병의 온도를 확인합니다. 하지만 한 가지 문제가 있습니다. 물병에는 명확한 ‘완료’ 시점이 없다는 점입니다. 온도는 냉장고 내부 온도에 점점 더 가까워지지만, 그 속도는 점점 더 미세해져서 특정 지점에 완전히 도달하지는 못합니다. 그래서 정확한 수치 하나를 지켜보는 대신, 라즈베리 파이(Pi)가 온도 변화율을 모니터링하도록 설정했습니다. 15분 동안 온도 변화가 0.2°C 미만으로 유지되고, 연속 세 번의 측정에서 그 수치가 변하지 않으면, 더 이상 차가워지지 않은 상태라고 판단합니다. 이 시점이 되면 라즈베리 파이는 ‘ntfy’라는 앱을 통해 제 휴대폰으로 바로 알림을 보내고, 저는 드디어 시원하게 식은 생수 한 병을 꺼내 마실 수 있습니다.

먼저 라즈베리 파이 SD 카드에 운영 체제를 설치하세요. 라즈베리 파이에는 운영 체제가 기본으로 탑재되어 있지 않습니다. 컴퓨터에서 Raspberry Pi Imager를 다운로드하고, Pi 모델과 운영 체제로 Raspberry Pi OS를 선택한 다음, 사용할 SD 카드를 지정하세요. 설정에서 호스트 이름, 사용자 이름, 비밀번호 및 Wi-Fi 정보를 설정하면, 이 정보들이 SD 카드에 입력됩니다.
SD 카드를 라즈베리 파이에 다시 삽입하고 마이크로 HDMI 케이블을 사용하여 모니터나 TV에 연결하세요. 저는 TV를 사용했는데, TV에는 HDMI 입력 단자를 선택하라는 메시지가 표시되었습니다(TV에는 대개 여러 개의 HDMI 포트가 있기 때문이죠). 연결한 포트에 해당하는 입력 번호를 선택하면 라즈베리 파이 데스크톱 화면이 나타납니다. 라즈베리 파이에서 직접 작업하려면 USB 키보드와 마우스도 연결해 두세요.



DS18B20 센서에는 DAT(데이터), VCC(전원), GND(접지)의 세 가지 전선이 있습니다. 어댑터 보드를 사용하면 배선이 더 쉬워집니다. 프로브의 세 가닥 전선을 어댑터 보드의 단자대에 나사로 고정하면, 보드가 이를 다시 라벨이 붙은 세 개의 핀으로 분배해 줍니다. 이 핀들을 라즈베리 파이의 GPIO 헤더에 연결하세요. VCC는 핀 1(3.3V)에, GND는 핀 6에, DAT는 핀 7(GPIO4)에 연결합니다.

컴퓨터에서 이 파이썬 스크립트를 USB 플래시 드라이브에 저장한 다음, 해당 드라이브를 라즈베리 파이에 연결하고 파일을 바탕화면에 복사하세요.
터미널을 열고 sudo raspi-config를 실행하세요. ‘Interface Options’로 이동한 다음 ‘1-Wire’를 선택하고 ‘Yes’를 누른 후, 마지막으로 재부팅하세요.
이 단계는 선택 사항이지만, 제 경우에는 전선이 너무 헐거워서 센서가 작동하지 않아 시행착오를 거쳐야 했습니다. 확인하려면 먼저 터미널에서 `ls /sys/bus/w1/devices/` 명령어를 실행하세요. 28-로 시작하는 폴더가 보이면 센서가 올바르게 연결되어 감지된 것입니다. 해당 폴더가 표시될 때까지 이 과정을 반복하세요.
휴대폰에 ntfy 앱을 설치하고, 원하는 주제 이름을 구독하세요. 그러면 물병이 충분히 식었을 때 알림을 받게 됩니다.

필요한 라이브러리 하나를 설치한 후(터미널에서 "pip install requests --break-system-packages"를 입력), "python3 coldwater_monitor.py"를 입력하여 실행하세요.
센서의 금속 프로브를 병의 측면에 평평하게 밀착시킨 다음, 프로브가 플라스틱과 직접 접촉된 상태를 유지하도록 둘을 함께 테이프로 감싸세요. 병은 서늘한 곳에 두되, 라즈베리 파이는 찬 공기에 노출되지 않는 곳에 두세요. (배터리가 없기 때문에 정상적으로 작동하려면 24시간 내내 전원에 연결되어 있어야 합니다.)
이제 모든 준비가 끝났으니, 라즈베리 파이가 알아서 처리하는 동안 편안히 앉아 휴식을 취하기만 하면 됩니다. 병의 온도가 일정해지면, 라즈베리 파이가 바로 휴대폰으로 알림을 보내주니, 가서 시원한 음료를 꺼내 마시면 됩니다! 그게 전부입니다. 가장 차가운 물을 최대한 빨리 즐길 수 있으니, 더 이상 냉장고 속 음료 찾기에 애를 먹거나 초조하게 기다릴 필요가 없습니다.
원문: https://www.instructables.com/Cold-Take-a-Raspberry-Pi-That-Notifies-You-When-Yo/