본문 바로가기
Micro Control Unit/ESP8285

[HA](쓰지마세요!) wifi switch SA-018에 Tasmota 커스텀펌하여 MQTT로 HA 연결하기

by binary012 2023. 2. 25.
반응형

[ 이 자료는 22년 4월에 작성하고 Home Assistant 카페에 올렸던 자료이나, 기록을 위해 여기에도 남겨둔다. ]

 

한동안 적용하여 평가했는데, 이렇게 쓰시면 큰일납니다. 절대 이렇게 쓰지 마시기 바랍니다.

2주 정도 잘 사용하다가 물리 스위치가 안먹어서 다시 뜯어보니 내부 칩이 탄것 같습니다.

tasmota 와 esphome으로 둘다 해봤는데 동일 증상이 있습니다. 절대 사용하시면 안될것 같습니다.

순정 상태로 사용하길 권장 드립니다.

추가로 사진 올려드립니다.

혹시나 해서 여러방향으로 해 보았습니다만, 여전히 같은 상황입니다.

1. tasmota 커스텀 펌

2. ESPHome 커스텀 펌

3. 순정사용( 추가로 구입했다는...ㅠㅜ)

3가지 모두 같은 경험을 하였습니다.

증상은, 물리 스위치로 온 오프가 안되어 인터넷 스위치로 해봐도 먹통이었습니다. 그래서 큰일 났음을 직감하고 뜯어보니 아래 그림처럼 난리가 났네요. ㅠㅠ

에효... 처음에 5개 사고, 나중에 2개 더 샀었는데 지금은 나머지도 못쓰겠네요. 신뢰가 안갑니다.

같은 일 발생하지 않으시길 바라면서 올려드립니다

############# 원글 #################

글을 다 작성하고 본 카페에서 검색을 해보니, 유턴금지님외 여러 분들께서 이미 SA-018를 1년 반전부터 ESPHome으로 OTA커펌하셔서 사용 해오고 계신 것이었네요. ^^ 역시 선구자님들께선 앞서 가셨었군요... ㅎㅎ

처음 시작하시는 분들도 있으실테니 작으나마 도움이 되시라고 글 올려봅니다.

========================================================================

몇 주전에 알리 익스프레스 구경하며 wifi 스위치를 탐색하던 중에 왼쪽의 그림과 같이 개당 6500원하는 스위치를 발견했다! 몇 달 전에는 benexmart 의 3갱 스위치를 28,000원에 구입했으니, 개당 6500원이면 엄청 저렴하다고 생각했다. 그리고, 함께 공기질 측정기도 함께 구입했다.

그러나, 아무리 찾아도 eWelink 제품은 Home Assistant에 local로 하는 방법을 알 수가 없었다. 그래서 그냥 사용하려고 했으나, eWelink 앱으로 등록하는 과정도 하다가 잘 안되어서 그만 했었다.

공기질 측정기는 tuya로 등록하여 home assistant에 잘 붙여서 쓰고 있다. 이것을 어렵지 않게 등록을 하였다.

그러다가 몇 주간을 고민만 했다. SA-018 스위치를 어떻게 하면 local로 쓸 수 있을지...

이렇게 저렇게 찾다가 아래 유튜브를 보니 Tasmota로 커스텀펌을 한 것이다.

https://www.youtube.com/watch?v=XuQSn3578OI

 

 

 

유튜브의 내용은 중국어인지 자막도 안되고 해서 내용을 알 수가 없었다.

그런데, 그림으로 대충 짐작해보니 Tasmota를 설치했는데, 기존의 스위치를 사용하지 못하고 추가의 GIO1에 연결해야 스위치를 사용할 수 있다(?)는 것으로 보여진다.

그리고서는 Tasmota 홈페이지를 찾아가봤다. 역시나 SA-018 모델이 이미 있었다!

결국은 Home Assistant에 MQTT로 이 스위치로 등록을 하였다!!!

https://templates.blakadder.com/SA-018.html

진행한 방법을 하나씩 기록해 보겠다.

본품을 꺼내보면 왼쪽과 같이 수축튜브로 패킹이 되어 있다. 깔끔하게 열어서 수축 튜브는 재사용 할 수 있도록 하자. 나중에 절연 시켜서 매립 해야하니까.

SA-018은 ESP8285 를 사용하였다.

뒷면을 보면 아래와 같이 ESP 8285가 보이고, 그 주변으로 contact 할 수 있는 pad가 몇 개 보인다.

펌웨어 다운로드를 위해서는 VCC, TXD, RXD, GND의 4개 핀이 필요하다.

생각보다 핀 간격이 너무 작아서 이걸 어떻게 해야할지 고민과 탐색의 시간이 좀 길었다.

알리에서 찾다보니, 아래와 같이 컨택할 수 있는 핀(이름을 정확히는 모르겠다..)이 있었다.

