Vai al contenuto
KolHive KolWrite Scarica

KolHive

App che controllano l'hardware

In KolHive puoi creare app che si collegano a dispositivi Bluetooth Low Energy, apparecchi sulla rete locale, sensori del telefono e ricevitori a infrarossi.

Schema che mostra un'app KolHive mentre richiede l'accesso all'hardware tramite il bridge KolHive, che chiede il tuo permesso prima di collegarsi a Bluetooth, rete locale, sensori di movimento o infrarossi.La tua appBridge KolHiveChiede prima a teBluetooth LERete localeSensori di movimentoInfrarossiSolo Android con IR
Ogni richiesta hardware passa da KolHive e chiede la tua conferma prima di stabilire il collegamento.

Cosa può controllare un'app KolHive

Quando crei un'app in KolHive, puoi farla comunicare con i dispositivi fisici intorno a te. L'app può collegarsi ad accessori Bluetooth Low Energy, raggiungere gli apparecchi sulla rete di casa o dell'ufficio e leggere i sensori di movimento del telefono. Sui telefoni Android compatibili può anche inviare segnali a infrarossi come un telecomando.

Ad esempio, Giulia a Milano può creare uno strumento che legge la sua fascia cardio Bluetooth o controlla il sensore di umidità di un vaso sul balcone. Marco a Torino può accendere una presa smart sulla rete dell'ufficio o riattivare il PC fisso tramite Wake-on-LAN. Con un telefono Android dotato di trasmettitore a infrarossi, Chiara a Bologna può costruire un telecomando per il televisore del salotto.

Le app non si collegano mai direttamente all'hardware. Ogni richiesta passa da KolHive, che verifica quanto dichiarato dall'app e ti chiede il permesso prima di procedere.

Bluetooth Low Energy

Un'app creata in KolHive può usare il Bluetooth Low Energy (BLE) come dispositivo centrale. Può cercare gli accessori vicini, collegarsi, leggere e scrivere dati fino a 512 byte e iscriversi alle notifiche. Il Bluetooth classico, i profili audio e le connessioni seriali RFCOMM non sono supportati.

L'app non riceve mai in automatico l'elenco dei dispositivi nelle vicinanze. Quando l'app avvia una ricerca, KolHive apre sullo schermo il proprio selettore di dispositivi. L'app vede solo il singolo dispositivo che scegli e solo i servizi Bluetooth che ha dichiarato in anticipo.

Il Bluetooth funziona nell'app KolHive su Mac, Windows, iPhone, iPad e Android. I dispositivi Apple chiedono l'autorizzazione al primo utilizzo, mentre Android 12 e le versioni successive richiedono il permesso per i dispositivi nelle vicinanze. Nel browser web, il Bluetooth funziona solo su Chrome ed Edge, non su Safari o Firefox.

Dispositivi sulla rete locale

La tua app può trovare i dispositivi sulla rete locale e comunicare con loro tramite HTTP, WebSocket, TCP e UDP. Può individuare gli apparecchi con i protocolli SSDP o mDNS e inviare pacchetti Wake-on-LAN. Sono raggiungibili solo gli indirizzi di rete privata. KolHive rifiuta le connessioni verso host su internet pubblico, indirizzi di loopback e l'indirizzo del tuo stesso dispositivo.

Ogni finestra dell'app può aprire fino a 16 socket contemporaneamente ed eseguire quattro ricerche di dispositivi al minuto. Le risposte HTTP hanno un limite di 5 MB. I certificati autofirmati sono accettati solo per i dispositivi locali e solo su richiesta esplicita dell'app.

Il controllo completo della rete locale funziona su Mac, Windows e Android. Su Mac, il sistema mostra la richiesta di autorizzazione per l'accesso alla rete locale. Su iPhone e iPad funzionano HTTP, WebSocket, TCP e i nomi .local, mentre il rilevamento multicast (SSDP), il broadcast e il Wake-on-LAN non sono disponibili. Per questo motivo, Luca a Napoli può accendere un televisore con il Wake-on-LAN da un Mac, un PC Windows o un telefono Android, ma non da un iPhone o un iPad.

Nel browser web, il controllo della rete locale passa attraverso uno dei tuoi dispositivi su cui hai effettuato l'accesso a KolHive, tramite un collegamento diretto e crittografato tra dispositivi. Al primo utilizzo ti viene chiesto di approvare la connessione su quel dispositivo. Il traffico viaggia direttamente da un dispositivo all'altro senza usare server TURN, mentre i nostri server trasmettono solo i brevi messaggi di segnalazione necessari a stabilire il collegamento. Se nessuno dei tuoi dispositivi è online, l'app riceve un avviso che indica l'assenza di un dispositivo ponte.

Sensori di movimento, infrarossi e posizione

I sensori di movimento funzionano nelle app native solo su telefoni e tablet. Su iPhone, iPad e Android, un'app può leggere giroscopio, accelerometro, accelerometro utente, magnetometro e barometro con una frequenza fino a 200 Hz. I computer Mac, Windows e Linux indicano questi sensori come non supportati.

Nel browser web, le app usano la Generic Sensor API del browser o gli eventi di movimento del dispositivo dove disponibili, senza alternative web per il magnetometro o il barometro. Safari su iPhone e iPad chiede il tuo permesso prima di condividere i dati dei sensori.

