CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·방탄소년당 ·일본산당 ·개발한당 ·소시당 ·자전거당 ·이륜차당 ·AI당 ·패스오브엑자일당 ·안드로메당 ·바다건너당 ·나스당 ·클다방 ·곰돌이당 ·가상화폐당 ·키보드당 ·리눅서당 ·사과시계당 ·소셜게임한당 ·물고기당 ·전기자전거당 ·골프당 ·노젓는당 ·걸그룹당 ·콘솔한당 ·노키앙 ·윈폰이당 ·축구당 ·여행을떠난당 ·디아블로당 ·찰칵찍당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·육아당 ·배드민턴당 ·야구당 ·농구당 ·블랙베리당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·캠핑간당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·적는당 ·방송한당 ·PC튜닝한당 ·그림그린당 ·소풍간당 ·심는당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

기타 전자기기 레인지후드 자동화 - 열화상센서 온도 활용, 홈어시스턴트(HA)[내용 추가] 22

4
2023-05-15 19:40:04 수정일 : 2023-05-16 09:37:41 58.♡.207.150
무재칠시

이곳 게시판에 냄새가 나면 작동하는 레인지 후드 만들기(https://www.clien.net/service/board/lecture/15015473)라는 글이 있습니다.  TVOC센서를 사용하셨는데요, 저는 1년 반 전에 처음에는 습도를 기준으로 레인지후드를 켜기만 하다가, 올해 초부터는 8x8 적외선 온도 센서로 켜기와 끄기 작동을 시켜 보고 있습니다. 


주방에서 요리를 하(시)다보면 깜빡하고 레인지후드(주방환풍기)의 전원을 켜지 않는 경우가 있습니다.  이것을 자동화하는 것을 1년 반 전부터 해보고 있습니다. 처음 1년은 IoT 온습도계를 레인지후드 아래 벽에 붙여 놓고 75 혹은 85%(여름)의 습도 값을 넘으면 켜는 것을 이용했습니다. 그후 6개월동안에는 추가로 현재의 적외선온도센서로도 레인지후드를 작동을 시키고 있는데, 나름대로 쓸만한 것 같습니다.


사실 이전에 소모임 게시판에 쓴 내용이긴 하지만 이번에 온도 표시용 7세그먼트 LED를 추가했는데 한번 더 자세하게 정리를 해보려고 합니다. 중간에 일부 생략된 과정도 있기는 하지만, 관심 있으신 분들이 거의 따라하기도 가능하지 않을까 생각해 봅니다. 


요약하자면, 인덕션 레인지의 넓은 면적을 모두 바라보는 8행 x 8열 64개의 적외선 온도 센서 값들 중에 가장 높은 값을 기준으로 레인지후드의 전원을 제어하는 것입니다. 


[장단점과 한계, 댓글 피드백, 아이디어들] 


1.장점 

  • 대부분의 경우 환풍기 가동 버튼을 누르지 않아도 됩니다. 
  • 어느 정도 가열된 후부터 환풍기가 돌기 시작합니다. => 물이 끓을 때 돌아서 후속 조치(예: 라면 넣기)가 용이(?)   
  • 요리가 끝나고 환풍기를 끄지 않아도 됩니다. => 배출되지 않은 수증기/미세먼지를 없애는 효과, 다만, 어느 정도 표면온도가 떨어질 때까지 5분 내외 환풍기 소음에 시달리므로(?) 수동으로 끄게  됩니다. 
  • 프라이팬이 음식없이 가열되면 200도가 넘어갑니다. => 홈어시스턴트를 통하여 구글스피커로 안내 방송 가능(시끄럽다고 하셔서 현재는 끈 상태) 


2.단점

  • 직접 구축하려면 번거롭고 과정도 복잡합니다.
  • 요리가 끝나고 50도 이하로 식을 때까지 기다려야 합니다. => 보통 식사시간이므로 수동으로 바로 끄는 편...
  • 드물지만 가끔 IoT생태계(클라우드)가 오류가 납니다. 


3.댓글 내용 정리 및 피드백 

  • 인덕션 전원 소비량에 의한 ON/OFF를 하지 않은 이유 => 2~3kW 고전력용 IoT플러그가 있으나 개인적으로 불안하여 채용하지 않았습니다.    
  • 고전류 교류 측정 CT(Current Transformer)센서도 소개해 주셨습니다. => 일단 저는 적당한 센서를 찾지 못했었습니다... 
  • 일본에서는 적외선 리모콘으로 레인지후드를 제어하는 제품도 있고(바드에게 물어보니 많이 사용한다고...), 그릴의 배기구에서 2차연소로 오염을 줄이는 것도 있다고 합니다. 
  • IoT가 지원되는 인덕션도 있었습니다. 좀 더 간단하게 연동할 수 있겠다는 생각이 듭니다.     
  • 레인지후드 전원 켜는 것이 터치로 된 제품도 있다는데 IoT플러그 적용은 안될 거 같네요.  


4.생각해봤던 아이디어들 

  • 미세먼지 센서의 결합 - 오염 배출 목적에 가장 부합하지만, 주방이 너무 복잡해질 것 같아서 보류했습니다.     
  • 수동 ON/OFF를 위한 버튼을 ESP8266에 추가하기 - Aqara Wireless Button을 제거 가능 
  • 화재예방을 위해 고온 경보용 자체 부저 추가하기 - 현재는 거실에 있는 구글스피커로 안내 방송  
  • 소형 카메라 내장 및 영상인식 - 이건 너무 과한 것 같아요^^


[하드웨어 구성 및 작동 방법]  


range-1.jpeg ESP8266 WiFi 보드 + AMG8833 적외선온도센서 + 7세그먼트 LED, 좌측의 버튼은 Aqara 무선 스위치(수동 ON/OFF용)

range-2.jpeg ESP8266 보드용 전원과 IoT 플러그에 꼽힌 것은 레인지후드의 전원선입니다.


현재 8x8 총 64개의 적외선 온도 값 중 최고 온도에 따른 레인지후드 전원의 처리 방법은 다음과 같이 운영하고 있습니다. 

  • 55도를 초과한 상태로 30초가 지나고, 온도가 상승 패턴이 맞으면 팬 작동 
  • 50도 미만으로 90초간 유지가 되면 팬 정지 


요리 하는 도중에 프라이팬에 재료를 투입하거나 냄비의 뚜껑을 닫으면 온도가 수 십 도가 급격히 떨어집니다. 그럴 때 바로 꺼지지 않도록 온도 유지 시간을 확인하는 것입니다. 참고로 상승 패턴이라 함은 오픈소스 자동화 서버인 홈어시스턴트(HA, Home Assistant)에서 제공하는 트렌드(trend) 기능을 이용하여 계산됩니다. 


좀 전의 50도와 55도의 기준은 무엇일까요? 그냥 인덕션레인지에서의 경험적인 값일 뿐입니다. 적외선 온도 센서가 거리가 떨어짐에 따라 온도가 낮게 나오는데, 예를 들면 손목을 가까이 대면 35~37도가 나오지만 70~80센티미터 떨어진 곳에서는 30도 정도로 나옵니다. 그러므로 물이 끓는다해도 100도가 나오는 것이 아닙니다. 

 

그러면 어제 저녁에 사골 떡만두국을 끓였을 때의 온도 변화를 살펴보겠습니다. 

range-3.png 홈어시스턴트에 기록된 최대 온도 값 그래프

55도를 초과했을 때 30초 후 계속 온도 상승이므로 레인지후드가 돌아가서 수증기 처리에 큰 문제는 없었고, 도중에 뚜껑을 닫아서 20~30도 떨어졌지만 잠시 동안이므로 무시됩니다. 17시46분25초에 불을 끄고 냄비를 치우면 가열된 인덕션레인지 표면 온도가 가장 높을테고 그 온도가 60도 부근(실제로는 센서 오차 때문에 온도가 더 높으므로 손을 대면 화상 위험!!!)입니다. 17시49분52초에 50도를 통과하고 1분30초 뒤인 17시51분22초에는 47.25도가 되면서 레인지후드가 꺼졌습니다. 결과적으로 한 5분간 혼자 돌다가 멈춘 셈입니다. 경우에 따라 한 10분간 더 돌아갈 수도 있는데, 그 때는 Aqara 무선 버튼을 눌러주면 IoT플러그가 꺼지게 됩니다(토글). 

 

자동화는 역할이 분담되어 있습니다. IoT 버튼을 눌렀을 때 레인지후드를 끄고 켜는 부분과 습도가 높을 때 켜는 부분은 샤오미의 Mi Home앱에서 자동화를 담당합니다. 누르면 IoT 플러그의 전원을 반전(toggle)시킵니다(켜기 <-> 끄기). 레인지후드 밑에 설치한 Aqara 온습도 센서의 습도가 85%가 넘으면 IoT플러그를 켜는 기능도 Mi Home에서 자동화했습니다. 이렇게 하면 가끔 홈어시스턴트나 샤오미 IoT 클라우드가 이상 동작할 때에도 불편없이 레인지후드를 끄고 켤 수 있습니다. 나머지 적외선 온도 센서의 처리는 홈어시스턴트가 전담합니다. 

 

그러면, 적외선 온도 센서를 홈어시스턴트에 연동하는 방법을 정리해 보겠습니다. 홈어시스턴트의 구축부터 시작하면 너무나 길어지게 되므로 홈어시스턴트(이하, HA)를 이미 설치했다고 가정하고 진행합니다. 홈어시스턴트를 설치해서 24시간 계속 켜 놓을 Raspberry Pi 3B+ 이상의 성능을 가지면 되는데, 메모리는 2GB면 잘 돌아가는 것 같습니다. microSD카드에 HAOS의 이미지를 BalenaEtcher 프로그램을 통해 구워주면 됩니다. 최초에는 랜케이블을 꼽고 설치해야 로컬 네트워크에서 홈어시스턴트 서버로 접속할 수 있습니다.(예: http://192.168.0.69:8123 혹은 http://homeassistant.local)


[하드웨어 준비 및 핀 연결 방법] 

1) 보드 구성 재료 

  1. Wemos D1 mini - ESP8266 보드 : AMG8833의 ESPHome 소스가 이 보드를 기준으로 되어 있어서 선택했습니다. 
  2. AMG8833 8x8 thermal sensor - Grid-EYE : 적외선 온도 센서 8행 x 8열 총64개의 온도 값을 제공합니다. 
  3. TM1637 7 segments LED : 64개 중 최고 온도 실시간 표시용(저는 5초마다) 
  4. 점퍼 와이어(female to female) : 8개
  5. 보드를 벽에 붙이기 위한 초강력 양면 투명테이프 조금  
  6. micro SD 데이터 케이블 


2) Wemos D1 mini의 Pin 연결 방법 

  • AMG8833 : D1=SCL, D2=SDA, GND, VCC(3.3V)  
  • TM1637 : D5=CLK, D6=DIO, GND, VCC(5V) 
  • Wemos D1 mini의 GND는 1개 밖에 없으므로 AMG8833과 TM1637이 공유해야 합니다. 점퍼 와이어 2개를 납땜 등으로 묶어 줍니다. 


