Home Automation framboise et Phidgets (1 / 3 étapes)

Etape 1: Le code

Créez un nouveau dossier qui contiendra tous les fichiers

 sudo mkdir /home/pi/domo-emmeshop 

Créer un nouveau fichier index.php

 sudo nano /home/pi/domo-emmeshop/index.php 

avec ce contenu

 <!DOCTYPE html> <html> <head> <title>EmmeShop Domotics</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" /> <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> <script src="domo-emmeshop.js"></script> </head> <body> <div data-theme="a" data-role="header"> <p align="center"><img src="http://www.emmeshop.eu/blog/themes/bartik/Logo-Emmeshop.png" alt="Home"></p> </div> <div class="content-output" > <div class="s-title"><center>Home Automation</center></div> <ul data-role="listview" data-inset="true" > <li> <button class="ui-btn ui-corner-all" id="0">Output 0</button> </li> <li> <button class="ui-btn ui-corner-all" id="1">Output 1</button> </li> <li> <button class="ui-btn ui-corner-all" id="2">Output 2</button> </li> <li> <button class="ui-btn ui-corner-all" id="3">Output 3</button> </li> <li> <button class="ui-btn ui-corner-all" id="4">Output 4</button> </li> <li> <button class="ui-btn ui-corner-all" id="5">Output 5</button> </li> <li> <button class="ui-btn ui-corner-all" id="6">Output 6</button> </li> <li> <button class="ui-btn ui-corner-all" id="7">Output 7</button> </li> </ul> </div> <div data-theme="a" data-role="footer"> <p align="center"><h2>Emmeshop Electronics</h2></p> </div> </body> </html> 

Créer un nouveau fichier domo-emmeshop.js

 sudo nano /home/pi/domo-emmeshop/domo-emmeshop.js 

