Raspberry Pi×Arduino로 만든, 위험한 온도를 메일로 알려 주는 모니터링 시스템
한여름 더위에 혼자 사는 고령자가 방 안 온도가 올라가는 것을 모른 채 열사병으로 이송되는 사례가 늘고 있습니다. Zenn에 공개된 개인 개발 프로젝트 「THSense」는 떨어져 사는 가족을 돌보는 사람들을 위해 방의 온도와 습도를 지켜보다가 위험한 온도가 되면 메일로 알려 주는 시스템입니다.
기능은 단순합니다. 방의 온습도를 1분마다 측정하고, 35℃를 넘으면 메일을 보내며, 브라우저에서 현재 값과 지난 추이를 그래프로 볼 수 있습니다. 그래프로 보여 주는 이유는 온도가 계속 올라가는 것 같은 전조를 빨리 알아채기 위해서라고 합니다.
구성이 흥미로웠습니다. 센서(DHT20)를 읽는 일은 Raspberry Pi가 아니라 Grove Beginner Kit에 실린 Arduino에 맡겼습니다. 실시간성이 높고 정확한 값을 얻기 쉽기 때문입니다. Arduino는 60초마다 USB 시리얼로 문자열을 Raspberry Pi에 보내고, Raspberry Pi의 Python이 pyserial로 받아 숫자로 바꾼 뒤 온도 판단, 메일 발송, 데이터베이스 저장을 맡습니다. 데이터베이스는 Azure의 가상머신에 올린 MariaDB이고, 화면은 Flask와 Chart.js로 만들었습니다. 메일은 smtplib로 Gmail SMTP를 통해 보내고, 계정 정보는 코드에 적지 않고 .env에서 읽어 옵니다.
역할 분담이 분명해서 작은 IoT 설계 예시로 참고할 만합니다. 센서는 Arduino, 판단과 알림은 Raspberry Pi라는 나눔은 비슷한 공작을 생각할 때 저도 써먹을 수 있을 것 같습니다. 소스 코드는 GitHub에 공개되어 있다고 합니다.
출처: Zenn
기능은 단순합니다. 방의 온습도를 1분마다 측정하고, 35℃를 넘으면 메일을 보내며, 브라우저에서 현재 값과 지난 추이를 그래프로 볼 수 있습니다. 그래프로 보여 주는 이유는 온도가 계속 올라가는 것 같은 전조를 빨리 알아채기 위해서라고 합니다.
구성이 흥미로웠습니다. 센서(DHT20)를 읽는 일은 Raspberry Pi가 아니라 Grove Beginner Kit에 실린 Arduino에 맡겼습니다. 실시간성이 높고 정확한 값을 얻기 쉽기 때문입니다. Arduino는 60초마다 USB 시리얼로 문자열을 Raspberry Pi에 보내고, Raspberry Pi의 Python이 pyserial로 받아 숫자로 바꾼 뒤 온도 판단, 메일 발송, 데이터베이스 저장을 맡습니다. 데이터베이스는 Azure의 가상머신에 올린 MariaDB이고, 화면은 Flask와 Chart.js로 만들었습니다. 메일은 smtplib로 Gmail SMTP를 통해 보내고, 계정 정보는 코드에 적지 않고 .env에서 읽어 옵니다.
역할 분담이 분명해서 작은 IoT 설계 예시로 참고할 만합니다. 센서는 Arduino, 판단과 알림은 Raspberry Pi라는 나눔은 비슷한 공작을 생각할 때 저도 써먹을 수 있을 것 같습니다. 소스 코드는 GitHub에 공개되어 있다고 합니다.
출처: Zenn
댓글 0
첫 댓글을 남겨 보세요. 어느 나라 말이든 괜찮아요.
로그인하고 댓글 남기기