Comme convenu dans l'article du Blog, voici le "Thread" pour discuter du projet RPiDroid dont vous trouverez sa description sur le Blog Framboise314
Toutes suggestions d'amélioration sont les bienvenues.
Ce Projet est composé de 3 outils : Le Web-service, un client Web Php et un client Android (version Android >= 3.0)
But : Commander un Raspberry Pi depuis une application Web indépendante du Raspberry, depuis une application Android, ou tout autre application sachant invoquer un Web-Service de type SOAP.
Le principe de départ étant de créer à l'aide du Raspberry Pi une Box domotique, et disposer d'un logiciel client capable d'interagir avec cette Box depuis son domicile, mais également depuis l’extérieur via Internet.
Disponible sur GitHub (voir liens en bas de ce post)
Edit du 01/03/2015 : Le nom RpiDroid étant déjà utilisé par une application Android, le projet change de nom et se nomme maintenant "WsPiDroid"
Fonctionnalités effectuées :
- Le Web-Service
- Lecture et écriture sur les ports GPIO du Raspberry Pi.
- Lecture par le client des noms de ports GPIO déclarés sur le Web-Service. Permet de retourner des noms "parlant", et non les numéros de ports.
- Possibilité d'envoyer une commande d'arrêt et de reboot au Raspberry.
- Possibilité de demander des information sur le système du Raspberry via les commandes "psutil".
- 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 <nom> et <valeur>. 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
- Page d'Interaction avec les Ports GPIO via Ajax (lecture et écriture sur le port)
- Lecture des capteurs de température DS18b20
- Interrogation de données système du Raspberry Pi
- Possibilité d'arrêt ou de reboot du Raspberry Pi.
- Création d'une interface Web Responsive. (Utilisation Ecran PC et Smartphone).
- Le Client Android
- Application pour Smartphone sous Android version >= 3.0
- Page d'Interaction avec les Ports GPIO (lecture et écriture sur le port)
- Lecture des capteurs de température DS18b20
- Possibilité d'arrêt ou de reboot du Raspberry Pi.
- Interrogation de données système du Raspberry Pi
- [Web-Service] : Envoi de commandes Radio via émetteur RF 433Mh (Commande Volets, télécommande,...) via la lib "rcswitch-pi"
- [Web-Service] : Lire une distance à l'aide du module Ultrason HC-SR04
- [Web-Service] : Offrir la possibilité aux utilisateurs de configurer les données du Web-Service (nom des GPIO, nom des capteurs de température) de 2 façons différentes.
Soit par le fichier "config.inc.php" comme actuellement, mais nécessitant l'édition du fichier de config, soit en utilisant une base de données sur le Raspberry hébergeant le Web-Service, oblige à installer une base de données sur le Raspberry si il ne possède pas déjà une, mais plus souple pour l'utilisateur qui peut ainsi configurer via une interface.
- [Web-Service] : Lecture d'image de la PiCam.
- [Web-Service] : Commande PWM pour commande servomoteur.
- [Web-Service] : Commande X10 via un module CM15 avec mochad.
Téléchargements sur GitHub
Prendre uniquement les versions "Master" qui sont fonctionnelles, et pas les versions nommées "Evolution". Ces dernières sont des versions encours de développement, non fonctionnelles, ces versions me servent de sauvegarde.
- Téléchargement du Web-Service
- Téléchargement du client Web
Je vous rappel que quelques copies écran du Client Android, ainsi qu'une vidéo de présentation de la première version de ce client est disponible sur Framboise314
Merci de vos retours.
Version 0.1.0 du 01/03/2015