avec ce contenu

 $(document).ready(function(){ $("button").click(function(){ $.post("action.php", { outId:(this.id) }, function(data,status){ //alert("Data: " + data + "\nStatus: " + status); }); }); }); 

Créer un nouveau action.php fichier

 sudo nano /home/pi/domo-emmeshop/action.php 

avec ce contenu

 <?php $gpin="0"; if (isset($_POST['outId'])) { $gpin=$_POST['outId']; } shell_exec('sudo python /var/www/domo-emmeshop.py'.' '.$gpin); ?> 

Faire un lien de domo-emmeshop de /home/pi/domo-emmeshop à /var/ www/domo-emmeshop.

 sudo ln -s /home/pi/domo-emmeshop /var/www/domo-emmeshop 

Enfin, créez un fichier python domo-emmeshop.py

 sudo nano /var/www/domo-emmeshop.py 

avec ce contenu

 #!/usr/bin/env python #Basic imports from ctypes import * import sys import random import os #Phidget specific imports from Phidgets.PhidgetException import PhidgetErrorCodes, PhidgetException from Phidgets.Events.Events import AttachEventArgs, DetachEventArgs, ErrorEventArgs, InputChangeEventArgs, OutputChangeEventArgs, SensorChangeEventArgs from Phidgets.Devices.InterfaceKit import InterfaceKit outId = int(sys.argv[1]) #Create an interfacekit object try: interfaceKit = InterfaceKit() except RuntimeError as e: print("Runtime Exception: %s" % e.details) print("Exiting....") exit(1) #Event Handler Callback Functions def interfaceKitAttached(e): attached = e.device def interfaceKitDetached(e): detached = e.device print("InterfaceKit %i Detached!" % (detached.getSerialNum())) def interfaceKitError(e): try: source = e.device print("InterfaceKit %i: Phidget Error %i: %s" % (source.getSerialNum(), e.eCode, e.description)) except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) def interfaceKitInputChanged(e): source = e.device def interfaceKitSensorChanged(e): source = e.device def interfaceKitOutputChanged(e): source = e.device #Main Program Code try: interfaceKit.setOnAttachHandler(interfaceKitAttached) interfaceKit.setOnDetachHandler(interfaceKitDetached) interfaceKit.setOnErrorhandler(interfaceKitError) interfaceKit.setOnInputChangeHandler(interfaceKitInputChanged) interfaceKit.setOnOutputChangeHandler(interfaceKitOutputChanged) interfaceKit.setOnSensorChangeHandler(interfaceKitSensorChanged) except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting....") exit(1) try: interfaceKit.openPhidget() except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting....") exit(1) try: interfaceKit.waitForAttach(10000) except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) try: interfaceKit.closePhidget() except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting....") exit(1) print("Exiting....") exit(1) else: if interfaceKit.getOutputState(outId)==1: interfaceKit.setOutputState(outId,0) else: interfaceKit.setOutputState(outId,1) try: interfaceKit.closePhidget() except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting....") exit(1) exit(0) 

Articles Liés

Home Automation framboise et Phidgets partie 2

Home Automation framboise et Phidgets partie 2

Dans le tutoriel précédent , nous avons vu comment vous pouvez conduire les sorties numériques de l' Phidgets 1018à distance, dans ce tutoriel à la place nous allons vérifier l'état des entrées numériques, qui peuvent être connectés à des contacts ma
Home Automation framboise et Phidgets partie 3

Home Automation framboise et Phidgets partie 3

Cet article est le troisième dans la domotique avec Phidgets et framboise.Dans les articles précédents nous avons vu comment interagir avec les sorties et les entrées numériques.Maintenant, nous allons voir comment faire pour lire les valeurs de cert
Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

Le Raspberry Pi-Arduino-SignalR Home Automation moyeu

Suite à un couple de mon prélude IBLEs publié ici et ici, ce projet prend la première étape vers la création d'une version de base d'un Home Automation Hub fonctionnelle.J'ai utilisé différentes technologies dans le but de comprendre comment je peux
Raspberry pi Home Automation Server

Raspberry pi Home Automation Server

Le pi de framboise est un petit ordinateur incroyable pour le prix. Maintenant que vous avez un pi framboise permet de mettre au travail !Un serveur web ne nécessite pas beaucoup d'espace disque ou de la puissance informatique. Avec un peu de php et
Système de temps de présence & avec framboise et Phidgets

Système de temps de présence & avec framboise et Phidgets

Dans ce tutoriel, nous allons créer une période facile & système de fréquentation à l'aide d'un Pi de framboise et Phidgets RFID en lecture-écriture.Nous allons utiliser une page web pour afficher l'heure actuelle, et un message de confirmation pour
SMART HOME AUTOMATION

SMART HOME AUTOMATION

À l'heure actuelle il y a beaucoup de types de systèmes Home Automation disponibles dans notre marché. La plupart d'entre eux est électroménagers simples contrôle des systèmes comme DTMF contrôlée des appareils ménagers, RF basé électroménagers contr
Linkit one - Home Automation avec Bluetooth contrôleur Android App

Linkit one - Home Automation avec Bluetooth contrôleur Android App

Toutes les options sont équipées de téléphones intelligents. Les téléphones intelligents rendent notre travail très facile et nous rendent paresseux. Tour et éteindre des appareils ménagers utilisant téléphone intelligent avec dent bleue est dans le
Smart Home Automation avec commande vocale

Smart Home Automation avec commande vocale

Il s'agit d'un tutoriel étape par étape construire le circuit pour la fonction « Smart Home Automation avec commande vocale ».Télécharger notre Code libre du projet Arduino ici.Exigences :• Arduino Uno• LED• Résistance (220 ohms)• Module Bluetooth (B
Smart Home Automation avec Android + Ethernet Internet + Arduino

Smart Home Automation avec Android + Ethernet Internet + Arduino

Domotique devient de plus en plus populaire et abordable et fascine les gens. Internet offre de telles possibilités comme jamais auparavant. Impressionnez vos amis montrant sur Smartphone que vous pouvez mise en marche/arrêt lampe dans vos milles app
Home Automation/sécurité Prototype

Home Automation/sécurité Prototype

J'ai joué avec les microcontrôleurs pour assez longtemps et puis j'ai mes amis m'a demandé de reprendre ce projet et j'ai était un peu nerveux parce que travailler avec des modules individuels domotique est relativement plus facile que de construire
Home Automation (ou Robot Butler appelé Geoffrey) - iPhone contrôlée, arduino base

Home Automation (ou Robot Butler appelé Geoffrey) - iPhone contrôlée, arduino base

étant capable de contrôler tout de votre poche est depuis longtemps un rêve partagé par beaucoup. Précédemment, nous avons eu des télécommandes universelles qui peuvent tous deux contrôlent nos télévisions et les radios, puis nous avons eu des prises
GROWMAT home automation

GROWMAT home automation

GROWMATest l'unité d'automatisation des maisons, des serres, des champs de plus en plus de fruits, de légumes ou de fleurs. Peut être utilisé comme unité autonome d'automatisation, de télécommande ou de système de surveillance et de sécurité et peut
Home Automation contrôle vocal - analyse micro de multi-salle

Home Automation contrôle vocal - analyse micro de multi-salle

Avez-vous déjà senti la nécessité de suivre vos habitudes de parole, contrôler votre maison avec votre voix, ou simplement enregistrer depuis plusieurs micros en même temps ? Ensuite, vous avez de la chance ! Dans ce Instructable, vous apprendrez com
JARVIS Home Automation Control Center

JARVIS Home Automation Control Center

c'est peut-être dû à dépenser énormément de temps à regarder des émissions comme Star Trek ou Minority Report, mais j'ai toujours voulu être capable de contrôler mon entourage via ordinateur.  Récemment, j'ai eu beaucoup plus de temps libre que l'arg