Mini PC, tablette, un peu d'astuce, d'espièglerie, c'est ma télécommande ultime
17-03-2018, 11:25 AM,
#2
Mini PC, tablette, un peu d'astuce, d'espièglerie, c'est ma télécommande ultime - 2
La suite...

Principe

[Image: schema de principe.png]

Les trois composants de REmote sont
- le serveur de télécommande, REmote Server
- l’éditeur de configuration, REmote Editor
- l’application de télécommande, REmote

REmote server

Le serveur tourne sur un ordinateur Windows 10 et doit être connecté au réseau local (Wifi ou Ethernet). Sur le serveur sont connectés, sur des prises USB 2.0, les dispositifs USB Uirt et HDMI-CEC Adapter.

La communication privilégiée de l’éditeur et de l’application avec le serveur se fait par une socket tcp sur un port dédié, pour l’émission des commandes vers le serveur, et la réception des messages retours éventuels (apprentissage de code).

Le serveur implémente aussi un mini serveur http, pour communiquer avec l’éditeur (transfert de la configuration et des pages HTML vers le serveur), l’application de télécommande (transfert de la configuration du serveur vers l’application), et tout navigateur web pouvant accéder à l’url du serveur sur le réseau local par connection wifi ou Ethernet (transfert des commandes vers le serveur par http).

Le serveur http répond aux requêtes de type GET (navigation, envoi de commande) et POST (envoi de la configuration et des pages html générées par l’éditeur).
L’url du serveur est du type http://nom_d_hote:8080/remote/nom_de_fichier pour les requêtes de navigation, et du type http://nom_d_hote:8080/api?commande pour les requêtes de commande.

Le nom d’hôte est soit le nom Windows du serveur, soit ce nom suivi de « .local », soit plus simplement l’adresse ip du serveur sur le réseau local.

Le serveur héberge le fichier de configuration décrivant les appareils, leurs fonctions, les panneaux et les activités définis dans l’éditeur. La mise à jour de la configuration, depuis l’éditeur, se fait avec la mise à jour des pages html. Lors d’une mise à jour, l’application de télécommande se mettra à jour automatiquement en récupérant la nouvelle configuration depuis le serveur.
Le processeur de commande reçoit les commandes (qu’elles viennent de l’éditeur, de l’application de télécommande, ou d’un navigateur) et les transmet, via une queue de messages dans une thread indépendante, à leurs destinataires.

Notes: les commandes à destination des appareils à commande http sont envoyée au travers du serveur, bien qu’elles pourraient être communiquées directement de l’émetteur (éditeur, application de télécommande ou navigateur), ceci afin de s’assurer que les commandes soient toutes envoyées dans l’ordre (notamment dans le cas des macro-commandes).
Plusieurs clients (éditeurs, télécommandes, navigateurs) peuvent communiquer avec un unique serveur.

REmote Editor

L’éditeur fonctionne sur tout ordinateur/tablette sous Windows 10.
L’éditeur exporte la configuration définie par l’utilisation vers le serveur par une requête http POST.

L’éditeur peut aussi envoyer des commandes au serveur afin de test (par exemple test d’une macro-commande), ou pour l’apprentissage de codes infrarouges, via la socket TCP.

REmote

L’application de télécommande fonctionne sur tout ordinateur/tablette sous Windows 10.
L’application de télécommande récupère le fichier de configuration depuis le serveur via une commande http GET. Elle interroge régulièrement le serveur pour voir sur la configuration a changé, et la télécharge le cas échéant (ce principe évoluera sans doute à l’avenir).
Les commandes sont envoyées au serveur via la socket TCP.

Navigateurs web

Les pages html générées par l’éditeur et hébergées par le serveur permettent à tout navigateur (quelque soit l’OS), d’envoyer les commandes des différents boutons vers le serveur, sous forme de requêtes http GET. Le seul prérequis est que l’ordinateur/tablette/téléphone soit connecté au même réseau local que le serveur.

... à suivre ...
Répondre


Messages dans ce sujet
Mini PC, tablette, un peu d'astuce, d'espièglerie, c'est ma télécommande ultime - 2 - par Blotza - 17-03-2018, 11:25 AM

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)