3) 기타 관련 제품들은 취향에 따라 선택이 가능합니다. 

- 라즈베리파이 3이상 보드 : 홈어시스턴트 서버용 

- Aqara Wireless Switch : 자동화가 불만(?)일 때 수동 제어용 

- Xiaomi IoT Plug : 레인지후드의 전원 ON/OFF

- Xiaomi Gateway 3 : Aqara 무선 버튼 지그비 장치 연동용 


[Wemos D1 mini에 ESPHome 펌웨어 준비하기]  

ESPHome은 펌웨어에 대한 장벽을 없애 주는데, 펌웨어 개발자가 아니더라도 다양한 장치를 쉽게 제어할 수 있게 도와줍니다. 물론 어느 정도 회로나 납땜에 대한 지식이 필요할 수도 있지만 아주 기초적인 부분이라서 짧은 시간에 습득이 가능하고 어렵지 않습니다.   

 

펌웨어 작업은 Mac에서는 작업이 불편한 부분(예: 현재 버전 충돌로 알 수 없는 컴파일 오류 발생, 맥 도커에서 USB 미지원 문제 등)들이 있으므로, MS 윈도우나 리눅스, WSL등에서 작업하는 편이 좋습니다.

 

사전에 필요한 것은 Wemos D1 mini를 PC에 연결 했을 때 시리얼포트(예: COM3)인식을 위한 USB to Serial 드라이버의 설치와  Python 3.7이상의 설치입니다. 참고로, HA에서는 Add-On의 형태(HA설치 시 HAOS나 수퍼바이저 모드로 설치해야만 이용 가능)로 ESPHome 펌웨어 수정(사실상 .yaml 편집 수준)과 펌웨어 업로드를 지원하고 있습니다. 하지만, 아무래도 불편하긴 하지만 커맨드 라인(윈도우의 명령 프롬프트나 파워쉘)에서 작업하는 것이 문제 발생 시 상황 파악에 더 유리한 것 같습니다. 

 

