Ir para o conteúdo
KolHive KolWrite Baixar

KolHive

Aplicativos que controlam hardware

Você pode criar aplicativos no KolHive que se conectam a acessórios Bluetooth Low Energy, equipamentos na rede local, sensores do celular e receptores de infravermelho.

Diagrama mostrando um aplicativo do KolHive solicitando acesso a hardware pela ponte do KolHive, que pede sua permissão antes de acessar o Bluetooth, a rede local, os sensores de movimento ou o infravermelho.Seu appPonte do KolHivePede sua permissãoBluetooth LERede localSensores de movimentoInfravermelhoApenas Android com IR
Toda solicitação de acesso a hardware passa pelo KolHive e pede sua aprovação antes de conectar.

O que um aplicativo do KolHive pode controlar

Quando você cria um aplicativo no KolHive, ele pode se comunicar com aparelhos físicos ao seu redor. Seu aplicativo pode conectar a acessórios Bluetooth Low Energy, acessar equipamentos na rede de casa ou do escritório e ler os sensores de movimento do celular. Em aparelhos Android compatíveis, ele também pode enviar sinais de controle remoto por infravermelho.

Por exemplo, Ana, em São Paulo, pode montar um painel que lê sua cinta cardíaca Bluetooth ou verifica o sensor de umidade de um vaso de planta. Rafael, em Porto Alegre, pode acionar uma tomada inteligente na rede do escritório ou ligar o computador de mesa usando Wake-on-LAN. Em um celular Android com emissor de infravermelho, Beatriz, no Recife, pode criar um controle remoto para a TV da sala.

Os aplicativos nunca acessam o hardware diretamente. Toda solicitação passa pelo KolHive, que confere o que o aplicativo declarou e pede a sua aprovação primeiro.

Bluetooth Low Energy

Um aplicativo criado por você pode usar o Bluetooth Low Energy (BLE) como dispositivo central. Ele pode buscar acessórios próximos, conectar, ler e gravar dados de até 512 bytes e receber notificações. Bluetooth clássico, perfis de áudio e conexões seriais RFCOMM não são suportados.

O aplicativo nunca recebe uma lista silenciosa de aparelhos próximos. Quando ele solicita uma busca, o KolHive abre um seletor próprio na sua tela. O aplicativo vê apenas o dispositivo que você escolhe e somente os serviços Bluetooth declarados previamente.

O Bluetooth funciona no aplicativo do KolHive para Mac, Windows, iPhone, iPad e Android. Dispositivos da Apple pedem permissão no primeiro uso, e o Android 12 ou superior solicita a permissão de Dispositivos próximos. No navegador, o Bluetooth funciona apenas no Chrome e no Edge, não no Safari nem no Firefox.

Dispositivos na sua rede local

Seu aplicativo pode localizar e se comunicar com aparelhos na sua rede local via HTTP, WebSocket, TCP e UDP. Ele pode descobrir equipamentos usando SSDP ou mDNS e enviar pacotes Wake-on-LAN. Apenas endereços de rede privada podem ser acessados. O KolHive recusa conexões com servidores da internet pública, endereços de loopback e o próprio endereço do seu dispositivo.

Cada janela de aplicativo pode abrir até 16 sockets ao mesmo tempo e executar quatro buscas de dispositivos por minuto. As respostas HTTP têm limite de 5 MB. Certificados autoassinados são aceitos apenas para aparelhos locais e somente quando o aplicativo solicita.

O controle completo da rede local funciona no Mac, no Windows e no Android. No Mac, o sistema exibe o aviso de permissão de Rede Local. No iPhone e no iPad, conexões HTTP, WebSocket, TCP e nomes .local funcionam, mas a descoberta por multicast (SSDP), o broadcast e o Wake-on-LAN não funcionam. Por esse motivo, Lucas, em Lisboa, consegue ligar uma TV via Wake-on-LAN usando um Mac, um PC com Windows ou um celular Android, mas não pelo iPhone ou iPad.

No navegador, o controle da rede local é retransmitido por um dos seus próprios dispositivos conectados ao KolHive por meio de um link direto e criptografado entre pares. O primeiro uso pede aprovação nesse aparelho. O tráfego vai de dispositivo para dispositivo sem usar um servidor TURN, enquanto nossos servidores transportam apenas as pequenas mensagens de sinalização necessárias para estabelecer a conexão. Se nenhum dos seus aparelhos estiver online, o aplicativo recebe a informação de que não há dispositivo de retransmissão disponível.

Sensores de movimento, infravermelho e localização

Os sensores de movimento funcionam apenas nos aplicativos nativos para celulares e tablets. No iPhone, no iPad e no Android, um aplicativo pode ler o giroscópio, o acelerômetro, o acelerômetro do usuário, o magnetômetro e o barômetro a até 200 Hz. Computadores com Mac, Windows e Linux informam que esses sensores não são suportados.

No navegador, os aplicativos usam a Generic Sensor API ou os eventos de movimento do aparelho quando disponíveis, sem alternativa web para o magnetômetro ou o barômetro. O Safari no iPhone e no iPad pede permissão antes de compartilhar dados dos sensores.

