Phidgets WhatsApp - pedir el estado de sus sensores (2 / 3 paso)

Paso 2: Preparar el sistema para trabajar con Python

El archivo ifkit.py es una versión modificada del archivo InterfaceKit-simple.py incluido en los ejemplos publicados por Phidgets, luego descargar la librería y ejemplos de Phidgets.

Descargar las librerías de Python:

 wget http://www.phidgets.com/downloads/libraries/PhidgetsPython.zip 

Porque las bibliotecas vienen como un archivo comprimido, probablemente tendremos que instalar el soporte de zip

 apt-get install zip unzip 
 unzip PhidgetsPython.zip 
 cd PhidgetsPython/ 

Ahora podemos instalar las librerías de Python:

 python setup.py install 

Y descargar los ejemplos:

 wget http://www.phidgets.com/downloads/examples/Python.zip 
 unzip Python.zip 
 cd Python/ 
 cp InterfaceKit-simple.py /yowsup/src/ifkit.py 

Editar el archivo que tendrá este contenido

 #!/usr/bin/env python """Copyright 2010 Phidgets Inc. This work is licensed under the Creative Commons Attribution 2.5 Canada License. To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ca/ """ __author__ = 'Adam Stelmack' __version__ = '2.1.8' __date__ = 'May 17 2010' #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 #Create an interfacekit object try: interfaceKit = InterfaceKit() except RuntimeError as e: print("Runtime Exception: %s" % e.details) print("Exiting....") exit(1) #Information Display Function def displayDeviceInfo(): print("|------------|----------------------------------|--------------|------------|") print("|- Attached -|- Type -|- Serial No. -|- Version -|") print("|------------|----------------------------------|--------------|------------|") print("|- %8s -|- %30s -|- %10d -|- %8d -|" % (interfaceKit.isAttached(), interfaceKit.getDeviceName(), interfaceKit.getSerialNum(), interfaceKit.getDeviceVersion())) print("|------------|----------------------------------|--------------|------------|") print("Number of Digital Inputs: %i" % (interfaceKit.getInputCount())) print("Number of Digital Outputs: %i" % (interfaceKit.getOutputCount())) print("Number of Sensor Inputs: %i" % (interfaceKit.getSensorCount())) #Event Handler Callback Functions def interfaceKitAttached(e): attached = e.device print("InterfaceKit %i Attached!" % (attached.getSerialNum())) 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 # print("InterfaceKit %i: Input %i: %s" % (source.getSerialNum(), e.index, e.state)) def interfaceKitSensorChanged(e): source = e.device # print("InterfaceKit %i: Sensor %i: %i" % (source.getSerialNum(), e.index, e.value)) def interfaceKitOutputChanged(e): source = e.device # print("InterfaceKit %i: Output %i: %s" % (source.getSerialNum(), e.index, e.state)) #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) print("Opening phidget object....") try: interfaceKit.openPhidget() except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting....") exit(1) print("Waiting for attach....") 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: # displayDeviceInfo() temperature=(interfaceKit.getSensorValue(0)*0.22222)-61.11 humidity=(interfaceKit.getSensorValue(1)*0.1906)-40.2 print("Closing...") try: interfaceKit.closePhidget() except PhidgetException as e: print("Phidget Exception %i: %s" % (e.code, e.details)) print("Exiting....") exit(1) print("Done.") os.system('sh ./send.sh '+str(temperature)+ ' ' +str(humidity)) exit(0) 

Algunos de los cambios realizados en el código original, son la lectura de las entradas analógicas de 0 y 1 en relación con la temperatura y la humedad. Las fórmulas de conversión son proporcionadas por Phidgets para cada tipo de sensor. La última línea llamada la send.sh de archivo que maneja whatsapp.

Crear un nuevo /yowsup/src/send.sh archivo con este contenido

 #!/bin/bash echo "Current temperature is $1 °C" echo "Current humidity is $2 %" python yowsup-cli -c config.example -w -s 39xxxxxxxxxx "Current temperature is $1 and current humidity is $2" python yowsup-cli -c config.example -k -a -l exit 0 

Reemplazar xxxxxxxx con su número de receptores.

Este archivo es responsable de enviar las variables temperatura y humedad a través de WhatsApp, entonces pone el sistema en la escucha de nuevos mensajes.

Artículos Relacionados

Salvar el mundo una gota a la vez, parte 3: Redes sus sensores

Salvar el mundo una gota a la vez, parte 3: Redes sus sensores