1) ESPHome 설치 

 

먼저 커맨드라인에서 ESPHome을 작업하기 위해 필요한 프로그램을 설치해 보겠습니다. 이 글을 참고해 주세요. 어렵지 않습니다. 


윈도우의 경우 좌하단의 돋보기 아이콘이 있는 "찾기" 부분에 cmd를 넣으면 명령 프롬프트 앱을 찾아서 실행할 수 있습니다.  C:\Users\각자의윈도우아이디> python --version 명령을 넣어서 Python 3.X.X등으로 응답이 나오면 ESPHome을 설치할 수 있습니다. 아니면 MS 윈도우의 경우, Python Releases for Windows | Python.org에서 Download Windows installer (64-bit)을 받아서 설치하면 됩니다. 편의상 C:\Users\각자의윈도우아이디\esphome과 같이 작업용 폴더를 만든 후 그곳에서 가상 환경을 만든 후 작업하면 좋을 듯합니다. 아래의 각 명령을 내린 후 완료되기를 기다리고 다음 단계로 넘어가면 됩니다. 

 

C:\Users\각자의윈도우아이디\esphome > pip install virtualenv 

C:\Users\각자의윈도우아이디\esphome > python -m venv venv 

C:\Users\각자의윈도우아이디\esphome > venv\Scripts\activate.bat 

