Visitas: 67
Seguro que si has llegado hasta aquí es porque tienes dispositivos TUYA que te gustaría Flashear Tasmota sin soldar. Tal y como os hemos explicado en esta publicación que os enlazo abajo, a día de hoy se puede integrar tuya en Home Assistant de una forma muy sencilla.
Si habéis visto el vídeo, o habéis leído el artículo veréis que mencionó que tiene a ciertos problemas. Esos problemas son significativos sobre todo con algunos elementos, cómo pueden ser los enchufes de medición de consumo. En el vídeo os menciono que una de mis integraciones precisamente es uno de esos enchufes y os muestro como a mí no me trae los valores de consumo solamente me lo convierte en un switch
Algunos ejemplos de dispositivos TUYA
[amazon box=”B07SNBKXH5, B07RGKC59X, B07S3H6FN1″ grid=”3″]
Por lo expuesto hasta ahora creo que es necesario encontrar una forma en la que podamos trabajar con todos estos dispositivos, de forma nativa con tasmota, a través de Home Assistant y para ello os planteo este modo de flashear tuya sin soldar, de forma inalámbrica. Empezamos.
Flashear Tasmota sin soldar en TUYA
La intención de este manual es ir un poquito más allá que en el anterior, os voy a adjuntar un vídeo un poquito más abajo en el que hago todo lo que os cuento en este manual pero en vídeo para que os podáis apoyar en el.
Cómo os comentaba queremos dar un paso más, ahora no solo queremos integrar los dispositivos con Sistema operativo TUYA, sino que queremos sustituir ese sistema operativo TUYA y flashear Tasmota sin necesidad de realizar soldaduras en los dispositivos
El proceso que vamos a llevar a cabo se explica fácilmente: vamos a utilizar un dispositivo que podamos convertirlo en un servidor de actualizaciones OTA, para que nuestros dispositivos TUYA se crean que van a realizar una actualización del firmware y en realidad lo que van a hacer es una sustitución del Firmware que llevan que en la actualidad por Tasmota. Para llevar a cabo este manual yo voy a utilizar una Raspberry Pi 3B+
Preparamos nuestro servidor OTA
Recordar que para cualquier duda que os surja durante el proceso a pie de página tenéis el vídeo tutorial.
Para este cometido podemos utilizar cualquier dispositivo con un adaptador Wi-Fi que se pueda poner en modo de AP. Lo más sencillo en este caso es que si ya tenéis alguna raspberry-pi en casa podéis utilizar la para este cometido. Si solo tenéis una y vais a utilizar la misma que tenéis para vuestro home Assistant, como es mi caso, os recomiendo que utilicéis una tarjeta SD diferente.
[amazon box=”B082PSBBMM, B07YYZBQYP, B07ZZ8GZR2″ grid=”3″]
Los pasos que vamos a seguir para preparar nuestro servidor o está de tasmota son muy similares a los pasos que seguíamos cuando queríamos preparar nuestra raspberry para configurarla con Docker, por lo que si queréis consultar algunos pasos más detallados podéis acceder a los vídeos de este mini curso.
Descargar la última versión de Raspbian
Debeis dirigiros a este link y descargar la última versión de este sistema operativo Raspbian, ya que es sobre el que vamos a realizar todas las instalaciones y configuraciones para convertirlo en un servidor OTA. Os recomiendo que descargues la versión Lite sin escritorio, ya que queremos un sistema operativo base muy pequeñito y instalaremos las cosas que nosotros necesitamos. Vamos a trabajar por SSH, por lo que no necesitamos ningún tipo de escritorio
Flashear Raspbian en la SD
Para este paso yo os recomiendo que utilicéis el programa balena etcher que ya hemos utilizado en otros vídeos para realizar los flasheos de las tarjetas Micro SD. Podéis descargar Balena Etcher desde aqui. Este es un programa muy sencillo, pero muy eficiente, es decir no se anda con rodeos solamente vale para esto y lo que tiene que hacer lo hace y muy bien.
[amazon box=”B0834ZZZGW, B073SB2L3C, B073JYC4XM” grid=”3″]
Crear un fichero llamado SSH sin extensión
No olvidéis que para poder conectarnos a nuestra raspberry con posterioridad a través de putty, vamos a necesitar haber activado las comunicaciones SSH. Esa conectaros a ella y en raíz vais a crear un ficherito que se llame SSH sin ningún tipo de extensión y lo dejáis ahí. Este fichero va a hacer que cuando arranque vuestra Raspberry Pi conectada por cable Ethernet tengamos disponible un acceso por SSH.
Configuramos nuestro servidor OTA
Recordar que para cualquier duda que os surja durante el proceso a pie de página tenéis el vídeo tutorial.
Es cierto que si os habéis descargado la última versión de la distribución raspbian desde su página web deberíamos de suponer que está totalmente actualizada, pero personalmente os recomiendo que ejecutaste estos dos procesos que os describo a continuación para tener de todas las librerías y de todos los componentes la última versión en cada uno de ellos
Realizar un Update de vuestro servidor para flashear tasmota
Está maniobra es realmente sencilla solamente vais a tener que realizar la ejecución por consola del comando que os adjunto a continuación
SUDO APT-GET UPDATE
Os advierto que no debéis desesperaros, tenéis que tener paciencia porque tanto este como el siguiente son comandos que pueden tomar bastante tiempo la finalización.
Realizar un Upgrade de vuestro servidor OTA de TUYA
Igualmente que antes este proceso se lleva a cabo con un sencillo comando, os la adjunto aquí también a continuación.
SUDO APT-GET UPGRADE
Por favor en este paso también tener paciencia porque tarda un ratito
Instalamos todas las dependencias de GIT
el código fuente de el proyecto que vamos a utilizar para ejecutar el flasheo de dispositivos tuya sin soldar se encuentra alojado en Github. Para poder utilizar de forma local estos proyectos debemos instalar todas las dependencias de éste, y poder traernos el código fuente a nuestra máquina local para ejecutarlo. Para instalar todas las dependencias mencionadas utilizad este código que os pongo a continuación
sudo apt-get install git
Clonar el proyecto Tuya-convert
Para traernos el proyecto tuya-convert, es decir clonarlo en nuestra máquina nos vamos a dirigir a la carpeta “home/pi” (en mi caso Pi porque así es el nombre de mi usuario en raspbian) y en esa localización ejecutamos el código que os pongo a continuación. esto ejecutará la descarga y obtendremos en una carpeta colgando de “Home/pi” todo el código fuente del script.
git clone https://github.com/M4dmartig4n/tuya-convert.git
Hecho todo esto ya tenemos preparado nuestro servidor OTA para empezar a configurar el Script tuya-convert y poder empezar a flashear tasmota sin soldar en nuestros dispositivos tuya
Preparamos el Script TUYA-Convert
El script para flashear tasmota en dispositivos TUYA está dividido en dos etapas, una que se encarga de asegurarse que tengamos todas las dependencias del proyecto bien instaladas y configuradas y una segunda etapa que es la que se encarga de la sustitución del firmware en cada uno de los elementos TUYA
Pre-requisitos de Script
Para ejecutar el script de los prerrequisitos, nos tenemos que dirigir a la carpeta donde hemos clonado el proyecto tuya-convert.
/home/pi/tuya-convert
La ejecución de los pre-requisitos, desde mi punto de vista es uno de los procesos críticos de este script, es en el que más problemas os podéis encontrar, aunque también os voy a dar los medios para solucionarlos.
Para ejecutar los pre-requisitos utilizar el comando que os pongo a continuación una vez estéis ubicados en la carpeta que os he indicado arriba. si en este proceso se encontráis con errores remitiros al apartado de solución de incidencias
./install_prereq.sh
En el caso de que este proceso haya terminado correctamente, podéis dirigiros al siguiente paso y si no como os decía hace un momento os remito al apartado de solución de incidencias un poco más abajo o al vídeo explicativo donde os comento todas las posibles incidencias
Flashear Tasmota sin soldar
Por fin hemos llegado al . de este manual que todos estáis esperando, como siempre dicen todo lo bueno se hace esperar. Para lanzar el proceso de flasheo de tasmota sin soldar tenéis que ejecutar el siguiente comando
./start_flash.sh
Tras ejecutar el comando lo primero que veréis será este texto en el que os explica un poquito todos los riesgos que puede sufrir tu dispositivo TUYA si realizas este proceso, para estar seguro que lo estáis ejecutando a conciencia os pide que escribáis la palabra “yes” y le dais al Intro
A partir de aquí puede que os encontréis con diversas dificultades, si así fuere acercaos a la sección de solución de incidencias en este mismo artículo o mirad el vídeo en el que explico la forma de solucionar todas las posibles incidencias que yo he sufrido
Cuando hayáis pulsado intro después de escribir la palabra “yes”, el script levanta la red Wi-Fi a la que tenéis que conectaros con un dispositivo móvil y mantenerlo conectado a esa red Wi-Fi durante todo el proceso.
No obstante, como veis tenéis todas las indicaciones en pantalla, el nombre de la red Wi-Fi a la que tenéis que conectaros y la contraseña que tenéis que introducir para validar en la misma. Una vez hayáis realizado esta acción es el momento de presionar la tecla Enter. Hecho esto el script se pone a la espera de que aparezca un dispositivo que flashear. Durante la espera veréis como van apareciendo en pantalla puntos.
Una vez que aparezca un dispositivo tuya que flashear, el script lo detectara y empezará a descargarse la imagen del firmware que lleva flasheado el dispositivo.
terminado el proceso de descarga os aparecerá en pantalla un resumen de los tres pasos que os quedan por hacer.
El primero de los tres pasos, es ejecutar el comando que veis a continuación y anotar por seguridad todo lo que os aparezca por pantalla.
curl http://10.42.42.42
hecho eso y antes de realizar el flasheo, debéis aseguraros de que estáis realizando la instalación de tasmota en el userspace correcto y eso lo vais a hacer con el comando que os indico a continuación
curl http://10.42.42.42/flash2
la respuesta del script a este comando debe de ser algo muy parecido, sino exactamente igual que esto que os pongo a continuación
“Device is allready booting from userspace 2”
Por último y para terminar con el proceso ejecutar este comando que os indico a continuación. Este último comando es el que realmente realiza el flasheo de tasmota en nuestro dispositivo tuya
curl http://10.42.42.42/flash3
Una vez allí es ejecutado este proceso, notaréis como durante el tiempo de flasheo el dispositivo se activa y desactiva varias veces, incluso os parecerá que se reinicia. no os asustéis esto es normal el dispositivo realiza varios procesos antes de terminar el flasheo de tasmota en nuestro dispositivo. lo cierto es que una vez que termine veréis como este dispositivo activa automáticamente una red Wi-Fi denominada sonoff-xxxx, esa es la red Wi-Fi que autogenera vuestro nuevo dispositivo tasmota.
A partir de aquí ya solo os queda configurar un dispositivo tasmota cualquiera frasear
Incidencias durante el proceso de flashear sin soldar
Realización del proceso en un entorno virtualizado
Una de las primeras cosas que se me ocurrió cuando empecé a realizar las pruebas de este método de flasheo es el de utilizar el subsistema de Windows 10 con instalación de debían. La verdad es que todo pintaba fantásticamente bien hasta que llegó el momento de levantar la red Wi-Fi.
No conseguía levantar el Punto de acceso para conectarme con el dispositivo Tuya. He de confesaros que el punto específico que os indico más abajo para solucionar el problem de que no se levante la red Wi-Fi no lo probé en el subsistema de Windows, por lo que si alguno de vosotros se anima ya sabéis dejarlo en los comentarios.
Al instalar los pre-requisitos me da error de SSL
En principio este error lo debéis de solucionar con este comando que os adjunto a continuación
sudo apt-get install libssl-dev
no obstante veréis que yo también ejecuto este otro porque en otra de las pruebas que hice me lo recogió así es que no quise pillarme los dedos
sudo apt-get install libzbar-dev libzbar0
No se levanta la red Wi-Fi para conectarme como AP
Probablemente este fue el error que más me trajo de cabeza. En principio esto os estaría pasando porque a nivel de kernel están bloqueadas las comunicaciones a través de estas dos interphases, Wi-Fi y Bluetooth.
A continuación os indico un par de comandos 1 para desbloquear solamente la red Wi-Fi udro para desbloquear cualquier otra interfaz. lo que si es necesario es que después de realizar los desbloqueos reinicie 6 la Raspberry Pi. Una vez terminado el reinicio volver a realizar el listado para confirmar que se ha mantenido el de desbloqueo.
sudo rfkill unblock wifi
sudo rfkill unblock all
sudo rfkill list (para confirmar el desbloqueo)
reboot