Para este proyecto he trabajado con Will Buchanan - partes 1 y 2 - crear un sistema de domótica que pistas agua uso en partidos en casa (fregadero, ducha, WC etc.). Utilizando colas visuales (incluyendo color de la luz, duración e intensidad) en cada
Utilizan sus sensores de teléfono android en el arduino!

Utilizan sus sensores de teléfono android en el arduino!

Hola, este es mi primer paso a paso instructable y hoy, vamos a aprender cómo los sensores en su smartphone android pueden comunicarse con su arduino.En los teléfonos inteligentes modernos, hay un montón de sensores útiles para un proyecto de arduino
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
Control remoto de frambuesa con telegrama

Control remoto de frambuesa con telegrama

Telegrama es un programas de mensajería instantánea muy versátil que pueden utilizarse con el mismo número de teléfono en diferentes dispositivos simultáneamente.En este tutorial hemos visto cómo instalarlo, y tratamos de enviar mensajes de texto y l
Básico de domótica con Phidgets

Básico de domótica con Phidgets

Este sencillo proyecto llevará a través de los fundamentos de algunos sensores interiores y automatización del hogar establecido. El proyecto se ejecuta de un SBC Phidgets, leerá con luz y sonido y encender y apagar una luz remota. Realmente puede cr
Paquete de Sensor Bluetooth LE van-dondequiera

Paquete de Sensor Bluetooth LE van-dondequiera

IntroducciónEn los últimos años, los dispositivos portátiles han ganado mucha popularidad debido a su capacidad para dar información instantánea y precisa acerca de su entorno local. Algunos de estos dispositivos incluyen Sensordrone, Ciudadano intel
Usando los botones y sensores para hacer música con el Edison de Intel

Usando los botones y sensores para hacer música con el Edison de Intel

ObjetivosSentirse cómodo con el Edison al prototipo de un proyecto de hardwareConstruir una sencilla aplicación de Node.jsJugar con el poder de WebSockets y redes de tiempo realAprovechar de Cylon.js fácil de usar interfaz con botones y sensoresExplo
O2 Luz del motor del cheque Sensor recambio - adiós

O2 Luz del motor del cheque Sensor recambio - adiós

Compré un Ford ranger 98 XLT hace varios meses y han estado trabajando a través de ella cuestiones de fijación cuando el tiempo lo permite. Hoy he decidido los trastos molestos del motor del cheque ligero que ha sido desde que compré el vehículo. Est
Sensores de infrarrojos MultiTouch para aumentar los objetos y la piel humana

Sensores de infrarrojos MultiTouch para aumentar los objetos y la piel humana

He estado construyendo costumbre IR soluciones de detección por un tiempo ahora. Estos incluyen sensores de proximidad, sensores de detección de objeto y sensores al tacto much. La intención detrás de este instructable es compartir algunas de las exp
SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

Actualizaciones23 de noviembre de 2013: SensoDuino 0.160 obtiene una cara izquierda.19 de noviembre. 2031: opinión: la increíble sinergia entre Arduino y Android.19 de noviembre de 2013: SensoDuino 0.159 está hacia fuera. Fecha teléfono Android (y, m
Sensor capacitivo para Dummies

Sensor capacitivo para Dummies

Para alguien nuevo en electrónica, detección capacitiva puede ser realmente confuso. Incluso para alguien que ha estado explorando la detección capacitiva durante una semana, es todavía muy confusa. Por suerte, esto tendrá esta guía práctica que te a
Sensor ultrasónico con pantalla LCD de

Sensor ultrasónico con pantalla LCD de

Hey los fabricantes,Este es mi primer instructables, lo siento si me lio hacia fuera con algo. Durante mucho tiempo he estado pensando de usando el sensor ultrasónico Distanciómetro y a mostrar sus lecturas en la pantalla LCD. Vine a través de muchos
Sistema de Sensor inteligente independiente

Sistema de Sensor inteligente independiente

El Sensor inteligente independiente (SIS) es un barato construir usted mismo sistema que procesa información de una variedad de sensores inalámbricos pasivas para crear un registro de sellos que contienen información significativa e inferencias acerc
Sensores de fuerza marco de estructura de espacio

Sensores de fuerza marco de estructura de espacio

marcos del espacio son super eficientes estructuras de piezas rectas de material, unido en sus extremos para formar las formas 3D complejas.Puede mirar como este, esteo . Puede ser gigantescos, pero también son frescas a pequeña escala, como este que