(venv) C:\Users\각자의윈도우아이디\esphome > pip install wheel 

(venv) C:\Users\각자의윈도우아이디\esphome > pip install esphome

 

한참을 기다려서 설치가 완료되고, 

 

(venv) C:\Users\각자의윈도우아이디\esphome > esphome version

 

을 했을 때,  Version: 2023.4.4와 같이 응답이 나오면 준비 완료입니다. 


2) USB 드라이버 설치 

 

Wemos D1 mini를 컴퓨터에 연결하면 장치관리자에서 볼 때 COM포트가 생깁니다. 만약 포트가 없다면 CH340 드라이버를 설치하여야 합니다. 보통 아두이노 호환 제품들이 사용하는 USB to Serial 칩은 https://sparks.gogo.co.nz/ch340.html 에서 드라이버를 받아 설치합니다. 

 

3) AMG8833 제어용 펌웨어 소스 받기  

 

https://github.com/TheRealWaldo/AMG8833-ESPHOME의 소스를 받아서(git를 이용하거나 Code의 Download Zip을 이용합니다. 

 

(venv) C:\Users\각자의윈도우아이디\esphome\AMG8833-ESPHOME-main> esphome run amg8833.yaml 

 

명령을 내리면 컴파일되고 펌웨어 업로드까지 진행이 됩니다. 하지만, 먼저 몇 가지 작업이 필요합니다. 우선 WiFi에 접속하기 위해 집(사무실)에 있는 공유기의 SSID와 패스워드가 무엇인지를 담은 secrets.yaml 파일을 만들어야 합니다. 처음에는 USB cable을 통해 펌웨어를 올리지만 그 다음부터는 WiFi로 무선 펌웨어 업데이트가 가능합니다.  

 

# Sample secrets file
ssid: 'iptime_extender'
password: '각자의WiFi암호'
domain: '.local'

 

위 파일을 만들고 나서 다시 한번 esphome run amg8833.yaml 명령을 내리면, 필요한 여러 도구들을 차례 차례 설치하기 시작합니다. 5~10여분 가량 설치가 끝나면 자동으로 소스를 컴파일을 시작합니다.  아래와 같이 빌드가 완료되면 보드에 업로드할 수 있습니다. [2]번 메뉴는 처음에는 나타나지 않습니다.  [1]은 앞서 설치한 드라이버가 정상 작동한 경우이고 COM6로 펌웨어가 전송됩니다. 

 

====================== [SUCCESS] Took 16.80 seconds=============================
INFO Successfully compiled program.
Found multiple options, please choose one:
  [1] COM6 (USB-SERIAL CH340(COM6))
  [2] Over The Air (192.168.0.42)
(number): 1


[홈어시스턴트에서 ESPHome 장치 확인 및 LED용 온도 표시 펌웨어 수정]  

 

1) HA(Home Assistant)에서 확인


방금 올린 펌웨어에 의해 새로운 장치(통합구성요소)가 홈어시스턴트의 통합구성항목에 ESPHome 카테고리 밑에 AMG8833을 확인할 수 있습니다. 보통 자동 추가되는데, 이 부분은 홈어시스턴트 사용법에 익숙해 지실 필요가 있습니다.  


HA에서 8x8개의 온도 값을 그래프로 보여주어서 열화상 카메라 영상처럼 보여주는 기능까지 포함하고 있습니다. 이 기능을 사용하려면 HACS에서 Thermal Vision을 추가해 주어야 합니다. 이 부분까지 쓰려니 너무 길어져서 이 분의 글을 참고하시면 될 듯합니다.  


range-6.png HACS에서 Thermal Vision을 설치한 후 열화상을 보는 모습


위 그림에서 빨간색 중간에 있는 부분이 파란 이유는 제가 (알리익스프레스)에서 2~3만원대에  저렴하게 구입한 센서가 불량이기 때문입니다. 제가 2개 샀는데 AMG8833부품에 냉납이 있어서 1개는 결국 버렸고, 나머지 1개는 갖은 노력(?) 끝에 겨우 살렸으나 64개(8x8) 중 2개 행이 작동을 안하는 상태입니다. 이것 때문에 위 amg8833의 헤더 파일(.h) 소스들을 수정해야 했습니다. 죽은 픽셀 값을 인접한 값으로 대체하기 위해서요... 그리고 기본 1초인데 5초마다 갱신하도록 변경했습니다.(수정 내용은 가장 아래쪽 글 참조)


