본문 바로가기
Hardware/MCU(Arduino,ESP8266)

TASMOTA 기초 사용법

by lovey25 2021. 12. 31.
반응형

저는 NodeMCU의 펌웨어로 ESPHome을 계속 사용해 왔습니다. 처음 접한 것이기도 하고 제가 활용하고자 하는 방향에 아주 딱이라서 다른 걸 써 볼 생각을 하지 않았습니다. 그런데 IOT관련 내용들을 보다 보면 Tasmota라는 이름을 쉽게 접할 수 있습니다. 그래서 Tasmota는 어떻게 사용하는 건가 궁금해서 한번 맛만 보려 합니다.

CanAirIO, ESPEasy, ESPHome, Tasmota, WLED

ESP 모듈의 펌웨어로 사용할 수 있는 도구들은 Tasmota나 ESPHome 말고도 다양한 설루션이 존재합니다. 각각 기능별 특색이 있어서 목적에 맞게 골라서 사용하면 될 것 같은데요. 그중에서도  IOT, Home Automation에 잘 맞는 건 ESPHome과 Tasmota인 것 같았습니다.

Tasmota가 ESPHome과 가장 큰 차이점이라고 다목적의 범용 펌웨어를 사용한다는 점입니다. 이게 무슨 말이냐면, ESPHome은 어떤 Node를 구현하고자 할 때 그 목적에 맞는 전용 펌웨어를 컴파일해서 ESP모듈에 업로드해서 사용합니다. 그래서 에러가 있다거나 기능적으로 수정이 필요할 때 펌웨어를 다시 깔아야 합니다. 하지만 Tasmota는 개념이 좀 다른 것이 웬만한 대부분의 ESP모듈에서 사용할 수 있는 기능이 기본적으로 펌웨어에 내장되어 있고 구현하고자 하는 Node의 성격에 따라서 필요한 기능을 펌웨어가 설치된 상태에서 front단에서 그 끄거나 켜서 사용하는 방식입니다.

Tasmota 설치하기

Tasmota를 사용하기 위해서는 펌웨어를 먼저 다운로드해야 합니다. 다음 링크는 컴파일된 펌웨어 바이너리 파일을 제공하고 있습니다.

 

https://ota.tasmota.com/tasmota/release/

tasmota.bin.gzhttp://ota.tasmota.com/tasmota/release/tasmota.bin.gz440ktasmota.binhttp://ota.tasmota.com/tasmota/release/tasmota.bin617k10.1.0 20211208 16:10

ota.tasmota.com

좌측은 gz 압축파일이 있고 오른쪽은 일반 파일입니다. 만약 Tasmota가 이미 설치가 되어 있는 경우라면 펌웨어 파일을 다운로드하지 않고 온라인으로 직접 OTA 업그레이드를 할 수 있는 URL도 있습니다.

저는 Tasmota 처음 설치하는 거니까 ‘. bin’ 파일을 다운로드합니다. 다양한 파일들이 있는데 일반적으로 대부분의 기능이 다 들어있는 범용 펌웨어는 "tasmota.bin"파일을 받아주면 됩니다. 스크롤을 좀 내려보면 한국어 버전도 찾을 수 있어요.

이제 다운로드한 펌웨어를 ESP 모듈에 업로드하기만 하면 되는데요. 펌웨어 업로드하는 방법은 여타 펌웨어와 동일하기 때문에 펌웨어 업로드에 대해서 다룬 이전 포스팅으로 해당 내용을 대신하고 넘어가겠습니다.

 

GUI로 esptool.py를 편리하게 (NodeMCU PyFlasher, ESPHome-Flasher)

ESPHome을 사용하는 디바이스를 하나씩 늘려갈 때 귀찮은 작업 중 하나가 바로 컴파일 한 바이너리 파일을 디바이스로 업로드하는 과정입니다. 디바이스에 이미 OTA 서비스가 동작하고 있으면 문

kwonkyo.tistory.com

Tasmota 설정

Tasmota가 설치 완료된 ESP모듈을 리부팅하면 최초에는 Hotspot 모드로 시작을 하게 되는데요. 스마트폰이나 노트북 등으로 와이파이 신호를 검색해 보면 "tasmot-"로 시작하는 SSID를 확인할 수 있습니다.

