Saltar al contenido
KolHive KolWrite Descargar

KolHive

Apps que controlan hardware

En KolHive puedes crear aplicaciones que se conectan a dispositivos Bluetooth Low Energy, equipos de tu red local, sensores del teléfono y receptores infrarrojos.

Diagrama que muestra una aplicación de KolHive solicitando acceso al hardware mediante el puente de KolHive, el cual pide tu permiso antes de conectarse a Bluetooth, la red local, los sensores de movimiento o el puerto infrarrojo.Tu appPuente de KolHiveTe pregunta primeroBluetooth LERed localSensores de movimientoInfrarrojosSolo Android con IR
Cada solicitud de hardware pasa por KolHive y pide tu autorización antes de conectarse.

Qué puede controlar una app de KolHive

Cuando decides crear una aplicación en KolHive, esta puede comunicarse con los dispositivos físicos a tu alrededor. Tu app puede conectarse a accesorios con Bluetooth Low Energy, comunicarse con equipos en la red de tu casa u oficina y leer los sensores de movimiento del teléfono. En teléfonos Android compatibles, también puede enviar señales remotas por infrarrojos.

Por ejemplo, Lucía en Madrid puede armar un monitor que lea su banda de frecuencia cardíaca por Bluetooth o consulte un sensor de humedad en una maceta. Javier en Ciudad de México puede encender un enchufe inteligente en la red de su oficina o despertar su computadora de escritorio mediante Wake-on-LAN. En un teléfono Android con emisor infrarrojo, Valentina en Bogotá puede crear un control remoto para el televisor de su sala.

Las aplicaciones nunca se conectan al hardware de forma directa. Cada solicitud pasa por KolHive, que verifica lo que la app declaró y pide tu autorización primero.

Bluetooth Low Energy

Una aplicación creada en KolHive puede usar Bluetooth Low Energy (BLE) como dispositivo central. Puede buscar accesorios cercanos, conectarse, leer y escribir datos de hasta 512 bytes, y suscribirse a notificaciones. No se admiten conexiones de Bluetooth clásico, perfiles de audio ni puertos serie RFCOMM.

La app nunca recibe una lista silenciosa de los dispositivos cercanos. Cuando pide buscar accesorios, KolHive abre su propio selector de dispositivos en tu pantalla. La aplicación solo ve el dispositivo que tú eliges y únicamente los servicios Bluetooth que declaró de antemano.

El acceso a Bluetooth funciona en la aplicación de KolHive para Mac, Windows, iPhone, iPad y Android. Los dispositivos de Apple piden permiso en el primer uso, y Android 12 o posterior solicita el permiso de dispositivos cercanos. En el navegador web, Bluetooth solo funciona en Chrome y Edge, no en Safari ni en Firefox.

Dispositivos en tu red local

Tu app puede encontrar dispositivos en tu red local y comunicarse con ellos mediante HTTP, WebSocket, TCP y UDP. También puede descubrir equipos usando SSDP o mDNS y enviar paquetes Wake-on-LAN. Solo es posible acceder a direcciones de red privada. KolHive rechaza las conexiones a servidores públicos de internet, direcciones de bucle local (loopback) y la propia dirección de tu dispositivo.

Cada ventana de la aplicación puede mantener hasta 16 sockets abiertos al mismo tiempo y ejecutar cuatro búsquedas de dispositivos por minuto. Las respuestas HTTP tienen un límite de 5 MB. Los certificados autofirmados solo se aceptan para dispositivos locales y únicamente cuando la aplicación lo solicita.

El control completo de la red local funciona en Mac, Windows y Android. En Mac, el sistema muestra su propio aviso de permiso para acceder a la red local. En iPhone y iPad funcionan HTTP, WebSocket, TCP y los nombres .local, pero el descubrimiento por multidifusión (SSDP), la difusión (broadcast) y Wake-on-LAN no están disponibles. Por este motivo, Mateo en Buenos Aires puede encender un televisor mediante Wake-on-LAN desde su Mac, PC con Windows o teléfono Android, pero no desde un iPhone o iPad.

En un navegador web, el control de la red local se retransmite a través de uno de tus propios dispositivos con sesión iniciada en KolHive mediante un enlace directo y cifrado entre pares. La primera vez que lo usas, debes aprobar el acceso en ese dispositivo. El tráfico viaja de dispositivo a dispositivo sin usar un servidor TURN, mientras que nuestros servidores solo transportan los pequeños mensajes de señalización necesarios para establecer el enlace. Si ninguno de tus dispositivos está en línea, la app recibe un aviso indicando que no hay un dispositivo de retransmisión disponible.

Sensores de movimiento, infrarrojos y ubicación

Los sensores de movimiento funcionan únicamente en las aplicaciones nativas para teléfonos y tabletas. En iPhone, iPad y Android, una app puede leer el giroscopio, el acelerómetro, el acelerómetro de usuario, el magnetómetro y el barómetro a una frecuencia de hasta 200 Hz. Las computadoras de escritorio con Mac, Windows y Linux informan que estos sensores no son compatibles.

En el navegador web, las aplicaciones utilizan la Generic Sensor API del navegador o los eventos de movimiento del dispositivo cuando están presentes, sin alternativa web para el magnetómetro ni el barómetro. Safari en iPhone y iPad pide permiso antes de compartir los datos de los sensores.

