본문 바로가기
IOT스마트홈 만들기 (Home Assistant)/tasmota 펌웨어

유니버셜 하트 IR 리모트 커스텀 펌웨어 적용기

by ProjectDH 2020. 12. 25.

 

저번에 tuya 모션센서를 tasmota로 개조할 때 tasmota에 관심이 생겨서

하트 IR에도 예전에 tuya-converter로 타스모타펌웨어만 올려놓고, 전혀 건들지 않았습니다.

그러다 어제 ESP32 카메라에 ESPHome 펌웨어를 올려서 HomeAssistant에 추가하였고 (USB to TTL 이용해서 펌웨어 업로드)

(ESP32 CAM 프로젝트 성공기는 추후에 업로드)

오늘은 타스모타 IR 커스텀 펌웨어를 시도했습니다. (그리고 tuya 모션센서도 USB to TTL을 이용해서 ESPHome을 올려보았습니다.)

타스모타 IR bin 파일은 OTA (무선 펌웨어 업뎃)으로 안 되고 납땜해서 Tx, Rx, GND, 3.3V, GPI01을 연결해야 합니다...

어제는 ESP32 펌웨어 올릴 때에는 납땜없이 바로할 수 있어서 그나마 나았는데

오늘은 납땜이 추가되니 너무 힘들었네요.

 

납땜용 선도 없는지라.. 일반 점퍼선 한쪽 부분만 잘라서 납땜 연결 했습니다.

납땜만 한 1~2시간 정도 한거 같은데 (사실 처음에는 점퍼선 안 자르고 납땜 하려다가 납이 안 붙어서 점퍼선 자르자는 생각을 하게 됨), 점퍼선 자른 이후에는 진짜로 금방 끝났습니다.

 

 

 

 

너무 오랫동안 열을 가했기 때문에 고장이 났으면 어쩌지 했는데, 다행히도 ESP8266으로 잘 잡히고 펌웨어가 올라가네요.

펌웨어 올리기 참고 http://blog.naver.com/ohminy11/221566120317

 

 

씨리얼 컨버터 (USB to TTL) PL2303 윈도우 드라이버

아마 여기서 설치한 것 같다.

https://m.blog.naver.com/saeroman/221012102544


 

 

 

그 다음에 와이파이 부터 잡고, YTF IR Bridge로 모듈 설정 했습니다.

IR학습 기능이 있다는 점도 마음에 듭니다. 리모컨 신호를 근처에서 쏘면 콘솔에 정보가 뜹니다.

그 IR을 기반으로 신호를 전송하면 됩니다.

 

먼저 제가 가지고 있는 LED Strip 리모컨 신호를 확인해봤습니다.

on을 리모컨에서 누르면 하트 IR ESP서버의 콘솔에 다음과 같이 올라옵니다.

{"IrReceived":{"Protocol":"NEC","Bits":32,"Data":"0x00FFB04F","DataLSB":"0x00FF0DF2","Repeat":0}}

 

프로토콜,비트,데이터만 있으면 IRsend로 신호 전송이 가능합니다.

on

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFB04F"}

off

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFF807"}

밝기업

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF906F"}

밝기다운

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFB847"}

Red

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF9867"}

Green

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFD827"}

Blue

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF8877"}

주황색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFE817"}

연두색(?)

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF48B7"}

보라색1

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF6897"}

연한주황

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF02FD"}

하늘색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF32CD"}

보라색2

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF20DF"}

노랑색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF50AF"}

하늘색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF7887"}

분홍색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF708F"}

노랑색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF38C7"}

진한하늘색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF28D7"}

분홍색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFF00F"}

하얀색

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFA857"}

FLASH(일반자동전환)

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFB24D"}

STROBE(하얀색번쩍)

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF00FF"}

FADE(부드러운 자동전환)

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF58A7"}

SMOOTH(일반자동전환)

IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FF30CF"}

 

제가 가지고 있는 RGBW LED Strip 리모컨은 총 24키입니다.

Nexlux LED Strip에 동봉되어 있었습니다.

(LED Strip + LED Controller (magic home) + IR 리모컨)

 

 

IR 리모컨은 짧은 거리에서만 된다는 단점이 있지만

이 신호를 하트 IR로 쏴준다면 멀리서도, 집에 없을 때도 제어가 가능합니다.

 

또한 에어컨을 위한 IRHvac가 있습니다.

삼성 에어컨 기준으로

이 명령어를 치면 26도, 냉방으로 켜집니다.

IRhvac {"Vendor":"SAMSUNG_AC", "Power":"On","Mode":"Cool","FanSpeed":"Auto","Temp":26}

 

제습 기능인 dry도 있고, fan은 송풍(청정모드), auto는 스마트쾌적입니다. off는 전원 꺼집니다.

물론 바람 세기도 지정 가능합니다.

 

이렇게 에어컨 제어가 정말 편리합니다. 스마트싱스가 안될 때 IR로 제어한다면 진짜 좋을듯합니다.

 

안방불을 제어할 수 있는 리모컨의 키값을 읽으려 했으나, 프로토콜란에 UNKOWN이 떠버립니다. 이건 어쩔 수 없이.. 못 하게 되었네요. (ANAM legrand 리모컨)

 

리눅스에서 curl 명령으로도 제어 가능합니다.

curl -G "http://172.30.1.46/cm" --data-urlencode 'cmnd=IRsend {"Protocol":"NEC","Bits":32,"Data":"0x00FFB04F"}'

이런 식으로 치면 제어 가능합니다. 이걸 HA에서 shell_command에 등록 후 스위치에서 켜짐, 꺼짐 동작으로 설정해주면 리모컨처럼도 사용 가능합니다.

 

지금은 조명 on off 만 설정했습니다. 이후로는 버튼 배치를 어떻게 하냐가 관건입니다.

감사합니다.

KakaoTalk_20201225_195618175.mp4
0.51MB

 

참조링크

타스모타 IR 안내 페이지

https://tasmota.github.io/docs/Tasmota-IR/

타스모타 IR 펌웨어 다운로드 깃허브

https://github.com/arendst/Tasmota/releases

룰루해피님 글

https://cafe.naver.com/stsmarthome/21311

ㅋㅋ잠자님 글

https://cafe.naver.com/mk802/37969

 

 

댓글