만약 AMG8833보드가 정상 작동되고 통합이 완료되었다면,  홈어시스턴트 웹 화면(http://homeassistant.local:8123) 에서 다음과 같이 나오게 됩니다. 


range-4.png 홈어시스턴트에 잘 연동된 후의 AMG8833 값들


참고로 1초(저의 경우 5초로 수정)마다 64개 온도 값들이 16진수로 값들이 계속 들어와서 HA의 로그에 쌓이게 됩니다. 그러므로, HA의 configuration.yaml에 다음 내용을 반드시 추가해야 합니다. 

 

history:
  exclude:
    entities:
      - sensor.sensor_pixels

 

2) TM1637 7 세그먼트 디스플레이를 사용하기 위해 .yaml에 다음 내용을 추가


이 작업은 물론 미리 할 수도 있으나, 우선 AMG8833센서가 정상 작동하는 것을 확인해야 하고, 홈어시스턴트에 그 값이 저장되어야만 7세그먼트 표시 장치에 뭔가 표시할 것이 생겨서 여기에 내용을 썼습니다. 

 

아까 amg8833.yaml에 아래 내용을 추가한 후, 다시 한번 esphome run amg8833.yaml을 해서 펌웨어를 올려야 하겠습니다. 

#기존 파일에 sensor: 항목이 이미 있으므로 들여 쓰기를 맞추어서 추가합니다. 
  - platform: homeassistant
    entity_id: sensor.thermal_sensor_max
    id: thermal_max_temp
    internal: true

 

# amg8833의 최고 온도를 7세그먼트 LED에 표시 
display:
    platform: tm1637
    id: tm1637_display
    clk_pin: D5
    dio_pin: D6
    inverted: false
    intensity: 2
    length: 4
    lambda: |-
        it.printf(0,"%4.0f", id(thermal_max_temp).state);

 

[홈어시스턴트에서 자동화 추가하기] 

1) FAN - 50도 미만 90초 유지시 끄기

 

홈어시스턴트 웹에서 설정 -> 자동화 및 장면 -> 자동화 추가하기 -> 새로운 자동화 생성 -> 트리거 추가하기 -> 수치상태 -> 구성요소에 Thermal Sensor Max를 추가하고 "미만" 아래 쪽 칸에 50을 입력합니다. 그리고 "~동안"에 1분30초를 설정합니다. 아래 쪽의 동작추가하기 -> 기기 -> 구성요소에 IoT 플러그를 선택하고 "전원 끄기"에 해당하는 값을 선택하면 됩니다. 

 

2) FAN - 55도 초과 30초 및 상승트렌드 시 켜기 

 

위에 끄는 부분과 비슷하게 작업하면 되며, 트렌드가 추가가 되어서 아래와 같이 조건이 추가되어야 합니다. 


range-5.png 트렌드 조건 추가 모습

트렌드 센서는 HA의 configuration.yaml에 다음 내용을 추가하면 됩니다. 아래 값들은 직관적으로 추정하여 입력한 값이어서 각자 환경에 맞게 변경할 수 있습니다. 저의 경우 amg8833에서 5초에 1회 데이터가 나와서 180초에 36번 값을 읽고 있습니다. 0.0416667이라는 값은 7.5도/180초에 의해 계산된 값입니다. 즉, 3분간 7.5도의 변화가 있으면 induction_thermal_rising이란 바이너리 센서 값을 'on'로 설정하라는 의미가 되겠습니다. 

 

# Trend sensor
binary_sensor:
  - platform: trend
    sensors:
      induction_thermal_rising:
        entity_id: sensor.thermal_sensor_max
        sample_duration: 180
        max_samples: 36
        min_gradient: 0.0416667
        device_class: heat
      induction_thermal_falling:
        entity_id: sensor.thermal_sensor_max
        sample_duration: 180
        max_samples: 36
        min_gradient: -0.022222
        device_class: cold

 

 

[부록 - AMG8833의 센서가 부분 불량이 있을 경우 최고 온도 가져오는 부분 소스 코드 고치기] 

 

ESPHome을 설치(pip3 install esphome) 후 작업 디렉터리에는 amg8833.yaml과 헤더(.h) 파일 3개가 필요합니다. 저는 센서에 문제가 있어서 수정을 했습니다. 물론 amg8833부품에 문제가 없으면 수정할 필요가 없습니다. 

 

1) amg8833_camera.h의 수정 사항 


// 수정 부분 - 5초마다 
AMG8833CameraComponent() : PollingComponent(5000) {}
 