Un'app creata in KolHive può inviare codici per telecomandi a infrarossi solo sui telefoni Android dotati di un trasmettitore a infrarossi integrato (IR blaster). Ogni sequenza può contenere al massimo 1.024 impulsi e durare fino a 2 secondi. Gli infrarossi non sono disponibili su iPhone, iPad, Mac, Windows, Linux o via web.

Le app possono anche leggere la posizione del dispositivo tramite il GPS e la posizione combinata su Android, oppure tramite Core Location sui dispositivi Apple. Questa funzione è attiva solo se l'app dichiara l'uso della geolocalizzazione e tu concedi il permesso.

Cosa funziona su ogni piattaforma

L'accesso all'hardware dipende dal dispositivo che usi e dal fatto che tu apra l'app nativa di KolHive o un browser web.

Supporto hardware nelle app KolHive e nei browser web.
FunzioneMacWindowsiPhone/iPadAndroidBrowser
Bluetooth LESìSìSìSìChrome ed Edge
Rete localeSìSìSìSìTramite un tuo dispositivo
Rilevamento e Wake-on-LANSìSìNoSìTramite un tuo dispositivo
Sensori di movimentoNoNoSìSìDove supportato dal browser
InfrarossiNoNoNoSìNo

Come KolHive controlla l'accesso all'hardware

Le app accedono all'hardware tramite kolhive.lan, kolhive.bluetooth, kolhive.sensors e kolhive.infrared. Ogni funzione deve essere dichiarata nel manifest dell'app insieme allo scopo specifico e alle modalità di utilizzo dei dati. Qualsiasi chiamata non dichiarata viene bloccata a tre livelli: durante il controllo di installazione, all'interno della pagina e a livello di host. Puoi approfondire come KolHive verifica i permessi nella pagina Verifica di sicurezza per l'IT.

È KolHive a farti scegliere il dispositivo tramite il proprio selettore, impedendo all'app di effettuare ricerche o collegarsi in background. Quando chiudi o ricarichi la finestra dell'app, KolHive chiude tutti i socket aperti, le connessioni Bluetooth e i flussi dei sensori. Quando la finestra dell'app è nascosta, i flussi dei sensori si mettono in pausa automaticamente, mentre le connessioni Bluetooth restano attive.

Prima di usare qualsiasi funzione hardware, un'app chiama available() per verificare se il tuo dispositivo la supporta. Questo controllo non mostra mai richieste di permesso e restituisce il motivo esatto per cui una funzione non è utilizzabile, così l'app può mostrarti un messaggio chiaro quando qualcosa non è supportato sul tuo dispositivo.

Cosa non fa

  • Le connessioni USB, seriali, HID e NFC non sono supportate per le app create in KolHive.
  • Il Bluetooth classico, i profili audio Bluetooth e le connessioni seriali RFCOMM non sono supportati.
  • Linux non dispone del bridge di rete locale per le app create, perché queste vengono aperte nel browser di sistema.
  • Il Wake-on-LAN e il rilevamento multicast (SSDP) non funzionano da iPhone o iPad.
  • Il controllo a infrarossi funziona solo sui telefoni Android dotati di trasmettitore IR integrato.
  • I sensori di movimento non funzionano sui computer Mac, Windows o Linux.
  • Gli infrarossi richiedono l'app KolHive per Android, che non è ancora disponibile su Google Play.

Domande frequenti

Un'app KolHive può controllare i dispositivi della mia casa smart?

Sì, se i dispositivi comunicano sulla rete locale tramite HTTP, WebSocket, TCP o UDP, oppure se usano il Bluetooth Low Energy. Su Mac, Windows e Android, le app possono anche individuare gli apparecchi locali con SSDP o mDNS e inviare pacchetti Wake-on-LAN. Su iPhone e iPad funzionano le connessioni dirette e i nomi .local, ma non il rilevamento multicast né il Wake-on-LAN.

Posso usare i sensori del telefono da un'app aperta sul computer?

No, i sensori di movimento come il giroscopio e l'accelerometro funzionano solo quando avvii l'app direttamente su un telefono o un tablet. I computer Mac, Windows e Linux indicano i sensori di movimento come non supportati. Anche se il browser sul computer può inoltrare le richieste di rete locale attraverso un telefono collegato al tuo account, non inoltra i flussi dei sensori.

La versione per browser funziona con il Bluetooth?

Sì, se usi Google Chrome o Microsoft Edge. Questi browser permettono a KolHive di mostrare il selettore dei dispositivi e di collegarsi agli accessori Bluetooth Low Energy. Safari e Firefox non supportano le connessioni Bluetooth nel browser.

Un'app può cercare dispositivi intorno a me senza chiedermelo?

No, un'app non può cercare dispositivi Bluetooth di nascosto né usare hardware non dichiarato. Per il Bluetooth, KolHive mostra il proprio selettore e rivela all'app solo il singolo dispositivo che selezioni. Per l'accesso alla rete locale, il sistema operativo o il dispositivo che fa da ponte chiede la tua conferma prima che l'app possa collegarsi.

Gratis per Mac, Windows e Linux, oppure aprilo nel browser.

Scarica KolHive