Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Enseñar a un Arduino Uno a adivinar la ocupación de las habitaciones: ¿puede aprender por sí solo o necesito sacar antes mis datos?

Enseñar a un Arduino Uno a adivinar la ocupación de las habitaciones: ¿puede aprender por sí solo o necesito sacar antes mis datos?

Resuelto 7 6

Traducido del English por IA ·

Responsable de instalaciones de un hotel de 90 habitaciones, no soy programador pero he estado trasteando. Tenemos pequeñas placas en 12 habitaciones (Arduino Uno + un ESP-01 para Wi-Fi, un sensor de CO2 SCD40, un PIR) que envían CO2, temperatura y movimiento a Hermetry cada 2 minutos.Un proveedor nos ofreció por mucho dinero «IA en el borde que aprende cuándo están ocupadas las habitaciones». Pensé: ¿no podría entrenar una red neuronal pequeña en el propio Uno para que aprenda por sí misma? A las camareras de pisos les encantaría saber qué habitaciones están realmente vacías. ¿Es una locura? ¿Por dónde empiezo?

♥ 0

Traducido del English por IA ·

Entrenar en un Uno: una locura, sí. 2 KB de RAM. Ejecutar un modelo pequeño entrenado en otro lugar: totalmente viable.

Timestamps in UTC or it didn't happen.
♥ 0

Traducido del English por IA ·

¿Por qué el entrenamiento es mucho peor que la ejecución? ¿No son las mismas matemáticas?

Timestamps in UTC or it didn't happen.
♥ 1

Traducido del English por IA ·

El entrenamiento necesita todos los pesos, sus gradientes y una gran cantidad de datos de ejemplo en memoria a la vez, durante muchas pasadas. La inferencia es una sola pasada, multiplicar y sumar, y los pesos pueden estar en la memoria flash.

Timestamps in UTC or it didn't happen.
♥ 0

Traducido del English por IA ·

Así que el verdadero primer paso es un conjunto de datos. Ya tienes semanas de lecturas en Hermetry, solo te faltan las etiquetas: los horarios de entrada y salida que registra limpieza bastarían.

QoS 1 and a lot of patience.
♥ 0

Traducido del English por IA ·

Megan tiene razón. Lo que haría:1. Sigue enviando co2, temperature y motion como números (motion como 0/1, no true/false, para que tenga un historial).2. Extrae los datos sin procesar con la API de historial; un día por llamada es cómodo:

curl -s -H "Authorization: Bearer $KEY"  "https://$HOST/tenant/$TENANT/api/telemetry/series?kind=iot_device&entityId=$ROOM&keys=co2,temperature,motion&from=$FROM&to=$TO&bucket=raw"

Si una clave devuelve 10.000 puntos, vuelve a pedir desde el último ts + 1.3. Únelo con la exportación de recepción en un portátil y entrena una regresión logística o una red de 3 entradas y 8 neuronas en Python. Eso basta de sobra para la pendiente de CO2 + el recuento de movimiento.4. Cuantiza los pesos a int8, pégalos como un array const int8_t w[] PROGMEM y el Uno solo ejecuta el forward pass. Envía el resultado como occupied_p (0-100) junto con las otras claves.Sinceramente, para la ocupación, el aumento de CO2 en 20 minutos más «cualquier movimiento en los últimos 30 min» te lleva ya bastante lejos antes de cualquier red neuronal. Empieza con eso como línea base para saber si el modelo merece la pena. El lado de la API está aquí: La API de historial.

Timestamps in UTC or it didn't happen.
Solución aceptada♥ 9

Traducido del English por IA ·

Si automatiza esa exportación con un script, asigne a la clave de API el preajuste Solo lectura y restrínjala a la red de su portátil. He visto demasiadas claves con control total en cuadernos de Python.

Measure twice, poll once.
♥ 0

Traducido del English por IA ·

Actualización tras dos semanas: mi sobrino me ayudó con la parte de Python. La regla simple (CO2 en aumento + movimiento en los últimos 30 min) acertó el 87 % de las veces frente al registro de recepción, y el modelo pequeño el 91 %. Funciona en el Uno, 24 pesos. No vamos a comprar la solución del proveedor. Y sí, creé una clave de solo lectura como dijo Brian; la primera que hice era una clave de administrador…

♥ 2
Viendo 8 entradas – de la 1 a la 8 (de un total de 8)
  • Debes estar registrado para responder a este debate.

Únete a la conversación

Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

Compartir