Automatización de frambuesa y Phidgets parte 2 (1 / 2 paso)

Paso 1: El código

El código de

Crear una nueva carpeta que contendrá todos los archivos

 sudo mkdir /home/pi/domo-emmeshop 

Crear un nuevo input.html de archivo

 sudo nano /home/pi/domo-emmeshop/input.html 

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="input-emmeshop.js"></script> <style type="text/css"> .label1 { display: inline !important; vertical-align: 1.0em; } </style> </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-input" > <div class="s-title"><center>Home Automation</center></div> <ul data-role="listview" data-inset="true" > <li> <label for="I00" class="label1"><b>Input 00 </b></label> <select disabled name="I00" id="I00" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> <li> <label for="I01" class="label1"><b>Input 01 </b></label> <select disabled name="I01" id="I01" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> <li> <label for="I02" class="label1"><b>Input 02 </b></label> <select disabled name="I02" id="I02" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> <li> <label for="I03" class="label1"><b>Input 03 </b></label> <select disabled name="I03" id="I03" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> <li> <label for="I04" class="label1"><b>Input 04 </b></label> <select disabled name="I04" id="I04" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> <li> <label for="I05" class="label1"><b>Input 05 </b></label> <select disabled name="I05" id="I05" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> <li> <label for="I06" class="label1"><b>Input 06 </b></label> <select disabled name="I06" id="I06" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> <li> <label for="I07" class="label1"><b>Input 07 </b></label> <select disabled name="I07" id="I07" data-mini="false" data-role="slider"> <option value="0">Open</option> <option value="1">Closed</option> </select> </li> </ul> </div> <div data-theme="a" data-role="footer"> <p align="center"><h2>Emmeshop Electronics</h2></p> </div> </body> </html> 

Crear una nueva entrada de archivo-emmeshop.js

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

con este contenido

 $(document).ready(function(){ var jqxhr = $.getJSON('action.php?', function(data) { value_update(data); }) }); function value_update(data) { $.each(data, function (index, value) { $('#I'+index).val(value).slider("refresh"); }); } 

Crear un nuevo action.php archivo

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

con este contenido

 <?php $read=shell_exec('sudo python /var/www/input-emmeshop.py'); if($read=="") { echo "Error"; } else { $tempArray=explode("\n",$read); // create array with read values for ($i = 0; $i<8; $i++) { $pin = sprintf('%02s', $i); $myArray[$pin]=intval(str_replace("\n","",$tempArray[$i])); } // creato json string echo json_encode($myArray); } ?> 

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 entrada-emmeshop.py

 sudo nano /var/www/input-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 arrInState=[0,0,0,0,0,0,0,0] #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 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 arrInState[int(e.index)]=int(e.state) 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) try: interfaceKit.closePhidget() except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting....") exit(1) for index in range(len(arrInState)): print ("%i" % arrInState[index]) exit(0) 

Artículos Relacionados

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
Home Automation frambuesa y Phidgets

Home Automation frambuesa y Phidgets

En tutoriales anteriores hemos utilizado Frambuesa Pi Phidgets InterfaceKit en coche. Contamos con también configurar un servidor web en frambuesa.En este tutorial que vamos a utilizar la información recopilada para crear un sistema de automatización
El centro de automatización de frambuesa Pi-Arduino-SignalR hogar

El centro de automatización de frambuesa Pi-Arduino-SignalR hogar

Después de un par de mi preludio IBLEs publicado aquí y aquí, este proyecto toma el primer paso hacia la construcción de una versión básica de un funcional Inicio Centro de automatización.He utilizado varias tecnologías diferentes en un esfuerzo para
Seguridad para el hogar bricolaje y automatización con frambuesa Pi 2

Seguridad para el hogar bricolaje y automatización con frambuesa Pi 2

En este instructable le detallo mis métodos para crear una totalmente personalizada Inicio sistema de seguridad y automatización.Se trata de un trabajo en progreso, y que iré añadiendo a él como ir.Por ahora ofrezco un desglose de los objetivos de es
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
Frambuesa Pi por parte de la Amateur Radio VOIP (Echolink) 1,2 y 3

Frambuesa Pi por parte de la Amateur Radio VOIP (Echolink) 1,2 y 3

es un transceptor de radio aficionado conectado en un Raspberry Pi y cargado con el software de Echolink (SVXLINK). Uno puede usar esto con una batería de 12V y conectarse a la red de echolink. Ver video parte 1, 2 y 3.Software en uso es SVXLINK en:h
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
Cómo hacer un superordenador de frambuesa Pi!

Cómo hacer un superordenador de frambuesa Pi!

Por sí mismo la frambuesa Pi no cuentan con especificaciones impresionantes. Pero con el precio baratísimo, comprar varios de estos y la conexión que uso están que combina la potencia de procesamiento potencialmente podría hacer un ordenador de bajo
Principiantes guían de instalación y configuración de Octoprint en un frambuesa pi para impresión 3D

Principiantes guían de instalación y configuración de Octoprint en un frambuesa pi para impresión 3D

Si usted ha leído alguno de mi instructables otros, más notables los novatos completado paso a paso, la impresora 3D con todas las piezas listas, sabes que recuerdo mis propias frustraciones incompletas instrucciones y guías incluso después de que fi
Ornamento de la frambuesa para la decoración jewlary y mermelada de

Ornamento de la frambuesa para la decoración jewlary y mermelada de

Quitar los tallos y las semillas, poner en una olla, agregar azúcar y gelfix, dejarlo hervir durante cinco minutos y verter en frascos.Hecho en casa gusto mermeladas gran. Hacen un regalo perfecto. Si sólo había una manera de hacer un aburrido tarro
Conocer frambuesa Pi

Conocer frambuesa Pi

Este es un muy simple instructivo para aquellos que consiguieron un nuevo PI de frambuesa y una cara de Pi y se pregunta qué pueden hacer.Este instructable es también documentada en Makeystreet.com - Makey: conocer frambuesa PIPartes utilizadas:Framb
Hacer una consola de frambuesa Pi

Hacer una consola de frambuesa Pi

En este instructable podrás hacer tu propia consola retro y cool para mostrar a todos tus amigos. Esto pasará por todos los pasos desde el software al edificio y es amigable para principiantes. Si te gusta esta votación por favor instructable para es
Cupcakes de frambuesa | Josh Pan

Cupcakes de frambuesa | Josh Pan

¡ Hola! Soy Josh Pan, y esta es mi nueva receta de Cupcake de frambuesa que surgió para inaugurar el verano. Son muy fáciles de hacer y perfecto para las partes. Aprende a hacer que estos en 10 simples pasos o ver el vídeo para más detalles. ¡ Gracia
Tabla de conversión A/D digital y pantalla de GUI voltaje análogo frambuesa pi

Tabla de conversión A/D digital y pantalla de GUI voltaje análogo frambuesa pi

Este instructable es acerca de la construcción y operación de un Consejo de A/D "diferencial" de 16/18 BIT 4 canales. Se basa en el MCP3428/MCP3424 y se comunica con el PI de frambuesa vía I2C. El diseño fue elegido para permitir que una tabla o