그래서 이것을 구입하려고 장바구니에 담아놓고 결재하려고 하는데... 이게 금액은 2만원 정도에 배송이 2주가 걸리니 고민이 되었다. 그러다가 고민고민중에 젓가락이 생각이 났다. 그냥 만들면 될 것으로 보인 것이다.

그래서, 아래와 같이 꾸몄다. 젓가락에 점퍼 와이어를 글루건으로 붙이고 스프링 역할을 할 수 있도록 스폰지를 추가하였다.

PCB는 납땜 고정 보드에 고정 시키고 핀을 VCC, RX, TX, GND 연결하였다.

USB to TTL은 CH340을 보유중이므로 아래와 같이 연결을 하였다.

항상 이렇게라도 그려놓고 시작해야 나중에 꼬이는 일이 없더라.

아래와 같이 TX와 RX는 twist 연결을 해야한다. 이 부분은 USB to TTL 모듈에 따라서 조금씩 다르다고 들었다. 나는 CH340 하나밖에 없어서 다른 제품은 잘 모르지만, 아래와 같이 연결하니 한번에 다운로드가 가능했다.

이제 USB의 전원을 넣어서 아래와 같이 포트가 잘 인식되었는지 확인한다.

내 PC에서는 COM20에서 CH340이 잡혔다.

그리고, tasmotizer 프로그램을 열어서,

1번 - Select port를 refresh 하여 COM20(개인 PC별로 다르다.) 이 잡힌 것을 확인하고,

2번 - release 11.0.0 을 눌러서 release된 version을 확인하고

3번 - default로 선택된 tasmota.bin 파일을 확인

4번 - Tasmotize! 를 눌러서 진행한다.

5번 - 진행중인 창이 나타난다.

완료되면 Done 창이 뜨고 재부팅이 시작된다.

그 다음은 Send config를 눌러서 wifi 세팅을 해야한다.

우리집의 wifi SSID를 선택하고 Password를 입력하여 save를 한다.

그리고 잠시후, Get IP를 눌러보면 스위치가 등록된 IP를 알 수가 있다.

이제 등록이 되었으니, http://192.168.0.30 으로 접속해 보자.

실제로 첫 화면은 아래와 같지는 않다. 초기 화면 저장을 못해놔서리...

그래도 상관 없으니 아래 메뉴중 " Configure Other" 를 눌러보자.

그러면 아래와 같은 화면이 나온다.

{"NAME":"SA-018","GPIO":[0,0,0,0,9,0,0,0,21,52,0,0,0],"FLAG":0,"BASE":18}

위의 내용을 Template칸에 붙여넣기 한다.(이전 값은 지우고..)

{ 자료 : https://templates.blakadder.com/SA-018.html }

이 부분이 바로 SA-018에 맞게 pin을 assign 하는 단계이다. 이 부분을 몰라서 한참 찾아보았고 결국은 아래와 같이 tasmota 홈페이지에 친절하게 설명이 되어 있었다.

{ 자료 : https://templates.blakadder.com/howto.html }

Save하고 Configuration으로 돌아간다.

다시 Configuration 에서 Configure Module로 넘어간다.

Module Type을 SA-018로 선택한다.

그러면 이제 pin assign 도 끝이 났다!

ESP8285에 시간을 세팅해 주자.

Main Menu를 눌러서 첫 화면에서 Console을 선택하자.

ntpServer1 1.kr.pool.ntp.org
ntpServer2 1.asia.pool.ntp.org
ntpServer
timezone 9

 

 

 

그러면 아래와 같이 console 창이 나오는데, 위의 코드를 한 줄씩 입력후 엔터를 치자.

그러면 시간이 동기화 되었음을 알 수 있다.

참고로, "PowerOnState 1"은 스위치에 전원이 들어오면 초기값을 ON으로 Default 설정하는것이다. 이전에 sonoff로 스위치 세팅을 할때 사용했으나, 현재 사용할 필요는 없다.

이제는 Home assistant 에 등록할 차례이다.

Tasmota는 MQTT로 Home Assistant와 통신이 가능하다.

Main Nenu - Configuration - Configure MQTT 를 누른다.

그리고, 자신의 MQTT 서버에 설정된 값들로 입력을 한다.

보통은 Host, User, Password를 입력하면 끝이난다. port는 보통 1883이다.

입력이 완료되면 Home Assistant - 구성하기 - 기기 및 서비스 에 보면 아래와 같이 Tasmota가 등록되어 있음을 알 수 있다. 나는 기존 2개에서 1개가 추가되어 3개의 기기로 보인다.

아래와 같이 등록된 정보가 보이게 되고, 제어장치의 스위치로 전등을 조절할 수가 있다.

이젠 테스트를 위해 아래와 같이 선을 연결하여 동작을 확인한다.

실제로는 절연 테이프를 이용하여 잘 마무리를 하였고, 전등에는 동봉된 capacitor를 추가해 주었다. 이건 설명서에 나와 있으니 pass.

 

이제 구글홈에 스위치 등록만 하면 되겠다!!

반응형

댓글