Relacionado con –>
Kubernetes. k0s – Instalación de homeassistant
kubernetes. k0s – Instalar esphome. Conectar un POD a un puerto USB
Una vez montado el chiringuito, para poder programar los esp8266 desde esphome no queda otra que probarlo. Vamos a ver si el matrimonio entre lo físico y kubernetes está bien avenido o si por el contrario pinta a divorcio.
Empiezo por una modificación. Ésta, consiste en proporcionar autenticación a la consola de esphome. De manera predeterminada no se pide ninguna credencial y es una buena práctica solicitarla máxime si el servicio está expuesto a Internet.
spec:
containers:
- args:
- dashboard
- --username
- tuusuario
- --password
- tupassword
- /config
image: esphome/esphome
Ahora depende de como tengas publicado el servicio podrás acceder al el. En mi caso lo he publicado en un Ingress que redirige a un Servicio que escucha en el puerto 6052.
Una vez en la consola de esphome se puede iniciar un nuevo proyecto pinchando en + NEW DEVICE. Aparece un Wizard donde te piden unos pocos datos generándose un pequeño código en formato yaml. Cuando pinchas en UPDATE se sube el código al microcontrolador.
esphome:
name: sensor-temp-atico
friendly_name: sensor-temp-atico
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "JGJneKJpuFOaS+Uwfi6ScaIephaaaaaPeGXx+NWGHk="
ota:
password: "aca542bb696a66d1775faaaa1f4e94ab"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Sensor-Temp-Atico"
password: "aaaaaa0Eknen"
captive_portal:
Una vez compilado y obtenido el firmware se conecta y lo sube al microcontrolador. En el código siguiente se puede ver como finalmente esphome se ha conectado al micro desde /dev/ttyUSB0. Se valida entonces cada uno de los mapeos hardware que han llevado el USB del NAS al contenedor donde corre esphome.
esp8266_copy_factory_bin([".pioenvs/sensor-temp-atico/firmware.bin"], [".pioenvs/sensor-temp-atico/firmware.elf"])
======================== [SUCCESS] Took 216.33 seconds ========================
INFO Successfully compiled program.
esptool.py v4.6.2
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:aa:aa:aa
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Auto-detected Flash size: 1MB
Flash will be erased from 0x00000000 to 0x00077fff...
Compressed 487504 bytes to 343041...
Wrote 487504 bytes (343041 compressed) at 0x00000000 in 32.4 seconds (effective 120.4 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
INFO Successfully uploaded program.
INFO Starting log output from /dev/ttyUSB0 with baud rate 115200
[00:55:17]\x90no$`nr\x8e\x92\x92nrr\x92`p\xf2n\x82r\x8cbbn\xe2nb\xc4\xf2nn'l`\x90nn$`nr\x8e\x92\x92nrl`r\x92\x92nrl`\x9c\xec\xe4ll`\xfc\x82n\x92`[I][logger:351]: Log initialized
También se puede ver como se ha podido conectar a la red WIFI y tiene IP asignada. Vamos un éxito total.
[00:55:25][C][wifi:411]: IP Address: 192.168.0.69
[00:55:25][C][wifi:412]: BSSID: [redacted]
[00:55:25][C][wifi:414]: Hostname: 'sensor-temp-atico'
[00:55:25][C][wifi:416]: Signal strength: -44 dB ▂▄▆█
[00:55:25][C][wifi:420]: Channel: 6
[00:55:25][C][wifi:421]: Subnet: tumask
[00:55:25][C][wifi:422]: Gateway: tugw
[00:55:25][C][wifi:423]: DNS1: tudns
[00:55:25][C][wifi:424]: DNS2: tudns
[00:55:25][C][logger:439]: Logger:
[00:55:25][C][logger:440]: Level: DEBUG
[00:55:25][C][logger:441]: Log Baud Rate: 115200
[00:55:25][C][logger:443]: Hardware UART: UART0
[00:55:25][C][captive_portal:088]: Captive Portal:
[00:55:25][C][mdns:115]: mDNS:
[00:55:25][C][mdns:116]: Hostname: sensor-temp-atico
[00:55:25][C][ota:097]: Over-The-Air Updates:
[00:55:25][C][ota:098]: Address: sensor-temp-atico.local:8266
[00:55:25][C][ota:101]: Using Password.
[00:55:25][C][api:139]: API Server:
[00:55:25][C][api:140]: Address: sensor-temp-atico.local:6053