Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'UPnP'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

1 résultat trouvé

  1. Dans le cadre de mes recherches au cours du développement du plugin Freebox Player Remote (ça remonte Lol ) et en quête d’une solution efficace ayant pour objectif de déterminer l’état « Allumé » ou « Éteint » du périphérique, j’ai rapidement fait le tour des premières solutions envisageables en utilisant notamment l’API de la Freebox ou bien à l’aide d’un module mesurant la consommation mais au final rien de bien concluant ! J’ai donc commencé à envisager la chose autrement et investiguer plus au niveau du réseau, pour au final trouver mon bonheur. En effet, le Freeplayer implémente plusieurs protocoles réseau dont l’ UPnP (Universal Plug and Play) comme beaucoup de diffuseurs du marché d’ailleurs et une des particularités intéressante avec l’ UPnP est la découverte de services qui permet de s’affranchir de toute configuration fastidieuse pour les faire communiquer les uns avec les autres. Le protocole de découverte est basé sur SSDP et cela tombe très bien, j’ai déjà joué avec dans le passé… Le SSDP, c’est quoi ? S.S.D.P pour Simple Service Discovery Protocol, est un protocole de communication donnant la possibilité aux clients de découvrir des services disponibles sur le réseau. Pour cela il utilise UDP (User Datagram Protocol) sur le port 1900. Il ne reste plus qu’à trouver le port utilisé par le Freeplayer ainsi que l’adresse sur laquelle il diffuse les informations sur ses services. J’ai pour cela utilisé une petite application console réalisée quelques mois avant dans le cadre d’un autre projet afin de mettre en Å“uvre le SSDP mais il existe des outils UPnP pour Windows et Linux permettant d’arriver aux mêmes résultats. Aperçu d’une découverte du réseau… En réponse aux paquets envoyés, le Freeplayer diffuse donc son adresse d’accès aux services device.xml sur le port 54243. Cette url d’accès aux services est disponible uniquement lorsque le FreePlayer est sous tension et allumé mais pas lorsqu’il est éteint complétement ou en veille, voilà la solution ! Pour information, voici le contenu du fichier de description : Mais dans notre cas le contenu du fichier ne sera pas utile... Il ne reste plus qu’à mettre à profit tout ceci dans un script et le tour est joué Exemple d’utilisation en LUA dans une scène: local httpClient = net.HTTPClient(); httpClient:request('http://192.168.1.110:54243/device.xml', { success = function(result) local status = tonumber(result.status) if (status ~= 200) then print('Status: OFF or In Standby Mode') elseif (status == 200) then print('Status: ON') end end, error = function(err) print('Connection refused') end, options = { method = 'GET', headers = { ['Accept'] = 'text/html, application/xhtml+xml', ['Accept-Language'] = 'fr-FR' } } }); Exemple d’utilisation en LUA dans un Virtual Device: local HC2 = Net.FHttp('192.168.1.110', 54243); local result, status, errorCode = HC2:GET("/device.xml"); if errorCode == 0 then if tonumber(status) == 200 then fibaro:debug('Status: ON') else fibaro:debug('Status: OFF or In Standby Mode') end else fibaro:debug('Connection refused') end Maintenant c'est à vous de jouer pour l’intégrer dans vos scénarios
×