Home Automation frambuesa y Phidgets (1 / 3 paso)

Paso 1: El código

Crear una nueva carpeta que contendrá todos los archivos

 sudo mkdir /home/pi/domo-emmeshop 

Crear un nuevo fichero index.php

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

con este contenido

 <!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> 

Crear un nuevo archivo domo-emmeshop.js

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

con este contenido

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

Crear un nuevo action.php archivo

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

con este contenido

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

Hacer un enlace de domo-emmeshop de /home/pi/domo-emmeshop a www/domo-emmeshop de httpd.

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

Por último, crear un archivo de python domo-emmeshop.py

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

con este contenido

 #!/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) 

Artículos Relacionados

Frambuesa pi Home Automation Server

Frambuesa pi Home Automation Server

La frambuesa pi es un ordenador pequeño increíble para el precio. Ahora que tienes una frambuesa pi permite ponerlo a trabajar!Un servidor web no requiere mucho cálculo energía o espacio en disco. Con un poco de php y python ocasional podemos adaptar
Automatización de frambuesa y Phidgets parte 2

Automatización de frambuesa y Phidgets parte 2

En el anterior tutorial vimos cómo manejas las salidas digitales de Phidgets 1018distancia, en este tutorial en lugar de ello comprobaremos el estado de las entradas digitales, que pueden conectarse a contactos magnéticos, pulsadores, interruptores,
ZigBee Home Automation

ZigBee Home Automation

Volverse Kinoma crear un gateway ZigBee Home Automation y su iluminación de control.Paso 1: ResumenMuchos electrodomésticos incluyen bombillas inalámbricas que soporte ZigBee Home Automation, un estándar inalámbrico que permite a los objetos intelige
Automatización de frambuesa y Phidgets parte 3

Automatización de frambuesa y Phidgets parte 3

Este es el tercer artículo de domótica con Phidgets y frambuesa.En artículos anteriores vimos cómo interactuar con las entradas digitalesy salidas digitales .Ahora veremos cómo leer los valores de algunos sensores directamente en tu smartphone o tabl
Sistema de tiempo y asistencia con frambuesa y Phidgets

Sistema de tiempo y asistencia con frambuesa y Phidgets

En este tutorial vamos a crear un tiempo fácil y sistema de asistencia con un Raspberry Pi y Phidgets RFID de lectura y escritura.Vamos a utilizar una página web para mostrar la hora actual, y un mensaje de confirmación para los empleados y todos los
GROWMAT home automation

GROWMAT home automation

GROWMATes la unidad de automatización de casas, invernaderos, campos para cada vez más frutas, verduras o flores. Puede utilizarse como unidad de automatización independiente, control remoto o sistema de supervisión y seguridad y pueden ahorrar tiemp
Smart Home Automation con comando de voz

Smart Home Automation con comando de voz

Este es un tutorial paso a paso el circuito para la función "Smart Home automatización con comando de voz" del edificio.Descargar nuestro código de proyecto Arduino gratis aquí.Requisitos:• Arduino Uno• LED• Resistencia (220 ohmios)• Módulo Blue
Baratos Home Automation utilizando módulos de salida sin hilos

Baratos Home Automation utilizando módulos de salida sin hilos

es esa época del año otra vez, cuando las tiendas están llenas de adornos de Navidad y accesorios.  Navidad puede ser meses, pero nunca subestimar el poder del hacking accesorios vacaciones estacionales, un accesorio en particular es muy útil durante
Arduino IR Home Automation v1.0

Arduino IR Home Automation v1.0

Control remoto es que un controlador es un controlador inalámbrico en algunos electrónicos como TV, reproductor de DVD y otros aparatos electrodomésticos.Control remoto envíe pulsos codificados digitalmente de radiación infrarroja a funciones de cont
ESP 8266 Wifi controlado Home Automation

ESP 8266 Wifi controlado Home Automation

ESP8266 es una gran cosa para empezar a IOT y WifiTambién es barato y se utiliza para hacer proyectos interesantes conectados a Internet. Aprende a hacer un sencillo proyecto de IOT con él. El módulo de WiFi de ESP8266 es un autónomo SOC con pila de
Inicio Home Automation: Servidor de Web W7500

Inicio Home Automation: Servidor de Web W7500

Voy a introducir WIZwiki-W7500Es crear interfaz WIZnet y usando a hacer de servidor Web.Hace posible a domótica inteligente a este proyectoa continuación Descripción es introducir WIZwiki-W7500 plataforma.ResumenWIZnet WIZwiki plataforma basada en la
Casa Internet controlado y Robot (Home Automation)

Casa Internet controlado y Robot (Home Automation)

en este instructable te diré cómo conectar tu casa completa (todos los electrodomésticos) a internet para que pueda controlar su cada equipo desde cualquier lugar del mundoHe realizado este proyecto 3 meses y continuamente está funcionando desde ento
Home Automation

Home Automation

Estructura de automatización del hogar* Arduino UNO* Arduino - LiquidCrystal* Arduino Bluetooth módulo* mini Motor Servo* 2 LED
WhatsApp en frambuesa Pi

WhatsApp en frambuesa Pi

En este tutorial veremos cómo utilizar WhatsApp con Raspberry Pi.Vamos a utilizar la biblioteca de Yowsup que ya habíamos usado en estos tutoriales: mensaje de WhatsApp de Phidgets SBC , Phidgets WhatsApp - pida el estado de sus sensores.Estos días l