Ce qu'une application KolHive peut contrôler
Lorsque vous créez une application dans KolHive, elle peut communiquer avec les appareils physiques qui vous entourent. Votre application peut se connecter à des objets Bluetooth Low Energy, joindre des équipements sur le réseau de votre domicile ou de votre bureau, et lire les capteurs de mouvement d'un téléphone. Sur les téléphones Android compatibles, elle peut aussi envoyer des signaux de télécommande infrarouge.
Par exemple, à Lyon, Camille peut concevoir un outil qui lit sa ceinture cardio Bluetooth ou relève le capteur d'humidité d'une plante en pot. À Bruxelles, Julien peut allumer une prise connectée sur le réseau de son bureau ou sortir son PC fixe de veille avec Wake-on-LAN. Sur un téléphone Android équipé d'un émetteur infrarouge, Léa, à Montréal, peut créer une télécommande pour le téléviseur de son salon.
Les applications ne se connectent jamais directement au matériel. Chaque requête passe par KolHive, qui vérifie ce que l'application a déclaré et vous demande d'abord votre autorisation.
Bluetooth Low Energy
Une application créée dans KolHive peut utiliser le Bluetooth Low Energy (BLE) en tant que périphérique central. Elle peut rechercher des appareils à proximité, s'y connecter, lire et écrire des données jusqu'à 512 octets, et s'abonner aux notifications. Le Bluetooth classique, les profils audio et les connexions série RFCOMM ne sont pas pris en charge.
L'application ne reçoit jamais de liste silencieuse des appareils environnants. Lorsqu'elle lance une recherche, KolHive affiche son propre sélecteur d'appareil à l'écran. L'application voit uniquement l'appareil que vous choisissez et les seuls services Bluetooth qu'elle a déclarés à l'avance.
Le Bluetooth fonctionne dans l'application KolHive sur Mac, Windows, iPhone, iPad et Android. Les appareils Apple demandent l'autorisation à la première utilisation, et Android 12 ou version ultérieure demande l'accès aux appareils à proximité. Dans un navigateur web, le Bluetooth fonctionne uniquement sur Chrome et Edge, mais pas sur Safari ni Firefox.
Équipements sur votre réseau local
Votre application peut détecter des équipements sur votre réseau local et communiquer avec eux via HTTP, WebSocket, TCP et UDP. Elle peut découvrir du matériel avec SSDP ou mDNS et envoyer des paquets Wake-on-LAN. Seules les adresses de réseau privé sont accessibles. KolHive refuse les connexions vers des hôtes publics sur Internet, les adresses de bouclage (loopback) et l'adresse propre de votre appareil.
Chaque fenêtre d'application peut ouvrir jusqu'à 16 sockets simultanément et lancer quatre recherches d'appareils par minute. Les réponses HTTP sont limitées à 5 Mo. Les certificats auto-signés ne sont acceptés que pour les équipements locaux et uniquement lorsque l'application le demande.
Le contrôle complet du réseau local fonctionne sur Mac, Windows et Android. Sur Mac, le système affiche sa demande d'autorisation d'accès au réseau local. Sur iPhone et iPad, les connexions HTTP, WebSocket, TCP et les noms en .local fonctionnent, mais la découverte multicast (SSDP), la diffusion générale (broadcast) et le Wake-on-LAN ne sont pas disponibles. Ainsi, à Genève, Karim peut allumer un téléviseur par Wake-on-LAN depuis un Mac, un PC Windows ou un téléphone Android, mais pas depuis un iPhone ou un iPad.
Dans un navigateur web, le contrôle du réseau local passe par l'un de vos propres appareils connectés à KolHive via une liaison directe chiffrée de pair à pair. La première utilisation demande une validation sur cet appareil. Le trafic circule directement d'un appareil à l'autre sans relais TURN, tandis que nos serveurs ne transmettent que les courts messages de signalisation nécessaires à l'établissement du lien. Si aucun de vos appareils n'est en ligne, l'application est informée qu'aucun appareil relais n'est disponible.
Capteurs de mouvement, infrarouge et localisation
Les capteurs de mouvement fonctionnent uniquement dans les applications natives sur téléphone et tablette. Sur iPhone, iPad et Android, une application peut lire le gyroscope, l'accéléromètre, l'accéléromètre utilisateur, le magnétomètre et le baromètre jusqu'à une fréquence de 200 Hz. Les ordinateurs sous Mac, Windows et Linux indiquent que ces capteurs ne sont pas pris en charge.
Dans un navigateur web, les applications utilisent l'API Generic Sensor du navigateur ou les événements de mouvement de l'appareil lorsqu'ils sont présents, sans solution de repli web pour le magnétomètre ni le baromètre. Sur iPhone et iPad, Safari demande votre autorisation avant de partager les données des capteurs.
Une application créée dans KolHive peut envoyer des codes de télécommande infrarouge uniquement sur les téléphones Android dotés d'un émetteur infrarouge intégré (IR blaster). Chaque séquence est limitée à 1 024 impulsions et à 2 secondes. L'infrarouge n'est pas disponible sur iPhone, iPad, Mac, Windows, Linux ni sur le web.
Les applications peuvent également lire la position de l'appareil via le GPS et la localisation fusionnée sur Android, ou via Core Location sur les appareils Apple. Cela fonctionne uniquement si l'application déclare l'usage de la géolocalisation et que vous l'autorisez.
Disponibilité par plateforme
L'accès au matériel dépend de l'appareil utilisé et du fait que vous utilisiez l'application native KolHive ou un navigateur web.
| Fonctionnalité | Mac | Windows | iPhone/iPad | Android | Navigateur |
|---|---|---|---|---|---|
| Bluetooth LE | Oui | Oui | Oui | Oui | Chrome et Edge |
| Réseau local | Oui | Oui | Oui | Oui | Via votre appareil |
| Découverte et Wake-on-LAN | Oui | Oui | Non | Oui | Via votre appareil |
| Capteurs de mouvement | Non | Non | Oui | Oui | Selon le navigateur |
| Infrarouge | Non | Non | Non | Oui | Non |
Comment KolHive encadre l'accès au matériel
Les applications accèdent au matériel via kolhive.lan, kolhive.bluetooth, kolhive.sensors et kolhive.infrared. Chaque capacité doit être déclarée dans le manifeste de l'application avec un objectif précis et une déclaration d'utilisation des données. Tout appel non déclaré est bloqué à trois niveaux : lors de la vérification à l'installation, dans la page et au niveau de l'hôte. Pour en savoir plus sur la vérification des autorisations, consultez Évaluation de sécurité pour les équipes IT.
KolHive sélectionne l'appareil cible via sa propre fenêtre de choix au lieu de laisser l'application scanner ou se connecter en arrière-plan. Lorsque vous fermez ou rechargez la fenêtre de l'application, KolHive ferme chaque socket ouvert, chaque connexion Bluetooth et chaque flux de capteurs. Lorsqu'une fenêtre d'application est masquée, les flux de capteurs se mettent automatiquement en pause tandis que les connexions Bluetooth restent actives.
Avant d'utiliser une fonction matérielle, une application appelle available() pour vérifier si votre appareil la prend en charge. Cette vérification n'affiche jamais de demande d'autorisation et renvoie la raison exacte lorsqu'une fonction n'est pas utilisable, ce qui permet à l'application d'afficher un message clair si une fonction n'est pas prise en charge sur votre appareil.
Ce que cela ne fait pas
- Les connexions USB, série, HID et NFC ne sont pas prises en charge pour les applications créées dans KolHive.
- Le Bluetooth classique, les profils audio Bluetooth et les connexions série RFCOMM ne sont pas pris en charge.
- Linux ne dispose pas de passerelle de réseau local pour les applications créées dans KolHive, car elles s'ouvrent dans le navigateur du système.
- Le Wake-on-LAN et la découverte multicast (SSDP) ne fonctionnent pas depuis un iPhone ou un iPad.
- Le contrôle par infrarouge fonctionne uniquement sur les téléphones Android équipés d'un émetteur infrarouge intégré.
- Les capteurs de mouvement ne fonctionnent pas sur les ordinateurs Mac, Windows ou Linux.
- L'infrarouge nécessite l'application KolHive pour Android, qui n'est pas encore sur Google Play.
Questions fréquentes
Une application KolHive peut-elle contrôler mes appareils domotiques ?
Oui, si vos appareils domotiques communiquent sur votre réseau local via HTTP, WebSocket, TCP ou UDP, ou s'ils utilisent le Bluetooth Low Energy. Sur Mac, Windows et Android, les applications peuvent aussi découvrir les équipements locaux avec SSDP ou mDNS et envoyer des paquets Wake-on-LAN. Sur iPhone et iPad, les connexions directes et les noms en .local fonctionnent, contrairement à la découverte multicast et au Wake-on-LAN.
Puis-je utiliser les capteurs de mon téléphone depuis une application sur mon ordinateur ?
Non, les capteurs de mouvement comme le gyroscope et l'accéléromètre fonctionnent uniquement lorsque l'application tourne sur un téléphone ou une tablette. Les ordinateurs Mac, Windows et Linux indiquent que ces capteurs ne sont pas pris en charge. Même si le navigateur de votre ordinateur peut relayer des requêtes de réseau local via un téléphone connecté à votre compte, il ne relaie pas les flux de capteurs.
La version navigateur fonctionne-t-elle avec le Bluetooth ?
Oui, lorsque vous utilisez Google Chrome ou Microsoft Edge. Ces navigateurs permettent à KolHive d'afficher le sélecteur d'appareil et de se connecter à des accessoires Bluetooth Low Energy. Safari et Firefox ne prennent pas en charge les connexions Bluetooth dans le navigateur.
Une application peut-elle rechercher des appareils sans me demander mon avis ?
Non, une application ne peut pas rechercher silencieusement des appareils Bluetooth ni utiliser du matériel non déclaré. Pour le Bluetooth, KolHive affiche son propre sélecteur et ne révèle que l'unique appareil que vous choisissez. Pour l'accès au réseau local, le système ou votre appareil relais vous demande votre accord avant que l'application puisse se connecter.
Gratuit pour Mac, Windows et Linux, ou utilisable dans votre navigateur.
Télécharger KolHive