SUPERCYCLERmanual
33 · DIYAVANZADO

Placa propia: DIY con ESP32

Si te armás tu propio hardware no hace falta que tu marca esté en la lista de Conectar el primer dispositivo. La app te da un usuario, una contraseña y un tema de MQTT, y tu placa le manda las lecturas derecho al servidor, sin pasar por la nube de nadie. Es un camino de sólo lectura: un sensor DIY informa, no prende ni apaga nada.

  1. 01Menú ☰ → Agregar dispositivo → Brain ESP32 (placa propia).
  2. 02Antes de crear nada, abrí Ver contrato y firmware de referencia. Ahí está el protocolo escrito y un sketch de Arduino que ya habla todo esto, para adaptarlo a tu sensor en vez de empezar de cero.
  3. 03Tocá AGREGAR SENSOR MQTT. La app te muestra el secrets.h con las credenciales adentro, te deja bajar el config.json y te arma un pedido listo para pegarle a una IA que te escriba el firmware.
  4. 04Flasheá la placa y dejala publicando. Con el primer mensaje que llega, la pantalla la detecta sola y te deja asignarla a una zona.

Cómo se conecta

QuéValor
Servidornewschoolgrowers.supercycler.app
Puerto8883, con TLS obligatorio. No hay MQTT en claro, y el certificado hay que validarlo contra la CA que trae el contrato.
Usuario y Client IDel board_id que te dio el alta — empieza con diy_
Contraseñael token del alta
Temasc/diy/<board_id>/telemetry/<canal>
Canalel que te dio el alta. Hoy la app crea uno solo y se llama env0.
EntregaQoS 1, y sin retained

Cómo es el mensaje

  • Es un objeto JSON plano: una clave por medición, todas en la raíz. Nada anidado.
  • Los valores van como número, nunca como texto: {"t":23.5} entra y {"t":"23.5"} se descarta.
  • Hasta 1024 bytes por mensaje. Más que eso se tira entero.
  • Podés mandar varias mediciones en el mismo mensaje.
  • Las que no mandes conservan el último valor conocido: una placa que sólo manda temperatura no te borra la humedad.
  • Las claves que el servidor no conoce se ignoran. Si el mensaje no trae ninguna medición válida, se descarta entero.
  • Un valor fuera de rango anula sólo esa medición, no el mensaje completo.
  • El nombre largo de una clave sólo se usa si la clave corta no está. Si mandás {"t":null,"temperature":21} el servidor se queda con el null de t y la temperatura se pierde sin aviso: elegí una forma y no las mezcles.
  • Podés incluir ts (epoch en segundos) y se acepta, pero la hora que vale es la de llegada al servidor.
  • Un mensaje cada 30 a 60 segundos. El firmware de referencia manda uno cada 45.

Qué puede medir una placa

ClaveTambién valeQué esRango
ttemperatureTemperatura del aire, en °C−40 a 80
hhumidityHumedad relativa, en %0 a 100
smsoil_moistureHumedad del sustrato, en %0 a 100
vpd— sólo la cortaVPD, en kPa0 a 20
co2— sólo la cortaCO₂, en ppm0 a 10000
ph— sólo la cortapH de la solución0 a 14
ec— sólo la cortaEC de la solución, en mS/cm0 a 20
secsoil_ecEC del sustrato, en mS/cm0 a 20
stempsoil_temperatureTemperatura del sustrato, en °C−40 a 80
wtempwater_temperatureTemperatura del agua, en °C−40 a 80
Hacé esto
Arrancá del firmware de referencia y cambiale el sensor. Ya trae resuelto lo que más cuesta de cero: la validación del certificado y la cadencia.
Evitá esto
No subas el secrets.h ni el config.json a un repositorio. Esa contraseña es la llave de tu placa y no hay forma de saber quién la usó.

Nada de esto es imprescindible para cultivar — esto es para el que se arma el hardware

ImportanteCredenciales guardadas antes de cerrar, y el tema copiado tal cual.
OpcionalSumarle a la misma placa las mediciones de sustrato y de solución.
Brain de verdad mira tus sensores

Este manual te explica la app. Brain, adentro, te contesta sobre tu carpa: por qué te subió el VPD anoche, si ese dryback es normal, qué conviene tocar hoy.

Manual de producto de Supercycler · las capturas son de la app real con el tema SATANIC BRAIN (el que viene por defecto) · lo que ves en pantalla puede cambiar de nombre según el idioma que tengas elegido.