// 수정 부분 - 2개 행 오류 수정 
for (unsigned char i = 0; i < total_pixels; i++)
{
    // 2행과 4행의 센서가 오류라서 이전 값을 복사  
    if(i / 8 == 1 || i / 8 == 3)
    {
        payload += PixelTemperatureRaw;
    }
    else
    {
        payload += grideye.getPixelTemperatureRaw(i);
        PixelTemperatureRaw = grideye.getPixelTemperatureRaw(i);
    }
}


2) amg8833.h의 수정 사항 - 최대 온도 값 뽑아 내는 부분 수정 


// 수정 부분 - 5초마다
AMG8833CameraComponent() : PollingComponent(5000) {}
 
// 수정 부분 - 최대 온도인 값 뽑아 내기 수정 
for (unsigned char i = 0; i < total_pixels; i++)
{
    // 첫줄과 끝줄은 무시하고, 둘째와 넷째 줄은 불량 센서라서 무시
    if(i / 8 == 0 || i / 8 == 1 || i / 8 == 3 || i / 8 == 7) ;
    else
    {
        pixel_temperature = grideye.getPixelTemperature(i);
        // 세번째 줄 첫 온도 값이거나...
        if (i == 15 || pixel_temperature > max)
        {
            max = pixel_temperature;
            local_max_index = i;
        }
        if (i == 15 || pixel_temperature < min)
        {
            min = pixel_temperature;
            local_min_index = i;
        }
        avg += pixel_temperature;
    }
}

 

감사합니다.

무재칠시 님의 게시글 댓글
SIGNATURE
황상(제자) 曰 "저는 머리도 나쁘고 앞뒤가 꽉 막히고 분별력도 모자랍니다."
다산 曰 "하지만, 넌 공부하는 자들이 갖고 있는 세가지 결점을 하나도 갖고 있지 않구나."

學子有大病三(학자유대병삼) : 배우는 자에게는 세가지 큰 병이 있을 수 있다. 

一敏於記誦(일민어기송)  : 첫째는 기억력이 뛰어난 결점 - 한번보면 척척 외우는 아이들은 그 뜻을 깊이 음미할 줄을 모른다.
二銳於述作(이예어술작) : 둘째는 글 짓는 재주가 좋은 결점 - 제목만 주면 글을 지어내지만 저도 모르게 경박하고 들뜨게 된다. 
三捷於悟解(삼첩어오해) : 세째는 이해가 빠른 결점 - 한마디만 말귀를 던져주면 금새 말귀를 알아듣지만 곱씹지 않으므로 깊이가 없다. 

둔하지만 공부에 파고드는 사람은 식견이 넓어지고 꽉 막혔지만 그것이 한번 뚫리면 거칠것이 없으며  답답하지만 꾸준히 연마하는 사람은 그 빛이 더욱 반짝인다.

저의 개인 블로그(소소한 리뷰) - http://imky.tistory.com
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [22]
cyberjh7
IP 14.♡.120.40
05-15 2023-05-15 19:50:40 / 수정일: 2023-05-15 19:51:22
·
저는 인덕션이라 환풍기 자동화는 쉬운데 (인덕션 전력량으로 환풍기 온 오프 )
아....
환풍기가 터치 센서 방식이라
이거 또 하려면 납땝도 해야하고...
자신이 없네요.
글쓴님은 능력자 네요.
무재칠시
IP 58.♡.207.150
05-15 2023-05-15 20:36:58
·
@훈2..님 전력량도 좋은 아이디어 같습니다. 문제는 환풍기가 전원만 넣으면 켜지지 않는 구조로군요...
yoonseungju
IP 150.♡.242.137
05-15 2023-05-15 20:13:19 / 수정일: 2023-05-15 20:22:08
·
재미있는 시도인 것 같습니다.
안그래도 최근에 시도하신 것과 같은 기능을 빌트인가스렌지 카탈로그에서 보고 조금 알아봤던지라 왠지 더 반네요.

기본적인 원리는 가스레인지(or 인덕션)에 적외선 리모컨 기능을 넣어서 온오프 신호를 송신 하고, 후드 쪽에는 수신부를 두어서 수신하게 하는 방식이었습니다. 딱히 어려운 방식은 아닌데, 이걸 또 어느정도 표준화 된 방식을 갖추고 있는게 신기하더라구요. ( 이 수신부 덕분에 후드에 아무런 쓰잘데기 없는 리모컨이 딸려나오는 기종도 있습니다 ㅎㅎ )

