Logiciels domotique (2)

 

retour page Mes réalisations retour page Domotique page 1   retour page accueil du site

Send_X10_CM11A

Ce petit exécutable permet de commander les modules récepteurs X10 via l'interface interface CM11A en créant un fichier de commande (batch) contenant  la commande .
Le programme n'affiche pas lé réponse. ce n'est pas bien grave car le protocole X10 ne peut pas  savoir si le récepteur à bien exécuter la commande.
Cependant un pop up apparaît si le CM11 n'a pas été détecté ou si les paramètres  passés n'ont pas été compris.


Une fois les fichiers de commande réalisés, vous pouvez   les lancer
- soit à la console,
- soit par le programme minuteur,
- soit par les tâches planifiées windows
- ou autre ....

Attention, il fait attendre au moins 6 secondes entre deux lancement de commande.( l'interface CM11 est longue à initialisée et ... il n'est pas possible de l' interrompre ! (utiliser un sleep 10 entre les commandes dans vos fichiers batch  * ).
la commande doit être passée sous la forme "Send_X10_CM11.exe port;House;Device;Commande"
- port= portcom du CM11A 1, 2, 3 ... (ce sont les port com qui ont été bien connus dans  windows)
- House et Device sont les paramètre du module récepteur ( CF doc des modules X10)
    -House peut prendre les valeurs "A" à "P"
    - Device peut prendre les valeurs "1" à "16"
- commande peut prendre la valeur ON ou OFF ( en majuscule )

exemple :
send_X10_CM11.exe 2;A;4;ON
sleep 10
send_X10_CM11.exe 2;A;5;ON
sleep 10
send_X10_CM11.exe 2;A;5;OFF
sleep 10

si vous utilisez les programmes "minuteur" et "mail_exec" de l'auteur, vous devez installer ce programme dans
le sous répertoire "Action" créés lors de l' installation des programmes sus-cités.si vous l'utilisez dans un autre contexte , l'installation de ce lociciel ne doit pas être fait dans le répertoire "program file" ( surtout pour les OS Vista et Windows seven. Créez par exemple un répertoire "autres_programme" à la racine d'un disque dur
et installez y le programme.

nota le programme sleep est un utilitaire Microsoft livré avec des outils windows NT et Windows 2000 qui  permet de temporiser dans un fichier batch, (je ne connait pas sa licence : un équivalent est fourni avec ce programme qui est installé dans le répertoire d'installation. Si vous avez déjà "sleep.exe"  dans le répertoire "system32", vous pouvez détruire celui que je fourni.)


Attention :

 je ne préconise pas d'utiliser le modules X10 pour la domotique personnelle via internet :
- Le protocole X10 ne permet pas de savoir si le module a bien reçu ou exécuter l'action. ( j'ai même du utiliser des webcams pour vérifier si la commande était bien passée)
- les modules AD 10 ( montage sur rail Din sont très peu fiables ( panne systématique en moins d' un  an ))
- le système est incompatible avec les coupleurs CPL à 200 et 500 Mbps ( pas de problème avec le CPL 85 Mbps)
- le système est sensible aux perturbations du secteur ... qui sont aggravées par l'utilisation des ampoule basse consommation.

 

Télécharger Send_X10_CM11A

modules CM11 et récepteur X10 fournisseur : marmitek distributeur en France Domadoo

 



sleep.exe

Ce petit programme permet de réaliser des attentes dans un fichier de commande. il est fourni par Microsoft avec les outils de développement Windows NT et Windows 2000. Je n'arrive pas à connaître sa licence. Pour en disposer il faut télécharger le pack complet sur le site Microsoft. Vous trouverez  ici un équivalent à télécharger

utilisation :  sleep valeur

valeur = nombre de secondes ( ± 0,5 s) . C'est le seul paramètre disponible.

            Télécharger mon sleep.exe

 


Domo_HTTP

Ecran du logiciel

Page  d'accès aux commandes

 

Inutile de disposer d'un serveur Apache et PHP pour passer des commandes sur son ordinateur distant avec son navigateur préféré.
Ce petit programme permet de lancer vos opérations à distance pour peu que vous ayez configuré votre routeur ou votre box pour que votre pc puisse servir de serveur Web  vis à vis d' Internet..
il suffit de choisir :
- le port qui sera utilisé par le micro serveur Http,
- le répertoire qui contient les commandes,
- la formule secrète qui vous permettra de sécuriser vos commandes.

Une clef de 6 chiffres est transmise avec la page de commande web ( Http://<votresite>:<n° de port choisi>/domotique.htm)

selon la formule secrète définie : "abcde" (jusqu'à 9 caractères), un  calcul devra être fait  pour  saisir le résultat dans le champ "Code"

calcul : (( chiffre a) (opération b) (chiffre c)) (opération d) (chiffre e) ...etc
c'est simple, vous faites les opérations dans l'ordre et vous utilisez le résultat obtenu pour la suite des opérations.
Les opérations autorisées sont addition : "+" et multiplication : "* ". Les parenthèses ne sont pas acceptées.


exemple si la clef est : 391292
et la formule dsecrete : " 2+3*1":
Le code que vous devrez indiquer est : 30 [ ( 9+1) *3]

explication : faire la somme du deuxième et du troisième chiffre
puis multiplier le résultat obtenu par le premier chiffre.


je vous conseille de choisir une formule secrète simple afin de pouvoir faire le calcul mentalement et rapidement

le programme dispose d'un journal mensuel qui est consultable à distance.

Il peut traiter jusqu' à 50 fichiers de commandes .

Pour vos fichiers de commandes , vous pouvez bien sûr utiliser les exécutables disponibles  dans mes pages domotiques.

Il fonctionne avec les navigateurs courants sur PC , tablette ou smart phone

Ce programme ne doit pas être installé dans les répertoires "program files " de Vista ou de Windows seven.

Nouvelle édition qui corrige un plantage du serveur lors d'interrogation par  un mobile Android et meilleure ergonomie pour les mobiles

Télécharger DOMO_HTTP

 


Domo_POP

Voici une façon moins contraignante de passer des commandes.
Il suffit de disposer d'un accès à une messagerie.
La seule contrainte supplémentaire est de disposer d'une boite mail supplémentaire qui sera dédié à ce petit programme. Pas besoin de configurer sa box ou ses routeurs ni de disposer d'un nom de domaine (DNS).

Ce petit programme, après configuration (notamment des adresse mails), se chargera d'aller lire les messages qui lui sont destinés, de les analyser, et d'en extraire la commande à exécuter et une clef partagée qui permettra d'authentifier le mail. Si la clef est connue, la commande sera exécutée et la clef détruite.

A ce petit programme est associé un autre programme qui permet de préparer les mails. Ce programme peut être copié sur une clef  USB, et vous pouvez l'utiliser sur tout PC Windows . Il utilisera un fichier de clefs communes avec le logiciel principal, et la liste des commandes disponibles. Lorsque qu'il n'y a plus de clefs, ou que vous ajoutez une nouvelle commande, il faudra synchroniser le répertoire sur la clef USB avec celui du programme principal.

Il est possible de préparer le mails de commande à la main , il ne devra contenir aucune erreur et être rédigé ainsi :


le sujet du mail : Action  ( en respectant la casse )

le contenu du mail devra contenir la séquence suivante :

Commande:xxxxxxxxxxxxx.bat;
Code:YYYYYYYYYYY;

( en respectant la casse et les "point-virgule" comme caractère séparateur)

xxxxxxxxx.bat correspond au nom du fichier de commande
YYYYYYYYYYY  aux 11 caractère d'une des clefs générés ( le fichier clef.dat peut être imprimé après l'avoir ouvert avec notepad.)

... il est plus facile d'utiliser l' outils d'aide pour le préparer.
 

Aprés avoir téléchargé et dézippé le fichier,

 Marche opératoire


- Prenez tout d'abord une boite mail supplémentaire chez votre fournisseur ADSL. ( seuls  les mails non chiffrés et et accessibles avec le protocole pop3 sont utilisables)

- Installez le programme ( Ne pas installer dans le répertoire "Program file" ( surtout pour Vista et Wi,dows 7).

- lancer le programme domo_pop.exe

- Choisissez le répertoire contenant la liste des fichiers de commande en cliquant sur le bouton "choix répertoire Action". ( nota : Les noms de fichiers de commande ne doivent pas contenir de caractères espace. Le répertoire action peut bien sur être commun avec celui du logiciel minuteur.

- Cliquez sur le bouton " configuration mail " , remplissez le formulaire de la nouvelle fenêtre et quittez pour enregistrer la nouvelle configuration.

- Cliquez sur le bouton "création d'un fichier de clefs" pour générer de nouvelles clefs.

- Cliquer sur le bouton "création de répertoire préparation mails " pour installer le logiciel de préparation des mails sur une clé USB avec les clefs partagées et la liste des commandes disponibles.



nota, Avec ce système, les commandes sont effectuées avec un décalage essentiellement du à la durée de transmission du message entre les différents serveurs de messages impliqués et la période d'interrogation de la boite mail.

 

Télécharger DOMO_POP


 


Gen_form pour Windows

 


Ce petit programme permet de générer les pages web "domotique.html" et "reponse.php".


Ce programme n'est utile que si vous disposez d'un serveur web/PHP tel qu' Apache.
nota : les fonctionnalités PHP utilisées dans ce programme sont en général inhibées chez les hébergeurs. si le serveur se trouve sur un PC windows chez vous , ce logiciel est pour vous. Vous aurez ainsi la possibilité de commander des actions domotiques depuis n'importe quel accès à internet.

Après avoir dézippé le fichier,  Installer le programme sur la machine qui héberge Apache et PHP. ( dans un répertoire spécifique (autre que les "program" et"program files " de Vista et Windows 7.

Sur cette même machine , vous devez créer un répertoire qui contiendra tous les fichiers de commandes domotique que vous utilisez ainsi que les exécutables " domotiques que vous utilisez dans ces fichiers de commandes. ( send_snmp, send_udp, send Http, sleep,  ... que vous trouvez dans les pages domotique du site.)

Lancer le programme

remplissez le champ site pour donner un nom qui sera utilisé sur les pages formulaire et réponse.
puis en utilisant les boutons de commande de la fenêtre :
Sélectionnez le répertoire ou se trouvent les fichier de commande et les exécutables utiilisés
Sélectionnez le répertoire ou seront chargées les nouvelles pages web ( en général  /Apache/htdocs ) Choississez de préférence un répertoire dont l'accès web n'est autorisé que par un mot de passe).
cliquez sur le bouton "création du formulaire"

si aucune erreur n'a été détectée, c'est fini.

le formulaire est accessible  par "http://<nom_de_votre_site_web</<eventuel_nom_du_répertoire>/domotique.html

 

nota : limitation : seulement les  75 premiers fichiers de commandes sont traités.


nota  2 :Ce petit programme ne doit pas être installé dans les répertoires "programm" ni "program files" surtout pour les OS Windows 7 et Vista.

nota 3 : Vous pouvez bien sur sécuriser l'acces web à ces commande en limitant l'accès aux détenteur d'u login et password en ajoutant un  fichier .htacces dans le répertoire.( si vous ne savez pas comment procéder, vous pouvez suivre mon petit mémo accessible par ce lien.

Nouvelle édition présentant une meilleure ergonomie pour les terminaux mobiles

petit bug non corrigé : pour une nouvelle utilisation ( après avoir ajouté d'autres fichiers .bat dans votre répertoire action , les modifications ne sont pas prises en compte : contournement choisir un autre répertoire puis à nouveau choisir le bon répertoire.

 

Télécharger gen_form

 

 


Gen form pour raspberry pi

Ce petit script en python  permet de générer les pages web "domotique.html" et "reponse.php".
Ce programme n'est utile que si vous disposez d'un serveur web/PHP tel qu' Apache sur le raspberry pi

nota : les fonctionnalités PHP utilisées dans ce programme sont en général inhibées chez les hébergeurs. si le serveur se trouve serveur WEB chez vous (sur un raspberry_pi par exemple), ce logiciel est pour vous. Vous aurez ainsi la possibilité de commander des actions domotiques depuis n'importe quel accès à internet. Et notamment depuis votre smartphone ! ( c'est plus discret qu'une enceinte connectée.)


normalement, python 3 est installé par défaut sur votre raspberry.
dé-zippez le script dans un répertoire ou vous écrivez vos scripts python.

Si vous ne l'avez jamais fait: créez un répertoire spécifique à la racine de /home/pi/ - par exemple my_python-  , copier le fichier compressé et placez vous dans le répertoire et  dezippez  (  commande : tar xzvf gene_page.gz > .tar.gz )


Après avoir dé-zippé le fichier, lisez les commentaires et modifiez le script pour l'adapter à votre environnement   en remplaçant sur les lignes site, répertoire_w et répertoire_s les noms entre "" :

# ligne de script à modifier par l'utilisateur en fonction de sa configuration
#
site= "Action V52"
repertoire_w = "/var/www/html/domo/"
repertoire_s ="/home/pi/scripts_2/"
#
# fin des paramètres à modifier par l'utilisateur

site  correspond au nom de la page et au titre de la page html

répertoire_w correspond au répertoire ou seront rangées les pages sur votre serveur web ( normalement dans /var/www/html/xxx

répertoire_s correspond au répertoire ou sont rangés les script .sh que vous souhaitez lancer via Internet ... et que vous avez au préalable dûement vérifié.

lancez le script ( /home/pi/my_python/gene_form_sc_sh.py

s'il n'y a pas d'erreurs détectées , les pages ont été créées et sont accessibles par :

http://<nom_de_votre_site>/<votre_repertoire/domotique.html

nota 2 : l'utilisateur raspian lors d'accès à apache2 est "www-data" qui ne peut, par défaut, pas faire des commandes sudo.

Cependant il peut commander le GPIO (wiring pi) et envoyer des trames json (via commande curl).

Pour les dernières version où omxplayer est intégré à raspian , il faudra ajouter "www_data" au groupe "video" pour pouvoir lancer omxplayer

Vous pouvez donner le droit de faire des commandes sudo en modifiant le fichier /etc/sudoers ( en utilisant l'éditeur dédié visudo --_ avec les droits administrateur), mais ce n'est vraiment pas top au niveau sécurité).

Avec gene_form_2 , vous pouvez élever le droit de vos fichier scripts ( case à cocher) pour les scripts que vous aurez spécifié dans les droits de "www-data" dans le fichier sudoers

Le dernier gen_form  permet le choix d'attendre ou de ne pas attendre la réponse du script .sh et de l'afficher.
Il permet aussi l' affichage d'un commentaire ( par exemple lister les scripts qui nécessite une élévation des droits )
nota : le fichier à télécharger est au format .zip ... les fichiers .gz posent pb sur ce serveur.

 Nouvelle version v4  permet d'ajouter un paramètre à la commande.

 

Télécharger gen_form.py

Télécharger le dernier gen_form

Télécharger gen_form_ v4

exemple de script :



Nouvel ecran


>



ecran v4





Snd_tlnt

Ce petit exécutable permet de piloter l'envoi d'un script telnet à une machine doté d'un serveur telnet ( ou d'un démon telnet) .

ce petit exécutable peut être lancé par lelogiciels minuteur par les serveurs domo_http et domo_pop ou les pages web créeés par gen_form.

le script telnet doit contenir  dans l'ordre toute les informations attendues par le serveur :


login
password
commande1
commande2
...
exit

le fichier stlnt.ini doit être modifier en fonction des "promts" émis par le serveur.

lors de la détection d'un prompt du serveur le logiciel envoi la ligne suivante du serveur

nota : le fonctionnement ressemble  à celui  client FTP de windows

exemple d'utilisation

snd_tlnt.exe 192.168.1.5:23;allume_ampoule_1.text

avec allume_ampoule_1.text contenant :

pi
raspberry
gpio -g mode 22 out
gpio -g write 22 1
exit

nota : le script n'accepte pas les lignes de commentaires. une nouvelle version accepte les ligne de commentaires commençant par le caractère "#".

me contacter pour avoir le patch correspondant.

 

 

Télécharger Snd_tlnt