ldleman / yana-server

Interface PHP de domotique Y.A.N.A (You Are Not Alone)
http://projet.idleman.fr/yana
107 stars 59 forks source link

comment lancer socket.php lorsque mon RPI 2 détecte le WIFI #202

Open juliendiotworldtour opened 8 years ago

juliendiotworldtour commented 8 years ago

Bonjour à toute la communauté YANA! aujourd'hui j'ai réfléchi à une solution intéressante pour ne pas devoir taper à chaque fois "sudo php /var/www/yana-server/socket.php" lors du lancement de YANA4ALL.

En effet je suis souvent amené à couper mon hotspot et à le réactiver et systématiquement, je dois retaper cette commande pour utiliser YANA4ALL.

Je voulais donc savoir quelles lignes de code je pouvais taper et dans quel(s) fichier(s) pour qu'à chaque fois que le Raspberry Pi détecte et se connecte à mon Hotspot, il lance la commande "sudo php /var/www/yana-server/socket.php" automatiquement.

Merci beaucoup!

@ldleman , j'espère que tu tiens le coup et que le développement de Yana pour Windows IoT se passe comme tu le souhaites!

ldleman commented 8 years ago

Je vais mieux merfi :), pour windows iot faut que je fasse le point, un contrib m'a envoyé une version a tester mais je n'ai pas encore eu le temps de m'y pencher.

il est possible de lancer cette commande automatiquement au boot de ta machine linux en créant un service ou en utilisant le cron @REBOOT, en revanche jignore comment récuperer l'évenement de la connexion hotspot.

Il te met quoi comme message d'erreur socket.php quand tu perd la connexion ? Je peux peut être faire en sorte qu'il tente de se reconnecter tout seul toutes les x minutes tant que le fait de couper la connexion ne fait pas carrement quitter socket.php

juliendiotworldtour commented 8 years ago

Salut Idleman,

Alors en fait, lorsque je coupe et réactive mon hotspot, l'application Yana4all n'arrive pas à se connecter au yana-server.

Du coup j'utilise l'application android JuiceSSH pour rentrer la commande " sudo php /var/www/yana-server/socket.php" à chaque connection.

Comme je ne passe que par l'interface graphique yana4all, le seul message d'erreur visible est "connection au serveur impossible" lorsque socket.php n'est pas lancé.

Y a t il moyen de rendre socket.php actif de façon permanente, qu'il y ait connection ou non à mon hotspot ?

Merci Idleman !

DIOT Julien Globeblogger in Outdoor Sports wordtour-outdoorexperience.com

Le 31 mars 2016 11:42 AM, Idleman notifications@github.com a écrit :

Je vais mieux merfi :), pour windows iot faut que je fasse le point, un contrib m'a envoyé une version a tester mais je n'ai pas encore eu le temps de m'y pencher.

il est possible de lancer cette commande automatiquement au boot de ta machine linux en créant un service ou en utilisant le cron @REBOOT, en revanche jignore comment récuperer l'évenement de la connexion hotspot.

Il te met quoi comme message d'erreur socket.php quand tu perd la connexion ? Je peux peut être faire en sorte qu'il tente de se reconnecter tout seul toutes les x minutes tant que le fait de couper la connexion ne fait pas carrement quitter socket.php

— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub

juliendiotworldtour commented 8 years ago

Merci pour cette réponse idleman. Donc une fois que je suis dans cron @reboot j'ajoute la ligne sudo PHP /var/www/yana-server/socket.php ?

ldleman commented 8 years ago

Pas besoin du sudo, le cron s'execute par defaut avec les droits de l'utilisateur qui a ajouté le cron. Donc logue toi en root, tape crontab -e Ajout la ligne @reboot php /var/www/yana-server/socket.php Et normalement socket.php se relancera a chaques reboot

juliendiotworldtour commented 8 years ago

Merci Idleman, ça marche au top!

aladin2000 commented 8 years ago

Perso ce sservice est placé dans le fichier /etc/inittab avec un respawn mode comme suit:

Ya:23:respawn:/usr/bin/php /var/www/yana-server/socket.php

theos10 commented 8 years ago

Un autre solution c'est le super serveur inetd : https://debian-handbook.info/browse/fr-FR/stable/sect.inetd.html en plus si le socket php se plante, il est redémarré automatiquement.

aladin2000 commented 8 years ago

Merci l'attibut respawn redémarre aussi le process en cas de plantage du process. La méthode inetd est elle en mesure de réagir en cas de 'blocage' ?

Sinon, as tu un exemple de ligne à ajouter à inetd pour une socket en php ?

theos10 commented 8 years ago

tu peux essayer cette ligne : yana stream tcp wait www-data /var/www/yana-server/socket.php a mettre de le fichier /etc/inetd.conf il faut aussi ajouter : yana 999/tcp # Socket php Yana dans le fichier /etc/services

aladin2000 commented 8 years ago

Je fais le test d'ici qq jours et je te tiens courant

Le 31 mai 2016 20:40:41 CEST, FOURNIER Ghislain notifications@github.com a écrit : dixit>tu peux essayer cette ligne : dixit>yana stream tcp wait www-data dixit>/var/www/yana-server/socket.php dixit>a mettre de le fichier /etc/inetd.conf dixit>il faut aussi ajouter : dixit>yana 999/tcp # Socket php Yana dixit>dans le fichier /etc/services dixit> dixit>--- dixit>You are receiving this because you commented. dixit>Reply to this email directly or view it on GitHub: dixit>https://github.com/ldleman/yana-server/issues/202#issuecomment-222781217

Envoyé de mon appareil Android avec K-9 Mail. Veuillez excuser ma brièveté.