33 sensors supported. Zero code required. Just plug in and breathe 33 sensores soportados. Cero código requerido. Simplemente conectar y respirar Usted conoce la perforación: se obtiene este nuevo sensor PM2.5 brillante, se lo enlaza a un adaptador USB-UART, y luego... comienza la pesadilla. Usted necesita Python. Usted necesita controladores. Usted necesita averiguar si es o Usted pasa 20 minutos en un terminal solo para ver si la cosa está viva.Y la mitad del tiempo, usted está escribiendo scripts de lanzamiento sólo para verificar que su sensor de $ 12 realmente funciona. /dev/ttyUSB0 COM3 Me cansé de eso, así que construí algo estúpidamente simple. El momento de "¿Por qué nadie ha hecho esto?" Hace unos meses, estaba probando un montón de sensores de Plantower para un proyecto. PMS7003, PMS5003, los sospechosos habituales. Cada vez que quería comprobar las lecturas, tuve que disparar un script de Python, instalar pyserial, tratar con entornos virtuales, yada yada. Y yo pensé: Chrome ya puede hablar con dispositivos USB. La API Web Serial ha existido desde Chrome 89. En realidad es bastante madura. ¿Por qué todo el mundo todavía utiliza aplicaciones de escritorio para esto? Hackeé una sola página HTML. Threw en Chart.js para la visualización. Añadió un cargador de configuración de JSON. Y de repente pude conectar un sensor, pulsar "Conectar" y ver gráficos en tiempo real en mi navegador. No - No No hay aplicaciones electrónicas que coman 500 MB de RAM. pip install sudo Solo una página web. Cómo funciona realmente Usted va a Usted elige su sensor de una caída (estamos en Ahora, más sobre eso en un segundo). usted hace clic en "Conectar", elige su puerto USB, y bam - streaming de datos en vivo en gráficos. Página web.pages.dev 33 supported models La salsa secreta es un archivo de configuración JSON que describe el protocolo de cada sensor: Tasa de Baud, bits de datos, stop bits Estructura del marco (bytes de inicio, longitud, posición de checksum) Expresiones de JavaScript para extraer valores de bytes crudos Unidades y nombres de exhibición (Encontrarás muchos ejemplos de JOSON en mi ; sólo compruebe sensors.json y readme) GitHub Repo Eso es todo. No hay controladores compilados. No hay flash de firmware. El navegador hace todo. Ahora, estamos en en el estándar JSON, cubriendo: 33 sensors Plantower (PMS1003 a través de PMSA003-S, más el industrial PS3003A) Sensirion (SPS30, SCD30 para CO2) Honeywell (serie HPMA) SenseAir (S8, K30, K33 - sensores de CO2) Nova PM (el clásico SDS011) Compañía Panasonic (SN-GCJA5) Y un montón más de fabricantes más pequeños La parte cool? la adición de un nuevo sensor no requiere tocar el código. Sólo escribe una configuración de JSON. Si tiene un sensor UART que expulsa los marcos binarios, probablemente pueda soportarlo en 10 minutos. Real Talk: La API de serie web está subestimada Creo que la API Web Serial es una de esas características de navegador en las que los desarrolladores duermen.Todo el mundo sabe sobre WebRTC, WebGL, lo que sea.Pero el acceso directo al hardware desde una página web? Sí, solo funciona en los navegadores Chromium (Chrome, Edge, Brave). Firefox y Safari están arrastrando sus pies. El modelo de seguridad es realmente sensato: el navegador pide permiso para cada conexión en serie. No puedes simplemente sniffar silenciosamente los dispositivos USB de alguien. Y dado que todo se ejecuta en el lado del cliente, sus datos de sensores nunca alcanzan mi servidor. Características que realmente importan No quería construir otra plataforma IoT hinchada. quería una herramienta que realmente usaría. Así que aquí están las características que hicieron el corte: Múltiples parámetros, colores personalizables y ajustables. Puede mostrar gráficos para diferentes grupos de sensores (valores PM vs CO2 vs VOCs). Live Charts: Un botón, datos de sesión completos con timestamps.Porque al final, necesita abrir esto en Excel o alimentarlo a su tubo de análisis real. CSV Export: Descarga hexadecimal de cuadros entrantes con indicadores de checksum pass/fail.Esencial cuando está debugando una nueva configuración del sensor. Raw Packet Inspection: HTTP POST/GET/PUT a los endpoints externos con cuerpos JSON plantados. Yo uso esto para conducir datos a InfluxDB o Home Assistant sin ningún middleware. Webhook Streaming: Enviar secuencias de inicialización o comandos de encuesta periódicos.Algunos sensores necesitan un byte de despertar; otros necesitan un marco de consulta específico. Custom Commands: La filosofía de “Sólo funciona” Aquí está mi caliente toma: hardware tools should be as easy as software tools. Cuando conectas una webcam USB, no compiles un controlador. Cuando conectas auriculares Bluetooth, no editas archivos de configuración. Pero por alguna razón, los sensores UART todavía están atrapados en 1998. PolluSensWeb es mi intento de arreglar eso para mi pequeño rincón del mundo del hardware. No es perfecto. La interfaz de usuario es funcional, no hermosa. El código es vanilla JS porque no quería construir pasos. pero resuelve un problema real: lowering the barrier to seeing your data. Probarlo o forjarlo Todo es de código abierto: github.com/WeSpeakInglés/polluSensWeb Puede utilizar la versión alojada en o simplemente y ejecutarlo localmente. No se requiere servidor. No hay dependencias para instalar. Página web.pages.dev Descarga ¿Te parece útil? la estrella Otros también lo pueden encontrar. repo ¿Tienes un sensor extraño que no está en la lista? ¿Está bienvenido a contribuir a una configuración JSON de trabajo para ello - o simplemente probarlo en el hardware, y te ayudaré a escribir el JSON. Déjame un mensaje o abra un PR. Estamos en 33 sensores y contando, y me encantaría alcanzar 50 para el próximo año. Construido con cafeína, Chart.js, y la creencia obstinada de que el hardware no debe requerir un grado de CS para operar.