Una aplicación creada en KolHive solo puede enviar códigos de control remoto por infrarrojos en teléfonos Android que cuenten con un emisor infrarrojo integrado (IR blaster). Cada patrón tiene un límite de 1024 pulsos y 2 segundos. El control por infrarrojos no está disponible en iPhone, iPad, Mac, Windows, Linux ni en la versión web.

Las aplicaciones también pueden leer la ubicación del dispositivo mediante GPS y ubicación combinada en Android, o Core Location en dispositivos de Apple. Esto solo funciona cuando la aplicación declara el uso de geolocalización y tú le das permiso.

Qué funciona en cada plataforma

El acceso al hardware depende del dispositivo que utilices y de si abres la aplicación nativa de KolHive o un navegador web.

Compatibilidad de hardware en las aplicaciones de KolHive y navegadores web.
FunciónMacWindowsiPhone/iPadAndroidNavegador
Bluetooth LESíSíSíSíChrome y Edge
Red localSíSíSíSíA través de tu dispositivo
Descubrimiento y Wake-on-LANSíSíNoSíA través de tu dispositivo
Sensores de movimientoNoNoSíSíDonde el navegador lo admita
InfrarrojosNoNoNoSíNo

Cómo controla KolHive el acceso al hardware

Las aplicaciones acceden al hardware a través de kolhive.lan, kolhive.bluetooth, kolhive.sensors y kolhive.infrared. Cada capacidad debe declararse en el manifiesto de la aplicación indicando su propósito específico y el uso de los datos. Cualquier llamada no declarada se rechaza en tres niveles: durante la verificación de instalación, dentro de la página y en el sistema anfitrión. Puedes leer más sobre cómo verifica KolHive los permisos en Revisión de seguridad para TI.

KolHive selecciona el dispositivo de destino mediante su propio selector en lugar de permitir que la aplicación busque o se conecte en segundo plano. Cuando cierras o recargas la ventana de la app, KolHive cierra todos los sockets abiertos, las conexiones Bluetooth y las transmisiones de sensores. Mientras la ventana de la aplicación está oculta, las transmisiones de los sensores se pausan automáticamente y las conexiones Bluetooth siguen activas.

Antes de usar cualquier función de hardware, la aplicación llama a available() para comprobar si tu dispositivo la admite. Esta comprobación nunca muestra un aviso de permiso y devuelve el motivo real cuando una función no puede ejecutarse, de modo que la app pueda mostrarte un mensaje claro cuando algo no sea compatible con tu equipo.

Lo que esto no hace

  • Las conexiones USB, serie, HID y NFC no son compatibles con las aplicaciones creadas en KolHive.
  • No se admiten conexiones de Bluetooth clásico, perfiles de audio Bluetooth ni conexiones serie RFCOMM.
  • Linux no cuenta con puente de red local para las aplicaciones creadas porque estas se abren en el navegador del sistema.
  • Wake-on-LAN y el descubrimiento por multidifusión (SSDP) no funcionan desde un iPhone o iPad.
  • El control por infrarrojos funciona únicamente en teléfonos Android que tienen un emisor IR integrado.
  • Los sensores de movimiento no funcionan en computadoras de escritorio con Mac, Windows o Linux.
  • El infrarrojo requiere la aplicación de KolHive para Android, que todavía no está en Google Play.

Preguntas frecuentes

¿Puede una app de KolHive controlar los dispositivos de mi hogar inteligente?

Sí, siempre que tus dispositivos domésticos se comuniquen a través de tu red local mediante HTTP, WebSocket, TCP o UDP, o utilicen Bluetooth Low Energy. En Mac, Windows y Android, las aplicaciones también pueden descubrir equipos locales con SSDP o mDNS y enviar paquetes Wake-on-LAN. En iPhone y iPad funcionan las conexiones directas y los nombres .local, pero no el descubrimiento por multidifusión ni Wake-on-LAN.

¿Puedo usar los sensores de mi teléfono desde una app en mi computadora?

No, los sensores de movimiento como el giroscopio y el acelerómetro solo funcionan cuando ejecutas la aplicación en un teléfono o una tableta. Las computadoras con Mac, Windows y Linux informan que los sensores de movimiento no son compatibles. Aunque el navegador de tu computadora puede retransmitir solicitudes de red local a través de un teléfono con sesión iniciada, no retransmite datos de los sensores.

¿La versión para navegador funciona con Bluetooth?

Sí, cuando usas Google Chrome o Microsoft Edge. Estos navegadores permiten que KolHive muestre el selector de dispositivos y se conecte a accesorios con Bluetooth Low Energy. Safari y Firefox no admiten conexiones Bluetooth en el navegador.

¿Puede una aplicación buscar dispositivos sin preguntarme?

No, una aplicación no puede buscar dispositivos Bluetooth en silencio ni usar hardware que no haya declarado. Para Bluetooth, KolHive muestra su propio selector y revela únicamente el dispositivo que tú eliges. Para el acceso a la red local, el sistema o tu dispositivo de retransmisión pide tu aprobación antes de que la aplicación pueda conectarse.

Gratis para Mac, Windows y Linux, o ábrelo en tu navegador.

Descargar KolHive