En este tutorial vamos a ver un relé USB WiFi que se llama Sinilink XY-WFUSB. Su mayores virtudes son su precio, su tamaño y que gracias a lo que vas a poder ver en este tutorial, se puede integrar en Home Assistant de forma local gracias a ESPHome.
Este dispositivo puede ser muy útil para controlar la carga de dispositivos que utilizan baterías, para controlar luces y, gracias que este relé USB puede controlar señales PWM, vas a poder controlar ventiladores y algunos modelos de bombillas LED.
Vamos al lío.
Indice de contenidos
Capítulos relé USB WiFi Sinilink
Si quieres ir a tiro hecho con el vídeo, aquí te dejo los capítulos.
00:00 Introducción y mini curso (gratuito) en https://programarfacil.com/
02:22 Dónde es útil el RELÉ USB Sinilink XY-WFUSB USB
04:08 No utilices la APP del fabricante por esto
05:50 Cómo hacer las conexiones para programar el dispositivo
10:35 Este es el código ESPHome qué necesitas para el RELÉ USB
Dónde es útil un relé USB WiFi Sinilink
Este dispositivo es un relé basado en un transistor MOSFET que nos permite controlar corrientes continuas de hasta 5A y tensiones de 3,5V a 20V según el fabricante, yo no lo he probado.
La idea es conectar este dispositivo a una fuente de alimentación que cumpla con estos requisitos para poder controlar aparatos que se alimentan con corriente continua.
Puede ser muy útil para controlar la carga de dispositivos que funcionan con batería como móviles, tablets o herramientas pero también sirve para dispositivos que se alimentan a través de un cargador como pueda ser una lámpara, una cámara o cualquier otro aparato.
En mi caso yo lo utilizo con una lámpara que mi hija la pre-aborrescente tiene en su habitación.
A ver, esto también se puede hacer con los típicos enchufes domóticos, la diferencia es que este dispositivo es más compacto, más económico y como veremos más adelante lo podemos hacer funcionar con ESPHome.
Pero esto no se queda aquí porque el Sinilink WiFi USB, así se llama este cacharro, también permite el control de dispositivos compatibles con señales PWM con las que controlar la intensidad de luces LED o la velocidad de ventiladores compatibles con este tipo de señales.
Vamos, que es dispositivo del cual se puede sacar bastante provecho a un precio contenido de entre 4 y 5€. Sin embargo, existe un gran inconveniente con este dispositivo en cuanto a la aplicación que nos proporciona el fabricante.
Aplicación Sinilink del fabricante
El fabricante proporciona una aplicación para poder controlar el relé WiFi USB desde el móvil. Sin embargo hay una razón por la que no deberías utilizar esta aplicación. Te lo resumo en tres palabras: HO RRIBLE.
Según el fabricante, solo tienes que enchufar el dispositivo, iniciar la aplicación y listo.
Y mis cojones 33
Lo primero es que aunque se puede configurar la aplicación en inglés, uno de los cuadros aparece en chino que no sé tú, pero yo ni papa de lo que dice.
Pero espera porque no se queda aquí, después de dar todos tus datos al fabricante donde tienes que incluir tu número de teléfono para poder accionar un botón cosa que no me hace ni puta gracia, después de intentar configurar el dispositivo ¡chorprecha!….no funcionaba.
A ver, me encantan los productos chinos, no te voy a descubrir nada nuevo si digo Aliexpress, pero cuando un fabricante (chino o de cualquier otro país) saca un producto al mercado debería preocuparse, como mínimo, de que el producto funcione y que la gente entienda la aplicación o las instrucciones porque están, como mínimo, en inglés.
Y después de intercambiar unos cuantos mensajes con el vendedor jurando en arameo, me acordé que este dispositivo utiliza como cerebro un ESP8266.
Uhuuuuuu
Esto quiere decir que vamos a poder flahsearlo con ESPHome. De hecho, no vas a tener que configurar ni programar una línea de código, luego te cuento más pero antes, vamos a ver cómo conectar el dispositivo a nuestro ordenador para poder cargar el código de ESPHome
Cómo conectar el relé USB WiFi Sinilink
A ver, aunque este dispositivo tenga un puerto USB lo único que hacemos a través de este puerto es alimentar el dispositivo, pero este puerto no sirve para enviar datos al microcontrolador, es decir, que no vamos a poder cargar un programa como lo hacemos a través del puerto USB de una placa de desarrollo basada en el ESP32 o ESP8266.
Esto es debido a que estas placas llevan integrados un circuito que se conoce como adaptador Serie USB. Estos adaptadores son los que nos permiten enviar un código del ordenador a la memoria del microcontrolador transformando la señal de USB a serie.
Por eso se llaman adaptadores Serie USB, la gente que pone los nombre piensa, no te creas que son unos mindundis.
En las placas de desarrollo tipo Wemos ya viene integrado todo dentro de la placa pero podemos comprar un adaptador Serie USB para utilizarlo de forma externa haciendo nosotros las conexiones. Existen varios modelos que se diferencian en el chip que utilizan pero todos funcionan más o menos igual.
Tienen 4 pines:
- GND: conexión a tierra
- 3V3: para alimentar dispositivos con 3,3V (también suelen tener un pin de 5V para alimentar dispositivos que funcionan con este voltaje).
- TX: es el pin por el que envían los datos serie.
- RX: es el pin por el que reciben los datos serie.
La idea es conectar todos estos pines al Sinilink WiFi USB de alguna manera y para ello lo primero que hay que hacer es abrirlo. Lo puedes abrir con un cutter o con un cuchillo fino. Una vez abierto vas a poder ver el microcontrolador que es un ESP8265, una versión antigua del ESP8266 pero totalmente compatible.
Aparte del microcontrolador y la electrónica que nos permite utilizar este dispositivo como un relé, tiene un pulsador para encender y apagar el relé de forma manual y unos pines donde vamos a conectar el adaptador Serie USB.
Y aquí es donde nos encontramos el primer escoyo porque el fabricante ha utilizado unos pines de 1,27 mm mientras que los cables y pines que solemos utilizar con las placas de desarrollo es de 2,54 mm. Esto quiere decir que no puedes conectar los típicos cables dupont semi rigidos porque no encajan.
Para solucionar esto puedes soldar directamente unos cables finos o puedes utilizar un adaptador de pines de1,27mm a 2,54mm. Los puedes comprar ya soldados y es conectar los pines finos en el Sinilink y los pines más grandes conectados al adaptador serie.
Si pones el relé WiFi USB con el pulsador mirando hacia arriba y los pines abajo, el pineado quedaría de la siguiente manera:
- GND: pin de tierra va conectado al GND del adaptador Serie USB.
- TX: pin por donde se envían los datos serie y se conecta al pin RX del adaptador Serie USB. Ojo con esto que se tienen que cruzar, el TX con el RX y el RX con el TX.
- RX: pin donde se reciben los datos serie, se conecta al pin TX del adaptador Serie USB. Cruzados.
- GPIO0: pin 0 del ESP8266 tiene que ir conectado al pin GND del del adaptador Serie USB.
- RESET: pin reset del ESP8266 no se conecta a ningún pin. Se queda al aire.
- 3V3: pin de alimentación de 3,3V se conecta al pin 3V3 del adaptador Serie USB.
Una vez conectado tenemos que conectar el adaptador serie USB al ordenador a través del puerto USB. Verás que se enciende el Sinilink.
Siguiente paso, cargar el código.
Código ESPHome para relé USB WiFi
El código lo obtenemos de una página donde puedes encontrar el código de este y otros tantos dispositivos. Esta página es devices.eshphome.io
Aquí vas a encontrar dos códigos, uno si quieres que el Sinilink funcione como un interruptor de un cargador de un dispositivo que funciona con batería por ejemplo y otro si quieres que funcione para controlar una luz. Los dos funcionan más o menos igual.
Es un código bastante sencillo, lo único que tienes que hacer es cargarlo al dispositivo. Eso sí, tienes que haber conectado previamente el adaptador Serie USB al ordenador desde el que vas a cargar el código.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
substitutions: name: usb-relay friendly_name: "USB Relay" default_state: "RESTORE_DEFAULT_OFF" esphome: name: ${name} friendly_name: "${friendly_name}" esp8266: board: esp01_1m restore_from_flash: True logger: wifi: ssid: !secret wifi_ssid password: !secret wifi_password fast_connect: True power_save_mode: HIGH ap: ssid: "${friendly_name}" ap_timeout: 3min captive_portal: api: ota: time: - platform: homeassistant # Blue LED status_led: pin: number: GPIO16 # Relay switch: - platform: gpio id: switch_relay pin: GPIO5 # Green LED - platform: gpio pin: GPIO14 id: green_led inverted: true # start on # Switch template to link relay and green LED states # LED is on when relay is off - platform: template id: relay name: "${friendly_name}" lambda: |- if (id(switch_relay).state) { return true; } else { return false; } turn_on_action: - switch.turn_on: id: green_led - switch.turn_on: id: switch_relay turn_off_action: - switch.turn_off: id: green_led - switch.turn_off: id: switch_relay # Button binary_sensor: - platform: gpio id: hardware_button pin: number: GPIO04 mode: INPUT_PULLUP inverted: True on_press: - switch.toggle: relay # WiFi Signal Sensor sensor: - platform: wifi_signal name: "WiFi Status" update_interval: 60s # Restart button button: - platform: restart name: "Restart" |
Ojo, que una vez cargado el código eliminará el firmware original de Sinilink. Compila, seleccionas el puerto USB y lo subes.
Después de la primera carga no hará falta que vuelvas a conectarlo porque podrás actualizar el código vía OTA.
Integración relé USB en Home Assistant
En el momento que se conecta a la red WiFi, si abres Home Assistant verás que ha detectado un nuevo dispositivo de la integración de ESPHome.
Lo añades y a partir de este momento vas a poder añadir el dispositivo en tus automatizaciones así como encender o apagarlo desde la interfaz gráfica.
Y ya está, de esta forma tan sencilla hemos conseguido cambiar el código a un relé WiFi USB para que sea totalmente independiente y local gracias a ESPHome y lo hemos integrado en Home Assistant y en nuestras automatizaciones.
Ahora te toca a ti ¿En qué situaciones puede ser útil para ti el Sinilink? Deja tus comentarios justo abajo del vídeo.
Y poco más, que me despido como siempre digo intenta hoy ser un 1% mejor persona.