Tasmota
Это черновик страницы. Последняя правка сделана 07.09.2021 пользователем A.Degtyarev.
Описание
Tasmota — это прошивка для Wi-Fi устройств на базе контроллеров ESP. Подробнее читайте на сайте tasmota.github.io.
Для использования Tasmota-устройств с контроллером Wiren Board нужно установить конвертер tasmota2wb.
tasmota2wb
tasmota2wb — это стороннее программное обеспечение, которое написано и поддерживается пользователем avp.
Конвертер выполнен в виде сервиса, который преобразовывает MQTT-топики tasmota-устройства в устройства Wiren Board, поэтому перед работой с tasmota-устройством в нём нужно включить поддержку MQTT.
Так как конвертер поставляется в исходных кодах, то для сборки вам понадобится персональный компьютер с Debian-подобной ОС Linux.
Подготовка
Подготовим среду для сборки конвертера. Все команды могут выполниться от обычного пользователя, где необходимы привилегии администратора, используйте sudo.
Установите необходимые библиотеки:
apt install git libjsoncpp-dev libmosquittopp-dev
Создайте папку, где будем собирать конвертер и хранить систему сборки:
mkdir ~/dev
cd ~/dev
Загрузите Wiren Board Development Environment:
wget https://raw.githubusercontent.com/wirenboard/wirenboard/master/wbdev
chmod +x wbdev
Установите Docker:
sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common -y
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Сборка
Загрузите исходные коды конвертера:
cd ~/dev
git clone https://github.com/avp-avp/tasmota2wb.git
cd tasmota2wb
В оригинальном репозитории в файле .gitmodules
путь к субмодулю libs указан через ssh. Если у вас нет аккаунта на Github с привязанным SSH-ключём, то измените путь репозитория:
- Откройте файл на редактирование:
mcedit ./.gitmodules
- Замените url на
https://github.com/avp-avp/libs.git
:[submodule "libs"] path = libs url = https://github.com/avp-avp/libs.git
Инициализируйте субмодуль libs
:
git submodule init
git submodule update
Соберите конвертер, для этого выполните по очереди команды:
sudo WBDEV_TARGET=wb6 ../wbdev chroot autoreconf -fvi
sudo WBDEV_TARGET=wb6 ../wbdev chroot ./configure
sudo WBDEV_TARGET=wb6 ../wbdev chroot make
Скопируйте файлы на контроллер, например, с ip-адресом 192.168.42.1
:
scp tasmota2wb.service root@192.168.42.1:/etc/systemd/system/
scp tasmota2wb/tasmota2wb/root@192.168.42.1:/usr/bin/tasmota2wb
scp tasmota2wb.json root@192.168.42.1:/etc/tasmota2wb.conf
ssh root@192.168.42.1 "systemctl enable tasmota2wb"
ssh root@192.168.42.1 "service tasmota2wb start"
Настройка tasmota-устройства
Настройте tasmota-устройство, чтобы оно отправляло данные в MQTT-брокер контроллера:
- Перейдите Configuration → Configure MQTT.
- Заполните поля, в поле Host укажите IP-адрес контроллера, а User и Password можно не указывать — по умолчанию на контроллере Wiren Board MQTT-брокет не требует авторизации.
- Нажмите Save.
По умолчанию tasmota-устройство отправляет телеметрию в MQTT-брокер раз в 300 секунд, но вы можете это изменить:
- Перейдите Configuration → Configure Logging.
- В поле Telemetry period установите желаемое значение, но не меньше 10 — это минимум, заложенный автором прошивки.
- Нажмите кнопку Save.