비밀번호가 없는 개방 모드이기 때문에 바로 접속할 수 있습니다. 갤럭시 스마트폰 기준으로는 접속이 되면 할당받은 IP주소를 즉시 확인할 수 있고 바로 Tasmota WIFI설정 페이지로 접속을 할 수 있는데요.

사용하고 있는 SSID를 선택하고 접속 비밀번호를 넣어서 저장버튼을 누릅니다.

잠시 기다리면 접속이 되었다는 메시지와 접속된 IP주소가 표시됩니다. 윈도에서는 mDNS기능이 원활하지 않기 때문에 이 주소를 가지고 웹브라우저에서 접속합니다.

접속 첫 화면에서 "설정 메뉴"를 선택하고 모듈 설정으로 이동해서 만들고자 하는 노드의 기능을 활성화합니다. 다양한 기능과 디테일 한 설정이 가능해서 제대로 사용을 하려면 공부를 좀 할 필요가 있어 보입니다. 지금은 맛만 보는 거니까 간단하게 스위치로 릴레이 시그널을 켜고 끄면서 동시에 온라인(Home Assistant)으로 그 상태를 확인할 수 있는 기능만 구현해 보겠습니다. 저는 Wemos D1 mini 모듈을 사용했는데요. 모듈 타입을 Generic(18)로 선택하고 하단의 저장버튼을 눌러주면 리부팅이 되면서 GPIO목록이 Generic(18)에 맞게 변경됩니다. 이제 아래 그림 중 3번째 사진과 같이 모듈 타입과 GPIO 핀 설정을 해줍니다.

GPIO 5, 14번은 Button을 할당하고 GPIO 2, 12는 Relay를 할당했습니다. 그리고 5번-2번, 14번-12번을 각각 묶어주었습니다. 그러니까 5번 버튼이 눌려지면 2번 Relay가 토글 되고 14번 버튼이 눌려지면 12번이 토글 되는 거죠. 그리고 내장 LED가 연결된 GPIO4번을 LED로 할당해서 2,5번과 같이 묶어주었습니다.

모듈 설정값을 저장하면 모듈이 다시 리부팅되고 새로 설정된 기능으로 동작하기 시작합니다. 리부팅이 되고 나면 아래와 같이 변경된 최초 접속화면을 볼 수 있습니다.

Relay2개 각각의 상태가 표시되고 그 아래 각각을 켜고 끌 수 있는 버튼이 생겼습니다. 이제 온라인에서도 이 버튼을 이용해서 각각의 릴레이 시그널을 컨트롤할 수도 있게 되었습니다. 그런데 노드의 상태가 화면에 표시되는 데는 약간의 딜레이가 발생하는 것 같은데 이유는 잘 모르겠습니다.

Tasmota - Home Assistant(HA) 연결

이제 만들어진 노드를 홈서버와도 연결해야겠죠. Tasmota에서 상태 메시지를 발생시켜서 HA에서도 확인할 수 있도록 연동하는 방법입니다. ESPHome은 스크립트 코드 한 줄로 API 기능을 켜게 되면 이 기능은 자동으로 활성화가 되는 것과는 대조적이지만 이 방법도 크게 어렵진 않습니다.

설정 메뉴 > MQTT설정 메뉴로 이동을 해서 HA 서버에서 동작하고 있는 MQTT broker 설정을 입력해 줍니다. "호스트, User, 비밀번호"란만 입력하면 되네요.

여기까지 설정을 하고 나서 HA에서 Tasmota 통합 구성요소를 추가해주면 자동으로 새로운 장치가 인식되네요. 아래는 HA 화면입니다.

Home Assistant에서 Tasmota 통합 구성요소 확인

그 외 기능

그 외에도 기본적으로 다양한 기능들이 내장되어 있는데요. 자체적 타이머 기능이 있어서 핀 별로 동작 시퀀스를 설정할 수도 있고, 웹에서 바로 디버깅 메시지를 확인할 수도 있습니다. 그리고 펌웨어 업그레이드도 번거로운 절차 없이 웹에서 바로 가능하네요.

이상 Tasmota 맛보기였습니다. 처음에 펌웨어만 한번 올리면 어디서든지 필요한 기능으로 조정해서 사용할 수 있는 매력적인 설루션인 것 같습니다. 하지만 저는 ESPHome에 익숙해져서인지 어딘가 Tasmota는 어색한 구석이 있어서 한동안은 계속 ESPHome을 주력으로 사용할 것 같습니다.

 

끝!

반응형

댓글