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.
modules CM11 et récepteur X10 | fournisseur : marmitek | distributeur en France | Domadoo
|
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.
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.
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.
|
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.
Gen_form pour Windows
|
Ce petit programme permet de générer les pages web "domotique.html" et "reponse.php". 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.) nota : limitation : seulement les 75 premiers fichiers de commandes sont traités.
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.
|
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.) 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 ) # ligne de script à modifier par l'utilisateur en
fonction de sa configuration 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. Nouvelle version v4 permet d'ajouter un paramètre à la commande.
Télécharger le dernier gen_form Télécharger
gen_form_ v4
|
![]() exemple de script :
![]()
|
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.