Um aplicativo criado no KolHive pode enviar códigos de controle remoto por infravermelho apenas em celulares Android que possuem emissor de infravermelho integrado (IR blaster). Cada padrão tem limite de 1.024 pulsos e 2 segundos. O infravermelho não está disponível no iPhone, iPad, Mac, Windows, Linux ou na web.

Os aplicativos também podem ler a localização do aparelho usando o GPS e a localização combinada no Android ou o Core Location nos dispositivos da Apple. Isso só funciona quando o aplicativo declara o uso de geolocalização e você autoriza o acesso.

O que funciona em cada plataforma

O acesso ao hardware depende do dispositivo que você usa e se você está no aplicativo nativo do KolHive ou em um navegador web.

Suporte a hardware nos aplicativos do KolHive e navegadores web.
RecursoMacWindowsiPhone/iPadAndroidNavegador
Bluetooth LESimSimSimSimChrome e Edge
Rede localSimSimSimSimPelo seu dispositivo
Descoberta e Wake-on-LANSimSimNãoSimPelo seu dispositivo
Sensores de movimentoNãoNãoSimSimOnde o navegador suporta
InfravermelhoNãoNãoNãoSimNão

Como o KolHive controla o acesso ao hardware

Os aplicativos acessam o hardware por meio de kolhive.lan, kolhive.bluetooth, kolhive.sensors e kolhive.infrared. Cada recurso precisa ser declarado no manifesto do aplicativo com uma finalidade específica e uma descrição de uso de dados. Qualquer chamada não declarada é bloqueada em três níveis: na verificação de instalação, dentro da página e no sistema host. Você pode ler mais sobre como o KolHive verifica permissões em Análise de segurança para TI.

O KolHive seleciona o aparelho de destino por meio de um seletor próprio, sem deixar o aplicativo buscar ou conectar em segundo plano. Quando você fecha ou recarrega a janela do aplicativo, o KolHive encerra todos os sockets abertos, conexões Bluetooth e leituras de sensores. Enquanto a janela do aplicativo está oculta, a leitura dos sensores pausa automaticamente e as conexões Bluetooth continuam ativas.

Antes de usar qualquer recurso de hardware, o aplicativo chama available() para verificar se o seu aparelho é compatível. Essa verificação nunca exibe um pedido de permissão e retorna o motivo real quando um recurso não pode funcionar, permitindo que o aplicativo mostre um aviso claro quando algo não é suportado no seu dispositivo.

O que este recurso não faz

  • Conexões USB, serial, HID e NFC não são suportadas nos aplicativos criados.
  • Bluetooth clássico, perfis de áudio Bluetooth e conexões seriais RFCOMM não são suportados.
  • O Linux não possui ponte de rede local para aplicativos criados, pois eles abrem no navegador do sistema.
  • Wake-on-LAN e descoberta por multicast (SSDP) não funcionam a partir de um iPhone ou iPad.
  • O controle por infravermelho funciona apenas em celulares Android que possuem emissor de infravermelho (IR blaster) integrado.
  • Os sensores de movimento não funcionam em computadores de mesa ou notebooks com Mac, Windows ou Linux.
  • O infravermelho exige o app do KolHive para Android, que ainda não está no Google Play.

Perguntas frequentes

Um aplicativo do KolHive pode controlar meus dispositivos de casa inteligente?

Sim, caso os dispositivos da sua casa inteligente se comuniquem pela rede local usando HTTP, WebSocket, TCP ou UDP, ou usem Bluetooth Low Energy. No Mac, no Windows e no Android, os aplicativos também podem descobrir aparelhos locais com SSDP ou mDNS e enviar pacotes Wake-on-LAN. No iPhone e no iPad, conexões diretas e nomes .local funcionam, mas a descoberta por multicast e o Wake-on-LAN não estão disponíveis.

Posso usar os sensores do meu celular em um aplicativo aberto no computador?

Não. Os sensores de movimento, como giroscópio e acelerômetro, funcionam apenas quando você executa o aplicativo em um celular ou tablet. Computadores com Mac, Windows e Linux informam que os sensores de movimento não são suportados. Embora o navegador no computador possa retransmitir solicitações de rede local por meio de um celular conectado, ele não retransmite dados de sensores.

A versão para navegador funciona com Bluetooth?

Sim, quando você usa o Google Chrome ou o Microsoft Edge. Esses navegadores permitem que o KolHive exiba o seletor de dispositivos e se conecte a acessórios Bluetooth Low Energy. O Safari e o Firefox não suportam conexões Bluetooth pelo navegador.

Um aplicativo pode buscar dispositivos sem me pedir permissão?

Não. Um aplicativo não pode buscar aparelhos Bluetooth de forma silenciosa nem usar recursos de hardware que não foram declarados. No Bluetooth, o KolHive exibe seu próprio seletor e revela apenas o dispositivo que você escolher. Para o acesso à rede local, o sistema ou o seu aparelho de retransmissão pede sua aprovação antes que o aplicativo possa se conectar.

Grátis para Mac, Windows e Linux, ou acesse direto pelo navegador.

Baixar o KolHive