그런데 이렇게 표준화 해놓고도 웃긴 점이 있는게, 이나라 적외선 리모컨 신호 방식이 두가지 ( NEC포멧, 가전제품협회포멧 )가 있어서 제품마다 사용하거나 기본 세팅이 달라서 변경을 해주거나 변경이 안되서 기능이 있는데도 못쓰는 경우도 있는 것 같더군요.
무재칠시
IP 58.♡.207.150
05-15 2023-05-15 20:40:47
·
@yoonseungju님 그런 제품도 있었군요! 전에 검색했을 때 레인지후드 자동화 제품이 없는 것은 아닌데 비싸거나 흔하지 않은 듯 했습니다. 사실 레인지후드 깜빡 까먹고 튀김이나 생선을 구우면 미세먼지가 거의 위험수준(200마이크로그램 이상)으로 순식간에 올라가는데 아마 대부분 집에 초미세먼지 센서를 두시지는 않아서 실감이 안나서 수요가 많지 않을 수도 있는 듯합니다. 물론 창문 환기하는게 정답이긴 합니다만...
yoonseungju
IP 150.♡.242.137
05-15 2023-05-15 20:42:36 / 수정일: 2023-05-15 20:48:57
·
@무재칠시님 아, 죄송해요. 제가 일본이라 일본이야기를 한거였습니다. 이런 마이너한기능은 쓸데없거 잘만드는 일본아니면 잘 찾아보기 힘들 것 같아요.. 생선 그릴 이야기가 나와서 생각난 건데, 그릴 배기구에서 이차연소 시켜서 연기와 냄새를 줄여버리는 기능도 이나라 고급 가스렌지에는 달려나오더라구요..
무야호-
IP 1.♡.100.56
05-15 2023-05-15 23:06:24
·
주방후드가 저희집거랑 같은 것 같네요. ㅎㅎ
저도 생각만하고있는데 설명을 봐도 모르겠네요 ㅠㅠ
무재칠시
IP 58.♡.207.150
05-15 2023-05-15 23:19:20
·
@무야호-님 예, 사실 하나 하나 알고 보면 어려운 게 없는데, 처음 접하면 시간을 꽤 투자해야 되는 부분이 있어요...
삭제 되었습니다.
무재칠시
IP 58.♡.207.150
05-16 2023-05-16 09:36:11
·
@건더기님 약자를 몰랐는데 CT (Current Transformer) 센서군요. 검색해 볼 때 적당한 제품을 못찾아서 하지 않았었습니다. 알리에서 찾은 것은 두꺼비집에 뭔가 연결해야 한다는 식으로 적혀 있어서 더 이상 알아보지 않았었습니다...
Ipho
IP 59.♡.74.153
05-21 2023-05-21 00:35:27
·
@무재칠시님 그냥 인덕션 전선 위에 고리같은것만 끼우면 전력량이 측정됩니다. 정말 말그대로 전선위에 클립형태의 고리만 끼우면 전압 전력 전류량 모든게 다 측정되서 power consumption 체크하고 거기에 맞춰서 팬 컴포넌트 작동시키면 간단했을 것 같습니다. 알리에 연동되는 tuya 제품들도 정말 많습니다.
빅보스
IP 210.♡.113.117
05-16 2023-05-16 00:29:27
·
좋네요!
자꾸 후드 안켜고 조리하는 와이프 때문에 저도 하고 싶습니다.

그런데 하시는김에 주방 후드 교체도 생각해보세요
요즘 그냥 주방업체에 딸려 나오는 기본 주방후드들이
안튀게 만들려고 해서 그런지
무재칠시님 주방후드처럼 깊이가 매우 얕습니다.

예전에는 싱크대 하부 깊이에 맞춰서
앞으로 돌출되게 나왔었는데
요즘엔 그냥 상부장 깊이에 맞춰서 만드는곳이 많더라구요.

