Projet domotique -> choix des technos RasPi2
Modérateur : Francois
Projet domotique -> choix des technos RasPi2
Bonjour à tous,
J'ai depuis plusieurs années un projet domotique en tête que je me suis décidé de concrétiser en 2016 à l'aide d'une Raspberry Pi 2.
J'ai réuni mes pré-requis et je sollicite vos avis (sur la base de ces critères) pour déterminer sur quel couple "OS/langage de développement" partir ?
Critères:
• La RasPi2 doit piloter par le port GPIO avec des relais et dialoguer avec plusieurs capteurs en I2C.
• L'application développée doit piloter les relais sur des programmations horaires (un peu évoluées).
• La RasPi2 doit faire tourner un moteur de base de données, interrogeable par un autre dispositif (PC, tablette) via Ethernet (j'ai choisi MySQL car SQLite n'est pas basée sur le mode client/serveur).
• Les programmations horaires, paramètres et données des capteurs sont stockées dans cette base de données et modifiables par pages web (serveur web intégré + php).
• Je dois intégrer une RTC pour garder la date/heure en cas de coupure de courant. (DS1307 en I2C).
• La sortie HDMI de la RasPi2 affiche une interface utilisateur de visualisation en temps-réel (état des relais, heure courante, données capteurs sous forme de graphe).
• Enfin, l'application développée doit être compilée (ou non-modifiable) et se lancer automatiquement au démarrage de la RasPi2 en plein écran.
Mes premières recherches m'avaient initialement orientées sur le couple Win10-IOT/C# mais je doute qu'en parallèle de l'application développée (C#, VisualStudio), je puisse faire tourner un service AMP (MySQL/PHP/Apache) ...?
Si ce n'est pas le cas, vers quelles technos (OS/code) devraient-je me tourner ?
Quel est votre avis sur la question ?
Merci de votre aide,
A+,
Syn
J'ai depuis plusieurs années un projet domotique en tête que je me suis décidé de concrétiser en 2016 à l'aide d'une Raspberry Pi 2.
J'ai réuni mes pré-requis et je sollicite vos avis (sur la base de ces critères) pour déterminer sur quel couple "OS/langage de développement" partir ?
Critères:
• La RasPi2 doit piloter par le port GPIO avec des relais et dialoguer avec plusieurs capteurs en I2C.
• L'application développée doit piloter les relais sur des programmations horaires (un peu évoluées).
• La RasPi2 doit faire tourner un moteur de base de données, interrogeable par un autre dispositif (PC, tablette) via Ethernet (j'ai choisi MySQL car SQLite n'est pas basée sur le mode client/serveur).
• Les programmations horaires, paramètres et données des capteurs sont stockées dans cette base de données et modifiables par pages web (serveur web intégré + php).
• Je dois intégrer une RTC pour garder la date/heure en cas de coupure de courant. (DS1307 en I2C).
• La sortie HDMI de la RasPi2 affiche une interface utilisateur de visualisation en temps-réel (état des relais, heure courante, données capteurs sous forme de graphe).
• Enfin, l'application développée doit être compilée (ou non-modifiable) et se lancer automatiquement au démarrage de la RasPi2 en plein écran.
Mes premières recherches m'avaient initialement orientées sur le couple Win10-IOT/C# mais je doute qu'en parallèle de l'application développée (C#, VisualStudio), je puisse faire tourner un service AMP (MySQL/PHP/Apache) ...?
Si ce n'est pas le cas, vers quelles technos (OS/code) devraient-je me tourner ?
Quel est votre avis sur la question ?
Merci de votre aide,
A+,
Syn
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: Projet domotique -> choix des technos RasPi2
Bonsoir, pour moi raspbian répond à la plupart de vos attentes( apache, php , mysql......) pour la gestion des gpio et i2c, la bibliothèque wiringpi est bien adaptée et accessible en ligne de commande , donc intégrable dans des scripts . de plus il existe une pléthore de carte additionnelles pour le contrôle de relais et autre.
Projet ambitieux , et intéressant .
@+
Projet ambitieux , et intéressant .
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
Re: Projet domotique -> choix des technos RasPi2
Merci pour cette info intéressante.
- vague nerd
- Modérateur
- Messages : 1473
- Enregistré le : mar. 14 oct. 2014 11:42
- Localisation : France !
Re: Projet domotique -> choix des technos RasPi2
Bonjour et bonne année.
+1 pour raspbian.
Quant au choix du langage, il sera très large. Au vu du projet, rien n'a besoin d'être très rapide (bus i2c "lent", du web...).
Vous pouvez vous orienter vers un langage de haut niveau (vous parliez de c#, donc pourquoi pas java), et contrôler des scripts en langage de plus bas niveau (lancer des scripts shell, s'appuyant sur wiringpi par exemple).
Par exemple, j'ai une application java avec une interface swing (des fenêtres, bouton et autres gui) qui lance des commandes shell à destination d'un driver linux en c !
En d'autre terme :
- Fonctionnel : dans une interface graphique, je déplace un "bouton glissière" pour choisir une valeur entre deux bornes. Cela permet de sélectionner l'ange d'un servomoteur
- Technique : en bougeant un jslider java/swing, l'application lance des commandes shell linux à destination du driver servoblaster précédemment installé/lancé (un process demon servod).
Pour ma part, je choisis le langage le plus adapté à la tâche que je souhaite réaliser, et je monitore et ordonnance ensuite ces micros-applications en java.
Dans la pratique, le langage naturel du pi est plutôt python. Et des bases de shell linux restent les bienvenues !
Cordialement.
+1 pour raspbian.
Quant au choix du langage, il sera très large. Au vu du projet, rien n'a besoin d'être très rapide (bus i2c "lent", du web...).
Vous pouvez vous orienter vers un langage de haut niveau (vous parliez de c#, donc pourquoi pas java), et contrôler des scripts en langage de plus bas niveau (lancer des scripts shell, s'appuyant sur wiringpi par exemple).
Par exemple, j'ai une application java avec une interface swing (des fenêtres, bouton et autres gui) qui lance des commandes shell à destination d'un driver linux en c !
En d'autre terme :
- Fonctionnel : dans une interface graphique, je déplace un "bouton glissière" pour choisir une valeur entre deux bornes. Cela permet de sélectionner l'ange d'un servomoteur
- Technique : en bougeant un jslider java/swing, l'application lance des commandes shell linux à destination du driver servoblaster précédemment installé/lancé (un process demon servod).
Pour ma part, je choisis le langage le plus adapté à la tâche que je souhaite réaliser, et je monitore et ordonnance ensuite ces micros-applications en java.
Dans la pratique, le langage naturel du pi est plutôt python. Et des bases de shell linux restent les bienvenues !
Cordialement.
Cordialement,
Vague Nerd
Vague Nerd
- vague nerd
- Modérateur
- Messages : 1473
- Enregistré le : mar. 14 oct. 2014 11:42
- Localisation : France !
Re: Projet domotique -> choix des technos RasPi2
J'ai joué avec une partie des technos citées. Voici quelques considérations, si ça peut vous intéresser...
GPIO : wiringpi / shell / python / java ... !
SGBD : RAS. MySQL ? pourquoi pas postgres ?
Piloter des relais : RAS.
Serveur web : sur B+, apache et tomcat sont un peu poussifs. A voir sur Pi2. Pour du Php, un serveur web light fera l'affaire !
I2C : python / java
Affichage ihm sur HDMI : RAS. Vous voulez afficher une page web ? Une ihm évoluée ? Un truc complètement maison ?
Lancement plein écran : RAS.
Vous parlez de sécurité ? Ou de verrouillage ?
Du coup, l’application Web sert à quoi ? Pourquoi pas une ihm lourde (une application X11) ?
Cdt.
GPIO : wiringpi / shell / python / java ... !
SGBD : RAS. MySQL ? pourquoi pas postgres ?
Piloter des relais : RAS.
Serveur web : sur B+, apache et tomcat sont un peu poussifs. A voir sur Pi2. Pour du Php, un serveur web light fera l'affaire !
I2C : python / java
Affichage ihm sur HDMI : RAS. Vous voulez afficher une page web ? Une ihm évoluée ? Un truc complètement maison ?
Lancement plein écran : RAS.
Que voulez-vous dire par là ? L'appli web fait partie de "l’application" ?application développée doit être compilée (ou non-modifiable)
Vous parlez de sécurité ? Ou de verrouillage ?
Du coup, l’application Web sert à quoi ? Pourquoi pas une ihm lourde (une application X11) ?
Cdt.
Cordialement,
Vague Nerd
Vague Nerd
-
- Raspinaute
- Messages : 1587
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Projet domotique -> choix des technos RasPi2
Salut et bonne année,
On diverge un peu mais ...
Concernant le projet initial, perso je partirai plus sur du C/C++ avec du GTK si une IHM lourde est nécessaire mais n'importe quel langage devrait faire l'affaire.
Si dans ton cahier des charges il y a un planning séré, il faut mieux se focaliser sur un langage connu et maitrisé.
Si ton but est plutot d'apprendre de nouvelles choses, à toi de choisir la techno que tu veux apprendre ... mais il ne faut pas se mettre la pression sur une date de fin.
On diverge un peu mais ...
Pourquoi ? Pour tomcat, je comprends car c'est du Java, mais j'ai fais tourner des sites Apache + PHP 4 & 5 + PostgreSQL sur des Sun Sparc Station 5 & 20 (Sparc classique @ 110Mhz, avec 128 Mo de RAM) & sur des stations HP 712 & 715 (HP-PA 50 Mhz et 96 Mo de RAM au max), bref, des machines qui ont des caractéristiques bien en deca de nos SBC (hormis les IO qui sont pourries sur rPI) et je peux t'assurer que ça fonctionne très bienvague nerd a écrit :Serveur web : sur B+, apache et tomcat sont un peu poussifs.
Concernant le projet initial, perso je partirai plus sur du C/C++ avec du GTK si une IHM lourde est nécessaire mais n'importe quel langage devrait faire l'affaire.
Si dans ton cahier des charges il y a un planning séré, il faut mieux se focaliser sur un langage connu et maitrisé.
Si ton but est plutot d'apprendre de nouvelles choses, à toi de choisir la techno que tu veux apprendre ... mais il ne faut pas se mettre la pression sur une date de fin.
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
Re: Projet domotique -> choix des technos RasPi2
@vague nerd:
merci pour ces infos !
-quels avantages vois-tu à postgres par rapport à mysql ? (en parlant sur RPI)
-serveur web uniquement pour édition de paramètres (stockés dans db) à distance. qu'entends-tu par serveur web light ? y a-t-il quelque chose de plus léger que apache/php ? (la plateforme sera une RPI2)
-ihm sur hdmi : affichage uniquement (status et valeurs), pas de saisie, pourquoi pas une page web... mais avec un rafraichissement des valeurs à 500ms, l'idée de la page web s'éloigne, je serai plus sur une fenêtre GUI (pas de console) avec un design sobre.
-les pages web sont indépendantes de l'appli. Je pensai gérer la modification des pages web avec de simples droits utilisateurs. L'appli par contre doit être compilée (pas d'accès au code ni modification), je souhaite garantir une certaine stabilité et évolution 'appli/matériel connecté' (notamment sur les accès GPIO et I2C)
-X11 pas chaud, du coup je partirai plus sur du Qt, qu'en penses-tu ?
Merci,
merci pour ces infos !
-quels avantages vois-tu à postgres par rapport à mysql ? (en parlant sur RPI)
-serveur web uniquement pour édition de paramètres (stockés dans db) à distance. qu'entends-tu par serveur web light ? y a-t-il quelque chose de plus léger que apache/php ? (la plateforme sera une RPI2)
-ihm sur hdmi : affichage uniquement (status et valeurs), pas de saisie, pourquoi pas une page web... mais avec un rafraichissement des valeurs à 500ms, l'idée de la page web s'éloigne, je serai plus sur une fenêtre GUI (pas de console) avec un design sobre.
-les pages web sont indépendantes de l'appli. Je pensai gérer la modification des pages web avec de simples droits utilisateurs. L'appli par contre doit être compilée (pas d'accès au code ni modification), je souhaite garantir une certaine stabilité et évolution 'appli/matériel connecté' (notamment sur les accès GPIO et I2C)
-X11 pas chaud, du coup je partirai plus sur du Qt, qu'en penses-tu ?
Merci,
Re: Projet domotique -> choix des technos RasPi2
@destroyedlolo:
Merci pour tes infos !
Concernant le planning, l'objectif que je me suis fixé est d'avoir un proto fonctionnel fin décembre. C'est à la fois large et pas tant que ça car cela reste un projet que je réalise sur mon temps libre... mais qui me tient à cœur de réaliser
PS: bonne année à tous
Merci pour tes infos !
Concernant le planning, l'objectif que je me suis fixé est d'avoir un proto fonctionnel fin décembre. C'est à la fois large et pas tant que ça car cela reste un projet que je réalise sur mon temps libre... mais qui me tient à cœur de réaliser
PS: bonne année à tous
-
- Raspinaute
- Messages : 1587
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Projet domotique -> choix des technos RasPi2
Salut,
Par exemple, j'ai recyclé une tablette android sous Linux (comme décrit sur ce sujet) que j'utilise comme dashboard pour ma domotique.
L'affichage se fait sur le framebuffer, et les données ne sont rafraichies que lorsque de nouvelles valeurs arrivent (pas de rafraichissement global).
Pourquoi dans ce cas ne pas utiliser directement le framebuffer ? Pas besoin de X dans ce cas ?Synopsis a écrit :-ihm sur hdmi : affichage uniquement (status et valeurs), pas de saisie, pourquoi pas une page web... mais avec un rafraichissement des valeurs à 500ms, l'idée de la page web s'éloigne, je serai plus sur une fenêtre GUI (pas de console) avec un design sobre.
-X11 pas chaud, du coup je partirai plus sur du Qt, qu'en penses-tu ?
Par exemple, j'ai recyclé une tablette android sous Linux (comme décrit sur ce sujet) que j'utilise comme dashboard pour ma domotique.
L'affichage se fait sur le framebuffer, et les données ne sont rafraichies que lorsque de nouvelles valeurs arrivent (pas de rafraichissement global).
1 an, ça me parait réalisteSynopsis a écrit :Concernant le planning, l'objectif que je me suis fixé est d'avoir un proto fonctionnel fin décembre. C'est à la fois large et pas tant que ça car cela reste un projet que je réalise sur mon temps libre... mais qui me tient à cœur de réaliser
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
Re: Projet domotique -> choix des technos RasPi2
...
Modifié en dernier par Romuald le sam. 25 juin 2016 13:53, modifié 1 fois.