Last updated August 29, 2010 17:47, by Pivert
Feedicon  
= Minido home automation unleashed = == News == * 2010/08/12 End of the news. Les news futures seront postées dans la [http://kenai.com/projects/minido-unleashed/lists/users/archive users mailing list] : == Releases == * 2010/08/08 Une page est dédiée à MU 2.0 est maintenant disponnible : [[Minido2|MU 2.0]] == Capture d'écran de WebDo == [[image: webdo2.png|block]] == What is Minido == Minido from AnB S.A. is a very simple, basic, and affordable home automation system. Minido alone is limited, but has the very interesting features to be based on the standard bus RS-485, and is easy to interface with a PC : [[minido|Minido description]] == What is MU (Minido Unleashed)== Minido Unleashed is a set of software tools that extends Minido features and adds : * Scheduler. * Event based actions. * Timers on events such as duration. * Web interface ( not yet available ) * Ambiance selection ( not yet available ) [[Choix techniques du projet MU]] MU is written in Python, using Netbeans IDE, and uses SQLite3 to store states, logs and configuration. It's developed under Linux, and can run on most operating systems with no or minimal adaptaion. ==Status of MU (Minido Unleashed)== Minido Unleashed is in early stages. The code base is very small and mainly usable by computer experienced people. You do not need to be an expert to use it, or to read the few lines of code. MU ===What can currently MU do for you=== * Decode and logs events on the Minido system, such as Button pressed, stores UP or down, or light status changes. * If the minido_devices table is filled, it will display events as : "Bathroom : Mirror Light on" * MU can react on light or stores events, and trigger an other event with delay and duration timers in seconds. * MU can benefit from the cron linux scheduler to create presence simulations, and other scheduling. ===What cannot do MU=== * Easily install without my help. Sorry. ===Current status of MU=== * Current version of MU (01/04/2010) is still in development, but stable and totally usable with the basic features currently included. It's being used in my house for months. ==Télécharchement et installation== ===Prérequis=== ====Back end==== * Python 2.6 * SQLite3 * python-serial (pour accéder au port série) * python-pysqlite2 (Interface SQLite3) ====Interface Web==== * php5 * php5-sqlite * Apache (ou autre lighttpd devrait aussi faire l'affaire : https://wiki.ubuntu.com/Lighttpd%2BPHP) Sous kubuntu, vous pouvez vous assurer que vous avez les prérequis et les installer au besoin en exécutant : aptitude install python2.6 python-pysqlite2 python-serial libapache2-mod-php5 php5 php5-common php5-sqlite apache2 [[Installation sur une Ubuntu ( besoin de test )]] ===Installation=== * You must first créate a database, with the createDB.sql par exemple en éxécutant : sqlite3 ./minidodb < createDB.sql * You must then edit the script minidowatch.py to check the path to the sqlitedb and the path to serial connection (Where you RS485 adapter is connected). * Vous pouvez ensuite démarrer minidowatch.py, appuyer sur quelques boutons de votre installation et vérifier que les actions sur le bus sont bien loggées dans la table minido_log en répétant des select dans la DB : sqlite3 Documents/minido/minidodb "SELECT * from minido_log" ===Environnement de développement (recommandé)=== L'installation est faite sur une kubuntu 10.04 fraichement installée, mais ce tuto devrait fonctionner sur n'importe quelle distribution "debian based". [[image: 01_FreshInstall.jpg|block]] * Ouvrir une console ( konsole sous KDE ), et passer en root: sudo -i * Mettre à jour le système si ce n'est déjà fait : aptitude update aptitude upgrade * Installer netbeans : aptitude install netbeans * Netbeans est directement disponnible dans le menu : [[image:02-NetbeansMenu.jpg|block]] * Installer le module python-serial ( Pour pouvoir se connecter au port série local depuis python. ) aptitude install python-serial * Par défaut, netbeans n'installe que l'environnement Java, et pas python. Il faut donc ajouter le plugin python dans netbeans. Pour celà, il faut lancer netbeans qui est probablement directement accessible dans le menu des applications et aller dans menu Tools->Plugins. Faire un "Reload Catalog" pour avoir le catalogue de plugins à jour, et ensuite sélectioner "Python" dans l'onglet "Available Plugins". Puis, "Install". ( It will also install Jython dependancy. ) [[image:03-PythonPlugin.jpg|block]] Maintenant que l'environnement de développement est prêt, il suffit d'importer les sources via Subversion, de manière à pouvoir toujours être à jour. Normalement il devrait suffire d'utiliser le "Open Kenai Project" du menu fichier et de faire une recherche sur "Minido" pour trouver ce projet et pouvoir l'utiliser. Mais chez moi, le GUI Kenai est buggé, et je vais donc montrer la méthode classique avec l'url du dépôt subversion : * Menu Team->Subversion->Checkout, et entrer "https://svn.kenai.com/svn/minido-unleashed~subversion" comme "Repository URL". Pas besoin de login/password pour un accès lecture seule. Puis cliquer "Next". [[image:06-NetbeansCheckout.jpg|block]] * Faites un "Browse repository folders" et choisissez "Minido-Unleashed", puis "OK" [[image:07-BrowseRepositoryFolders.jpg|block]] [[image:08-Checkout.jpg|block]] * OK, celà va prendre quelques secondes pour qu'il importe le projet sur votre ordinateur, puis il va vous proposer de l'ouvrir. Vous pouvez cliquer sur "Open Project". Vous allez avoir quelques fichiers dans le dépôt : * minidowatch.py : le coeur du système qui doit tourner en arrière-plan. * createPgDB.sql qui va servir à créer la base de donnée. ( le Pg dans l'appellation vient du fait que la première installation était en PostgreSQL, il faut que je le renomme.) ==La base de donnée== * Installer sqlite3 et le driver python : aptitude install sqlite3 python-pysqlite2 * Pour créer la base de donnée, ouvrez une nouvelle console en tant qu'utilisateur et non en tant que root. Ensuite, créez la DB, par exemple : francoisd@francoisd-desktop:~$ sqlite3 ./NetBeansProjects/minidodb < ./NetBeansProjects/Minido-Unleashed/src/createPgDB.sql * Cette base de donnée vide est suffisante pour pouvoir démarrer le minidowatch.pl, et pouvoir tester si les commandes sont bien loggées dans la table minido_log avec la commande suivante : sqlite3 ./NetBeansProjects/minidodb "SELECT * FROM minido_log;" == Test de l'application == * Dans Netbeans, double-cliquer sur minidowatch.py pour l'ouvrir. * Vérifier le chemin vers le périphérique série ( aux environs de la ligne 200 ). * Vérifier le chemin vers la base de donnée ( aux environs de la ligne 6 ). * Cliquer sur la touche verte "Play". * Vérifier si la table de logs se remplit lorsque vous actionnez les interrupteurs de votre minido : sqlite3 ./NetBeansProjects/minidodb "SELECT * FROM minido_log;" Si au moment de l'exécuter vous avez le message d'erreur : "selected project has broken python platform ....", allez dans File->Project Properties (Minido-Unleashed), et dans la catégorie "Python", choisissez "Python 2.6.5" au lieu de "Jython..." comme plate-forme Python.
  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2014, Oracle Corporation and/or its affiliates
(revision 20150226.965aeb8)
 
 
Close
loading
Please Confirm
Close