깊이가 싱크대 하부에 비해서 2/3정도밖에 안되니
인덕션 안쪽에서 조리하는건 괜찮은데
바깥쪽에서 조리하는건 흡입이 절반도 안됩니다.
특히 후라이팬 뚜껑같은거 열면 수증기 유증기가 화악 올라오는데
그거 절반도 못잡고 온집안으로 퍼지더라구요.
무재칠시
IP 58.♡.207.150
05-16 2023-05-16 09:29:22
·
@빅보스님 말씀 듣고 보니까 레인지후드가 인덕션보다 면적이 많이 좁긴 합니다. 2단으로 틀면 소음이 심해서 환풍기만 교체할 수 없나 생각을 했었는데, 후드 자체가 큰 것을 설치하는 것도 좋은 방법일 거 같아요.
muro
IP 124.♡.118.163
05-16 2023-05-16 00:56:14
·
인덕션이라 전력량 플러그로 자동화 잘 쓰고 있습니다
후드가 아날로그 스위치라 자동화하긴 좋네요
인덕션 켜면 바로 on, 인덕션 끄면 2분뒤 off
무재칠시
IP 58.♡.207.150
05-16 2023-05-16 09:30:04
·
@muro님 예, 이 방법이 깔끔한 듯합니다.~
친절한쿠키씨
IP 220.♡.30.157
05-16 2023-05-16 01:01:42
·
와이파이 연결 지원되는 LG 인덕션 쓰고 있고, 후드 전원에도 샤오미 전원탭을 달아놨는데,
HA LGE 애드온에서 인덕션(cooktop)을 지원하지 않아서 자동화를 못 쓰고 있네요.
전원도 생각해봤는데 2200w 짜리에 중간에 넣기는 어렵고..
온도/냄새로 트리거를 거는 방법도 있군요… 잘봤습니다.
LG ThinQ개발자분들 제발 인덕션 지원 좀요…
/Vollago
무재칠시
IP 58.♡.207.150
05-16 2023-05-16 09:32:03
·
@친절한쿠키씨님 안되는 것이 거의 없다시피 한 홈어시스턴트에서도 안된다면 곤란한 부분이네요... 상식적으로 (이 정도도 지원 안한다면) LG가 이해가 안되는 상황인 듯합니다.
후안곤잘레스
IP 211.♡.50.160
05-16 2023-05-16 09:55:01
·
오 고생많으셨어요. 멋지게 하셨네요.
저는 차단기에 ct센서 설치해서 인덕션자동화 구축했는데요. 스마트 플러그로 on/off시 후드댐퍼가 작동하지 않아 와이프의 민원으로 철거하였습니다 ㅜㅜ
무재칠시
IP 58.♡.207.150
05-16 2023-05-16 10:00:48
·
@후안곤잘레스님 감사합니다. 틈틈히 취미 생활로 해 보았습니다^^ 아마 후드 댐퍼 작동도 전기를 써야 해서 그런 것 같네요. 범용으로 이런 방법을 쓰는 게 간단하지가 않음을 댓글에서 배우게 됩니다~~~
야근의요정
IP 223.♡.24.145
05-16 2023-05-16 15:35:01 / 수정일: 2023-05-16 15:35:27
·
지금은 터치식 후드라 생각을 못하는데 스위치 방식이면 해볼만 할 것 같습니다. 저는 가스렌지고 매립식으로 가스 센서나 이산화탄소 센서를 사용하려했는데 기름오염에 대한 방지책이 생각이 안나더라구요... 가스센서나 이산화탄소 센서가 가격이 좀 센 편이라...
무재칠시
IP 49.♡.120.41
05-16 2023-05-16 16:59:04
·
@야근의요정님 그런 부분이 있겠네요, 가스센서가 소비전류도 의외로 꽤 많은 편이죠. 얼핏 가스레인지 쓸 때는 불꽃센서도 한번 생각해 본 기억이 납니다... 하지만 프라이팬이나 냄비가 가리니까 설치도 애매하고 가스불을 인식하지 않았던 것 같기도 하고...합니다.
무재칠시
IP 58.♡.207.150
07-06 2023-07-06 12:28:44
·
AMG8833 온도 센서가 살 때부터 불량 픽셀(8x8 64개 중 16개 가량)이더니 아예 고장이 났습니다. 마침, 시하스 PMM-300-Z(지그비) 클램프형을 구입해서 Sonoff Zigbee USB 동글을 통해 홈어시스턴트에 연동해서, 위 몇 분들 말씀대로 전력소비량을 기준으로 작동시켰습니다.

PMM-300은 차단기 중 내부 차단기 중 하나에서 전원을 공급받고 클램프는 외부 인입선쪽(주 차단기 위나 아래 중 하나) 중 중성선이라고 써 있지 않은 쪽에 물려주니까 바로 잘 작동되었습니다.

기존의 습도방식, 적외선온도측정방식보다 이 방법이 더 단순하고 사용자가 "왜 작동 안하지? 언제 종료하지?" 등 생각이 필요 없도록 하는 장점도 있습니다. 집에서 1600W가 넘으면 1분 후부터 팬을 작동하고 800W 이하이면 1분 후 팬 작동을 멈추게 해 놓았습니다.
무재칠시
IP 58.♡.207.150
07-06 2023-07-06 15:31:57
·
다만 위 방법은 차단기에서 전력을 측정하므로 세탁기/건조기가 가동할 때도 팬이 돌 수 있습니다.
무재칠시
IP 49.♡.120.41
08-07 2023-08-07 21:59:12
·
인덕션에만 CT센서를 연결할 수도 있지만, 두꺼비집 괴롭히기 싫어서 AMG8833을 또 주문하려다가 불량이면 어쩌나하고, MCU8833을 주문했습니다. 이건 시리얼통신 방식이라서 ESPHome용으로 코딩을 좀 해야 했습니다. 혹 관심 있으시면 자세한 내용은 https://imky.tistory.com/72 를 참고해주세요.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.