byackee Posté(e) le 16 avril 2015 Signaler Posté(e) le 16 avril 2015 Bonjour a tous, Ci-dessous un petit tuto afin de detecter si vous êtes chez vous ou non, le principe repose comme d'autres tutos sur la connection du smartphone sur le wifi. Il n'y a nul besoin d'avoir une application installé sur le téléphone. J'ai réalisé des tests avec un smartphone android et iphone4 sous IOS8 Fonctions: 1) Identifier si le ou les smartphones se connectent au réseau wifi. 2) Renseigner une variable de la HC2 sur "Absent" ou "Present". 3) A partir des états des variables pouvoir lancer des scènes. Prérequis: - Linux (genre un raspberry ou ubuntu), fonctionne également sur syno avec la nouvelle fonction docker - Smartphone android ou iphone - une HC2 Remerciements: Merci a sebcbien pour ses icons et ses idées: son post ici Merci a Tony270570 pour son tuto, la plupart de ce tuto a été un "copier/coller" du sien: son post ici Actions a réaliser sur la HC2: 1/ Créer un variable prédéfini avec le nom de votre choix (ex: presence_vince) avec 2 valeurs, Les majuscules sont importantes: - Absent - Present 2/ Ajouter les icones joint a ce post 3/ Créer un virtual device avec le fichier joint a ce post. Modifier dans le main loop les infos suivantes: - Modifier le nom de la variable que vous avez défini ci-dessus. - Modifier le numéro de l'icone pour la fonction "present" et "absent". Actions a réaliser sur le server linux: Télécharger l'application ici wget http://www.overlooksoft.com/getfing4arm Installer fing sudo dpkg -i overlook-fing-2.2.deb Installer les librairies complémentaires sudo apt-get install libpcap* Créer le répertoire hébergent le script sudo mkdir /home/hc2 Création du script de test de connexion wifi et le paramétrer Créer le fichier sudo nano test_presence_vince.sh vous pouvez biensur remplacer le nom du script, il n'a aucune importance mis a part s'y retrouver copier le script ci-dessous dans le fichier #!/bin/bash # Script check IP and update HC2 global variable # Never ending loop # version 1.00 # Author: byackee # Original Author: Tony270570 nomvariable="Presence_vince" login="admin" password="votre mot de passe" hc2ip="192.168.0.3" while : do grep -n "<center>UP</TD><TD>192.168.2.83" /var/www/ping/lan.html if [ $? -eq 0 ] then curl -s -X PUT -d '{"value": "Present"}' http://$login:$password@$hc2ip/api/globalVariables/$nomvariable echo "present" sleep 10 else curl -s -X PUT -d '{"value": "Absent"}' http://$login:$password@$hc2ip/api/globalVariables/$nomvariable echo "absent" sleep 10 fi done Il faut modifier les variables en début de script: nomvariable ==> nom de la variable créé sur la HC2login ==> login de la HC2password ==> mot de pass de la HC2hc2ip ==> adresse ip de la HC2 lancer la commande suivante: sudo chmod 755 « test_presence_vince Les opérations ci-dessus peuvent etre réalisées autant de fois que de personnes/smartphones a tester Créer un script pour le lancement des scripts au boot Créer le fichier sudo nano exec_presence Copier le code suivant dans le fichier #! /bin/sh ### BEGIN INIT INFO # Provides: exec_presence # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Run /home/HC2/test_presence if it exist ### END INIT INFO # version 1.00 # Author: byackee # Original Author: Tony270570 PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/init/vars.sh . /lib/lsb/init-functions scriptpath="/home/hc2/" do_start() { for i in $scriptpath"/"* ; do echo "lancement du script: "$i $i & sleep 2 done } case "$1" in start) do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; stop) ;; *) echo "Usage: $0 start|stop" >&2 exit 3 ;; esac donner les droits et l'autorisation de lancement du script au démarrage sudo chmod 755 exec_presence update-rc.d -f exec_presence defaults 7/ créer un script de demarrage de fing Créer le fichier sudo nano startfing et y copier le code suivant #! /bin/sh ### BEGIN INIT INFO # Provides: startfing # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: # Short-Description: Run fing with unlimited loop ### END INIT INFO # version 1.00 # Author: byackee # Original Author: Tony270570 PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/init/vars.sh . /lib/lsb/init-functions do_start() { fing -n 192.168.2.0/24 -o table,html,/var/www/ping/lan.html & } case "$1" in start) do_start ;; restart|reload|force-reload) echo "Error: argument '$1' not supported" >&2 exit 3 ;; esac Il faut simplement modifier l'adresse IP de votre reseau. donner les droits et l'autorisation de lancement du script au démarrage sudo chmod 755 startfing update-rc.d -f startfing defaults Voila maintenant votre/vos smartphone sont détectés lors de la connexion au wifi. Le délai peut varié mais il est en générale de 20 a 30s. icons: Presence_So.vfib 5
MasterBT Posté(e) le 16 avril 2015 Signaler Posté(e) le 16 avril 2015 Bonjour, j'utilise effectivement cette solution depuis plusieurs mois en ayant suivit le post de Tonny, quelle est la différence, ou variante de ce sujet, en regardant rapidement je n'ai vu que du c/c du post de tonny.
byackee Posté(e) le 16 avril 2015 Auteur Signaler Posté(e) le 16 avril 2015 Le tuto de Tony ne fonctionnait que quelques temps et après plus aucune mise a jour. Que du C/C, tu as du mal regardé les scripts alors J ai modifié le code et l avantage est que si tu veux tester plusieurs téléphone, tu ajoute un script dans le répertoire /home/hc2 et il ne lancera a la prochaine boucle. J'ai bien noté en début de post que j avais repris beaucoup de chose et je les aient améliorés. Envoyé de mon PE-TL10 en utilisant Tapatalk
MasterBT Posté(e) le 16 avril 2015 Signaler Posté(e) le 16 avril 2015 Je te remercie pour éclaircissement, car oui je n'est pas examiner chaque ligne de code, est il possible de connaitre les améliorations, simplement par curiosité et envie d'apprendre et comprendre Et ainsi voir si je prends le temps de changer de solutions, enfin de la modifier.
pepite Posté(e) le 17 avril 2015 Signaler Posté(e) le 17 avril 2015 sympa merciii. Toujours le meme prob avec la mise en veille des tels a la pomme :-(
TonyC Posté(e) le 17 avril 2015 Signaler Posté(e) le 17 avril 2015 @Byackee, merci d'avoir mis àjour le script!! j'ai fait ce petit dev juste avant la v4, puis j'ai tellement galèré avec cette v4 que j'ai mis de côté cette fonctionnalité, mais aussi pour quelques raisons personnelles ... @pepite, cette approche fonctionne parfaitement malheureusement pas avec tous les routeurs, j'ai une livebox et ça marche très bien avec mes iphones et autres droïds qui se trouvent àla maison, par contre avec par exemple une box sfr dès que ton tel passe en veille plus rien. En résumé, l'avantage de cette approche est de fonctionner avec de l' ios; l'inconvénient c'est que pour cela, il te faut aussi un routeur qui soit compatible au passage peux tu nous dire quel est le modèle de ton routeur?
byackee Posté(e) le 17 avril 2015 Auteur Signaler Posté(e) le 17 avril 2015 Pour ma part j'utilise un routeur WRT1900AC de linksys et ca fonctionne parfaitement avec apple et android.
TonyC Posté(e) le 17 avril 2015 Signaler Posté(e) le 17 avril 2015 En effet, dans les équipements que j'ai vu fonctionner il y avait du lynksys ou cisco (non exhaustif). Mais par exemple un membre du fofo avec qui j'ai pas mal échangé (mon ami Diuck pour ne pas le sité ) a une sfr en equipement principal ça ne marchait pas il y a collé un lynksys derrière acheté pour cette occasion, ben ça ne marchait pas mieux il faut que a priori que l'equipement principal soit compatible ce qui doit être ton cas Byackee.
pepite Posté(e) le 17 avril 2015 Signaler Posté(e) le 17 avril 2015 Routeur de la freebox pour moi ;-)
byackee Posté(e) le 17 avril 2015 Auteur Signaler Posté(e) le 17 avril 2015 J'ai un modem/routeur sfr sur le reseau 192.168.1.x et mon linksys est sur le reseau 192.168.2.x. C'est le linksys qui gere l'atribution DHCP et du coup le routeur sfr sert juste de modem. Si vous avez un nas synology vous pouvez aussi lui confier l'atribution des adresse IP car il fait office de server DHCP. Je pense que le différence entre routeur sont liés a la bonne qualité du server DHCP.
ced600f Posté(e) le 19 avril 2015 Signaler Posté(e) le 19 avril 2015 Sympa tout ça, mais cela sous-entend que l'iPhone ait toujours la même IP en se connectant au wifi. Si le DHCP lui attribue une autre adresse, c'est foutu... (Ou alors j'ai mal lu les scripts....)
sebcbien Posté(e) le 19 avril 2015 Signaler Posté(e) le 19 avril 2015 Il suffit de lui donner une IP fixe... Sent from my phone
byackee Posté(e) le 19 avril 2015 Auteur Signaler Posté(e) le 19 avril 2015 On peut le faire aussi avec une adresse mac. Il suffit d apporter une petite modif dans le script Envoyé de mon PE-TL10 en utilisant Tapatalk
MrJacK Posté(e) le 20 avril 2015 Signaler Posté(e) le 20 avril 2015 Merci, je vais tester cette enième solution possible à ce problème. Une petite remarque déjà , remplacer dans le script les lignes genre : curl -s -X PUT -d '{"value": "Present"}' http://$login:$password@$hc2ip/api/globalVariables/$nomvariable Par : curl -s -X PUT -d '{"value": "Present"}' -u $login:$password http://$hc2ip/api/globalVariables/$nomvariable Cela peut éviter des soucis avec les mots de passe complexes.
Cisco Posté(e) le 2 juin 2015 Signaler Posté(e) le 2 juin 2015 Bonjour, juste une petite astuce pour l'adressage IP à la maison, je vous conseil de laisser vos devices en DHCP et d'utiliser des réservations. Vous aurez l'avantage de l'IP fixe mais la flexibilité du DHCP avec une centralisation des infos et des modifications si nécessaires. La plupart des box/routeurs vous offre ce service alors n'hésitez pas à l'utiliser.
Lazer Posté(e) le 2 juin 2015 Signaler Posté(e) le 2 juin 2015 Pas d'accord Si la box est en panne, ou quand on change d'opérateur, alors on perd tout le réseau dès le bail DHCP dépassé. A mon avis, le mieux est de cumuler adressage forcé par le DHCP, plus adressage fixe sur les machines. Comme ça, si la box domotique (ou tout autre équipement) reboote en mode Recovery, alors elle reprendra la même IP qu'elle avait lors de son fonctionnement normal. Idem pour le PC, si on le réinstalle, il sera en Dhcp donc reprendra la même IP. Si c'est la box adsl qui est HS, mais alors tout le réseau continue de fonctionner.
mprinfo Posté(e) le 2 juin 2015 Signaler Posté(e) le 2 juin 2015 Je d'accord avec lazer je viens de changer de fournisseur internet il a fallu que je me retape toutes les adresses mac et en attendant rien ne fonctionnait correctement en plus je suis con je pourrais faire cela avec la arp de mon switch lol Envoyé de mon SM-G900F
Cisco Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 Je dois reconnaitre que ta réponse, Lazer, fait sens toutefois l'utilisation de l'adressage fixe te fait perdre la flexibilité du DHCP Pour le pb de DHCP suite au changement d'opérateur, j'ai pas ce pb car mon DHCP est sur mon syno :-) Toutefois je suis pas sur que ton réseau continuera de fonctionner meme localement si t'as box est down, enfin peut etre une partie mais pas tout, car par défaut les réseaux wifi et filaires sont sur des réseaux d'adressages différents et sans box pour faire le routage ton réseau wifi ne parle plus à ton réseau filaire. J'avais mis ma freebox sur un plug fibaro afin de la faire rebootez facilement mais kan je l'ai éteinte, je ne pouvais plus pioter mon HC2 avec mobile. Donc en gros si ta box est down t auras de plus gros pb que juste la partie DHCP.
Lazer Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 Mes équipements sont connectés sur un switch, donc le réseau survie au reboot/panne de la box. J'ai une passerelle SMS pour communiquer avec l'extérieur. Le seul souci, c'est le Wi-Fi qui utilise actuellement le point d'accès de la box, mais j'ai en projet de le remplacer par un point d'accès indépendant (Ubiquiti pour les connaisseurs). A noter qu'en entreprise, les serveurs sont toujours en adressage statique. Il n'y a que pour les postes de travail que le DHCP est utilisé, et encore, pas toujours. 2
Cisco Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 je valide la solution ubiquiti que j'ai installé chez moi encore une fois tout ce que tu dis est correct, néanmoins, il faut multiplier les solutions et savoir maitriser chacune d'entre elles ma remarque était principalement pour mettre en avant la felxibilité et la simplicité de gestion du plan d'adressage au travers du DHCP
pepite Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 Salut messieurs, vous mettriez quoi comme point d'accès ubiquiti messieurs ?
mprinfo Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 Pareil que lazer j'ai un switch manageable donc mon réseau et toujours ok sans box internet je n'utilise pas le wifi de la box car tout est dans une armoire réseau au frais dans mon vide sanitaire j'ai un point d'accès wfi au centre de la maison pour que j'ai du réseau wifi au rdc et étage. Mais bon j'avais fais des modifs et pour le moment tout est sur ma box internet Envoyé de mon SM-G900F
Cisco Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 tu peux regarder sur ce topic car on en avait déja parlé avec lazer notamment : http://www.domotique-fibaro.fr/index.php/topic/1306-choix-point-daccès-wifi-pour-remplacer-wifi-freebox/?p=19734 mais pour résumer la marque ubiquiti est très bien mais peu connue/distribuée en france Les 2 produits qui ressortent selon moi sont la picostation qui est une AP avec une couverture impressionnante mais qui ne permet pas la romaing ou les bornes UAP qui permettent le roaming facile et qui sont d'une simplicité enfantine à configurer
mprinfo Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 Cisco ton pseudo a un rapport avec la marque de produits réseau? Envoyé de mon SM-G900F
Cisco Posté(e) le 3 juin 2015 Signaler Posté(e) le 3 juin 2015 oui plus ou moins car je bosse dans les réseaux/télécom et je m'appel Francis donc assez naturellement les gens m'ont appelé Cisco ;-)
Messages recommandés