음성 경보를 내는 화재 감지기
하드웨어 · 펌웨어 · 서버 · 앱2021.01
가스와 온도 센서를 함께 보고 화재를 판정한 뒤, 스피커로 음성을 내보내고 원격에서 켜고 끌 수 있는 감지기를 만들었습니다.
과제 배경
저가 감지기는 센서 하나만 보고 판정해서 오작동이 잦습니다. 설치한 뒤에 감도를 바꾸려면 기기를 직접 만져야 했고, 관리자가 자리에 없으면 기기 상태조차 알 수 없었습니다.
주요 설계 결정
판정 방식
가스 센서와 온도 센서 두 가지를 함께 보고 판정합니다
하나만 보면 요리 연기에도 울립니다. 몇 번 헛울리면 사람이 전원을 뽑아 둡니다.
감도 조정
판정 임계값을 서버에서 바꿀 수 있게 두었습니다
설치 환경마다 적정 임계값이 다릅니다. 펌웨어를 다시 굽는 일로 만들면 현장에서 조정하지 못합니다.
경보 방식
사이렌 대신 스피커로 음성을 내보냅니다
사이렌은 무슨 일인지 알려주지 않습니다. 사람이 움직이게 하려면 말이 나와야 합니다.
제공 기능
| 기능 | 내용 |
|---|---|
| 다중 센서 화재 판정 | 가스 센서와 온도 센서 값을 함께 보고 화재 여부를 정합니다. |
| 음성 경보 | 판정되면 스피커로 음성을 내보냅니다. |
| 원격 제어 | Wi-Fi 로 기기를 켜고 끄고 상태를 조회합니다. |
| REST API 연동 | 설정값 변경과 상태 조회를 API 로 열어 다른 시스템에서 부를 수 있게 했습니다. |
수행 결과
- 센서 두 종을 함께 보아 요리 연기와 화재를 가릅니다.
- 설치한 뒤에도 펌웨어를 다시 굽지 않고 서버에서 감도를 바꿉니다.
- 앱과 관리자 화면에서 기기를 켜고 끄고 상태를 봅니다.
시스템 구성도
점선은 외부 서비스를 사용하는 항목입니다.
설계 원칙
| 원칙 | 적용 방법 |
|---|---|
| 요리 연기로 울리지 않는다 | 가스와 온도 두 센서를 함께 보고 판정합니다 |
| 감도를 바꾸려고 펌웨어를 다시 굽지 않는다 | 임계값을 서버에서 내려보냅니다 |
| 무슨 일인지 모른 채 소리만 나지 않는다 | 사이렌 대신 음성으로 내보냅니다 |
적용 기술
ArduinoESP8266Node.jsREST APIAndroid가스 센서NTC 서미스터


