[Projet] WsPiDroid, un web service pour le Raspberry Pi
Modérateur : Francois
- vague nerd
- Modérateur
- Messages : 1473
- Enregistré le : mar. 14 oct. 2014 11:42
- Localisation : France !
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
Les perfs de lighttpd sont vraiment meilleures que celle de httpd ?
Avec apache, j'ai souvent des "ralentissements"...
Cdt.
Avec apache, j'ai souvent des "ralentissements"...
Cdt.
Cordialement,
Vague Nerd
Vague Nerd
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
je n'ai pas assez d'expérience pour répondre puisque RpiDroid est la première application que je regarde sur le Pi.
Je suis plus à l'aise avec les CMS, en particulier NPDS (Apache-PHP-Mysql), en hébergement chez free.
La documentation en ligne me semble plus favorable à lighttpd mais on dit aussi qu'il serait moins sécure qu'Apache.
Connaissez-vous Yana?
Le pré-requis est Apache-php-sqlite3.
j'ai envie d'y aller voir en attendant.
crdlt
Je suis plus à l'aise avec les CMS, en particulier NPDS (Apache-PHP-Mysql), en hébergement chez free.
La documentation en ligne me semble plus favorable à lighttpd mais on dit aussi qu'il serait moins sécure qu'Apache.
Connaissez-vous Yana?
Le pré-requis est Apache-php-sqlite3.
j'ai envie d'y aller voir en attendant.
crdlt
- vague nerd
- Modérateur
- Messages : 1473
- Enregistré le : mar. 14 oct. 2014 11:42
- Localisation : France !
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
Non, je connais qu'apache, ainsi que les serveur html embarqués dans les serveurs j2ee...
Edit : il semble qu'il y ai aussi 'Nginx' et 'Monkey' qui aient bonne presse. Exemple. Apache 2.4 semble plus rapide que papche 2.2.
Re-edit : en plus, il faudrait configurer apache correctement (google apache fine tuning!). En particulier, ne charger que les modules nécessaires.
Cdt.
Edit : il semble qu'il y ai aussi 'Nginx' et 'Monkey' qui aient bonne presse. Exemple. Apache 2.4 semble plus rapide que papche 2.2.
Re-edit : en plus, il faudrait configurer apache correctement (google apache fine tuning!). En particulier, ne charger que les modules nécessaires.
Cdt.
Cordialement,
Vague Nerd
Vague Nerd
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
Bonsoir
le problème s'éclaircit: je viens d'installer yana-server sur le Pi sous lighttpd.
même résultat.
j'y accède via le réseau local
je n'y accède pas en passant par l'extérieur (redirection d'url depuis un hébergement free)
par contre avec la même méthode, j'accède bien à un fichier index.html sur /var/www
RPiDroid n'est donc pas en cause chez moi.
Je vais tester sous apache.
[edit] même résultat sous apache : Ok en interne et !OK en externe alors que j'accède bien en externe à /var/www/index.html
crdlt
le problème s'éclaircit: je viens d'installer yana-server sur le Pi sous lighttpd.
même résultat.
j'y accède via le réseau local
je n'y accède pas en passant par l'extérieur (redirection d'url depuis un hébergement free)
par contre avec la même méthode, j'accède bien à un fichier index.html sur /var/www
RPiDroid n'est donc pas en cause chez moi.
Je vais tester sous apache.
[edit] même résultat sous apache : Ok en interne et !OK en externe alors que j'accède bien en externe à /var/www/index.html
crdlt
- vague nerd
- Modérateur
- Messages : 1473
- Enregistré le : mar. 14 oct. 2014 11:42
- Localisation : France !
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
Je n'ai pas compris la démonstration.RPiDroid n'est donc pas en cause chez moi.
Je confirme que j'ai du casser la protection par 'clé manuelle' : la méthode de contrôle retourne maintenant toujours vrais.
Tout le reste fonctionne ensuite.
Cdt.
Cordialement,
Vague Nerd
Vague Nerd
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
bonjour,
yana fait un job similaire a rpidroid. cf http://www.framboise314.fr/installation ... toriel-15/: serveur http open source qui manipule les ports gpio, depuis (entre autres) une appli cliente android.
j'ai installé yana-server comme recommandé par son co-auteur Idleman, sous Apache-php5-sqlite3.
...et j'obtiens le même résultat: ok en réseau local et !ok depuis le net.
je suppose que mon problème vient de la connexion http et qu'une fois que je l'aurai résolu,
...je tomberai sur le tien.
je poursuis mes investigations
crdlt
[Edit]
Yana fonctionne: il suffisait d'y accéder depuis une autre box.
pour PiDroid, j'y accède dans les mêmes conditions mais cette fois-ci, je dois tomber sur le problème de token non validé.
yana fait un job similaire a rpidroid. cf http://www.framboise314.fr/installation ... toriel-15/: serveur http open source qui manipule les ports gpio, depuis (entre autres) une appli cliente android.
j'ai installé yana-server comme recommandé par son co-auteur Idleman, sous Apache-php5-sqlite3.
...et j'obtiens le même résultat: ok en réseau local et !ok depuis le net.
je suppose que mon problème vient de la connexion http et qu'une fois que je l'aurai résolu,
...je tomberai sur le tien.
je poursuis mes investigations
crdlt
[Edit]
Yana fonctionne: il suffisait d'y accéder depuis une autre box.
pour PiDroid, j'y accède dans les mêmes conditions mais cette fois-ci, je dois tomber sur le problème de token non validé.
Re: [Projet] RpiDroid: RESOLU...
... Enfin, si l'on veut!
Sans réponse de l’Auteur à mes toutes petites interrogations et dans l'impossibilité d'intervenir sur un code obfusqué, j'ai préféré réaliser mon propre projet avec mes petites mains, mes petits moyens et mes petites connaissances:
- une petite appli android pointe sur le serveur web de mon PI
- le serveur affiche le menu et enregistre la commande
- la commande est transmise à l'arduino uno via la voie série (USB pour le moment, XBEE à l'avenir)
- Le uno émet les commandes vers trois prises RF433Mhz du commerce (YC2000B-Phenix) qui allument/éteignent des trucs chez moi.
certes, ça ne sert pratiquement à rien en l'état mais la "feasibility by myself" est démontrée et je m'en contente volontiers...
Un des intérêts de ce montage bicéphale est, dans l’immédiat, de pouvoir tester plusieurs interfaces sur le Pi sans toucher au reste.
décidément... même l'image ne s'affiche pas!
http://cjoint.com/?0BwiPD6bwzh
Merci beaucoup, Vague nerd, pour ton attention et tes conseils.
Sans réponse de l’Auteur à mes toutes petites interrogations et dans l'impossibilité d'intervenir sur un code obfusqué, j'ai préféré réaliser mon propre projet avec mes petites mains, mes petits moyens et mes petites connaissances:
- une petite appli android pointe sur le serveur web de mon PI
- le serveur affiche le menu et enregistre la commande
- la commande est transmise à l'arduino uno via la voie série (USB pour le moment, XBEE à l'avenir)
- Le uno émet les commandes vers trois prises RF433Mhz du commerce (YC2000B-Phenix) qui allument/éteignent des trucs chez moi.
certes, ça ne sert pratiquement à rien en l'état mais la "feasibility by myself" est démontrée et je m'en contente volontiers...
Un des intérêts de ce montage bicéphale est, dans l’immédiat, de pouvoir tester plusieurs interfaces sur le Pi sans toucher au reste.
décidément... même l'image ne s'affiche pas!
http://cjoint.com/?0BwiPD6bwzh
Merci beaucoup, Vague nerd, pour ton attention et tes conseils.
-
- Administrateur
- Messages : 3233
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
Bonjour,
Le projet continu son chemin, pas aussi vite que je le souhaiterai mais cela avance.
Vous trouverez un version plus évolué de ce projet sur Github.
Divisé en 2 parties sur Github :
Le Web-service
Disponible en téléchargement sur Github : La version du Web-service
Le client Php
Egalement disponible en téléchargement sur Github : La version client web
Version Android
En cours de finition avec pour nouveautés :
Le projet continu son chemin, pas aussi vite que je le souhaiterai mais cela avance.
Vous trouverez un version plus évolué de ce projet sur Github.
Divisé en 2 parties sur Github :
Le Web-service
Disponible en téléchargement sur Github : La version du Web-service
- Ajout de la possibilité de recevoir une commande d'arrêt et de reboot au Raspberry. (nécessite l'ajout de droits "shutdown" à l'utilisateur www-data dans le sudoers)
- Lecture de température via des capteurs DS18B20 (port « 1-wire » GPIO 4). Le web-service lit tous les capteurs connectés et retourne le résultat, soit sous forme XML, soit sous forme de tableau. Toutes les valeurs des capteurs connectés sont retournées sous forme et . Le nom est l'identifiant du capteur relevé, exemple "28-000005adf", mais comme pour le nommage des ports GPIO dans le fichier "config.inc.php", il est possible de le nommé en un nom plus explicite.
Le client Php
Egalement disponible en téléchargement sur Github : La version client web
- Refonte de l'interface utilisateur
- L'interface est maintenant "Responsive", le but étant de s'adapter afin de conserver une utilisation conviviale sur appareil mobile.
- Ajout d'une page web permettant de configurer le fichier "config.in.php" du client.
- Ajout d'une page d'identification. Configurable également depuis la page de configuration du client, l'accès au client web est maintenant sécurisé par authentification de l'utilisateur. Pour ceux dont le client est uniquement accessible en réseau local, et qu'il veulent s'affranchir de l'authentification, il suffit de cocher la case "AutoConnect" et l'identification est intubée.
Version Android
En cours de finition avec pour nouveautés :
- Au lancement de l'application, nous n'arrivons plus sur la page d'action sur les GPIO, mais sur une page "menu" avec icônes. Il est ainsi possible d'accéder aux nouveautés du Web-service.
- Lecture de température via des capteurs DS18B20 (port « 1-wire » GPIO 4).
- Ajout de la commande d'arrêt et de reboot au Raspberry.
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
- vague nerd
- Modérateur
- Messages : 1473
- Enregistré le : mar. 14 oct. 2014 11:42
- Localisation : France !
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
Bonjour domi.
Encore une fois, merci et bravo !
Ici, et dans la doc du WebService, tu nous dis :
Pour ma part, le client java débuté en fin d'année dernière est au point mort. Ça intéresse quelqu'un (une V0 reste possible "rapidement") ?
Cdt.
Encore une fois, merci et bravo !
Ici, et dans la doc du WebService, tu nous dis :
Information : les commandes GPIO sont effectuées avec l'utilisateur « www-data » (utilisateur web), si cela ne fonctionne pas, vérifier que les droits sur « /usr/local/bin/gpio » sont bien « rwxr-xr-x ».
Peux-tu nous rappeler les commandes nécessaires, s'il te plait ?(nécessite l'ajout de droits "shutdown" à l'utilisateur www-data dans le sudoers)
Pour ma part, le client java débuté en fin d'année dernière est au point mort. Ça intéresse quelqu'un (une V0 reste possible "rapidement") ?
Cdt.
Cordialement,
Vague Nerd
Vague Nerd
-
- Administrateur
- Messages : 3233
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: [Projet] RpiDroid, un web service pour le Raspberry Pi
Bonjour,vague nerd a écrit :Peux-tu nous rappeler les commandes nécessaires, s'il te plait ?
Alors OK, je vais mettre à jour la doc sur Github.
En attendant, je vous donne ici la procédure.
Edition du sudoers :
Code : Tout sélectionner
sudo visudo
Par sécurité, on lui autorisera que ce dont il a besoin le web-service.
Code : Tout sélectionner
# Cmnd alias specification
Cmnd_Alias CMD=/sbin/halt,/sbin/reboot,/sbin/modprobe w1-gpio,/sbin/modprobe w1-therm
Les commandes "/sbin/halt" et "/sbin/reboot" permettent au web-service d'avoir droit au "stop" et au "reboot" du Raspberry Pi.
Les commandes "/sbin/modprobe w1-gpio" et "/sbin/modprobe w1-therm" permettent au web-service d'avoir les droits de charger dans le noyau Linux les modules "w1-gpio" et "w1-therm". Ce module permet de lire les données des sondes de température DS18b20
Vous n'êtes donc pas obligé de mettre toutes ces autorisations si vous ne les utilisez pas toutes.
Toujours dans notre fichier "sudoers", ajouter les autorisations sur l'Alias que nous venons de créer au user "www-data"
A ajouter en dessous des autorisations données au user "pi", ce qui doit à la fin du fichier vous donner quelque chose du genre.
Code : Tout sélectionner
#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=NOPASSWD: CMD
De mon coté, je vais de ce pas ajouter ces nouvelles informations dans la doc du Web-service. Opération effectuée.
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.