Phidgets WhatsApp - demander le statut de vos capteurs (2 / 3 étapes)

Étape 2: Préparer le système fonctionne avec Python

Le fichier ifkit.py est une version modifiée du fichier InterfaceKit-simple.py inclus dans les exemples publiés par Phidgets, puis télécharger la bibliothèque et des exemples de Phidgets.

Télécharger les bibliothèques Python :

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

Parce que les bibliothèques viennent sous forme d’une archive zippée, nous aurons probablement besoin installer le support zip

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

Maintenant, nous pouvons installer les bibliothèques Python :

 python setup.py install 

Et télécharger les exemples :

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

Modifiez le fichier qui aura ce contenu

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

Certaines des modifications apportées au code d’origine sont la lecture des entrées analogiques 0 et 1 par rapport à la température et l’humidité. Les formules de conversion sont fournis par Phidgets pour chaque type de capteur. La dernière ligne appelez le fichier send.sh qui gère whatsapp.

Créer une nouvelle /yowsup/src/send.sh fichier avec ce contenu

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

Remplacer xxxxxxxx avec votre numéro de destinataire.

Ce fichier est chargé d’envoyer les variables température et humidité via WhatsApp, puis met le système à l’écoute des nouveaux messages.

Articles Liés

Sauver le monde une goutte à la fois, partie 3: Mise en réseau de vos capteurs

Sauver le monde une goutte à la fois, partie 3: Mise en réseau de vos capteurs

Pour ce projet, j'ai travaillé avec Will Buchanan - parties 1 et 2 - pour créer un système de domotique que les titres d'eau utilisation dans l'ensemble d'appareils dans la maison, (évier, douche, toilette, etc.). À l'aide de files d'attente visuels
Utilisez vos capteurs de Téléphone android sur l’arduino !

Utilisez vos capteurs de Téléphone android sur l’arduino !

Bonjour, ceci est mon tout premier étape par étape instructable et aujourd'hui, nous allons apprendre comment les capteurs dans votre smartphone android peuvent communiquer avec votre arduino.Dans les smartphones modernes, il y a beaucoup de capteurs
WhatsApp sur framboise Pi

WhatsApp sur framboise Pi

Dans ce tutoriel nous allons voir comment utiliser WhatsApp avec Raspberry Pi.Nous allons utiliser la bibliothèque de Yowsup , nous avions déjà utilisé dans ces didacticiels : WhatsApp Messagedu Phidgets SBC , Phidgets WhatsApp - demander le statut d
Télécommande framboise avec télégramme

Télécommande framboise avec télégramme

Télégramme est un logiciel de messagerie instantanée très polyvalent qui peut être utilisé simultanément avec le même numéro de téléphone sur les divers périphériques.Dans ce tutoriel , nous avons vu comment l'installer, et nous avons essayé d'envoye
Un Quadcopter SK450 de chat mort pour appeler vos propres

Un Quadcopter SK450 de chat mort pour appeler vos propres

Avant que nous commencions, je veux juste prendre la première phrase de ce Instructable pour vous faire savoir qu'il n'y a pas de chats morts impliqués dans la fabrication de la quadcopter décrite dans les étapes à venir. Le titre de ce Instructable
Capteur de niveau du réservoir eau distance V2.0

Capteur de niveau du réservoir eau distance V2.0

Ce projet est un re-démarrage d'un projet de 2 ans pour accomplir la même chose. L'objectif est d'avoir un capteur compatible internet, monté sur un réservoir d'eau qui mesure la quantité d'eau dans le réservoir et il enregistre en ligne. Lorsque le
Éclairage d’escalier LED avec capteur de voyage IR

Éclairage d’escalier LED avec capteur de voyage IR

jamais se lever au milieu de la nuit et aller trébuchant vers le couloir lumineux qu'à voyage sur votre chat et tomber vers le bas de votre escalier et bash votre tête sur le mur au fond ? J'ai pas non plus ! Mais si vous avez peur de ce qui se passe
À l’aide de boutons et capteurs pour faire de la musique avec l’Edison Intel

À l’aide de boutons et capteurs pour faire de la musique avec l’Edison Intel

ObjectifsMettre à l'aise à l'aide de l'Edison au prototype, un projet de matérielCréer une application simple de Node.jsJouer avec la puissance de WebSockets et mise en réseau en temps réelTirer parti des Cylon.js facilité d'utilisation lorsqu'il s'i
Ligne de capteurs pour les Robots bon marchés

Ligne de capteurs pour les Robots bon marchés

Bon retour à tout le monde qui suit ainsi que ma série pour les Robots bon marché ! Pour ceux d'entre vous qui n'êtes pas si familier avec ce que je fais ici, pour les Robots bon marché est une série que j'ai fais sur Instructables tout sur comment v
Capteur tactile fil conducteur

Capteur tactile fil conducteur

Après avoir testé l'évasion de capteur tactile capacitif avec divers matériaux de tissu conducteur, j'ai voulu créer un tableau de traces de fil conducteur qui pourrait être utilisé pour activer le capteur tactile à la place. Cette instructable démon
Plus simple objet Counter & salle électricité contrôleur en utilisant Arduino et capteurs IR

Plus simple objet Counter & salle électricité contrôleur en utilisant Arduino et capteurs IR

Il est tout à fait simple et C00L... Object_Counter, qui compte des objets. qui sont venant à l'intérieur de porte dans la pièce et aller à l'extérieur de la porte. Il s'agit d'un projet polyvalent que cela fonctionne comme un compteur de l'objet com
Simple choc/Vibration/Capteur

Simple choc/Vibration/Capteur

Il s'agit d'un simple interrupteur capteur pouvant détecter les chocs et les vibrations. Il est composé d'un ressort, deux fils de raccordement, trois morceaux de fil de ferraille et un microcontrôleur (facultatif). Ce capteur pourrait fonctionner à
Applications industrielles de l’ITO - capteurs externes + charge w / USB Android aka Micro USB Host OTG-câble Y w / Power

Applications industrielles de l’ITO - capteurs externes + charge w / USB Android aka Micro USB Host OTG-câble Y w / Power

** Mise à jour : L'article ci-dessous provient de notre héritage app Android ! VAlarm est industrielle IoT. Nous aiderons à vous, vos équipes et votre entreprise avec des applications industrielles de l'ITO utilisant Valarm outils Cloud.Nous vous rec
Votre propre capteur de couleur à l’aide de LEDs

Votre propre capteur de couleur à l’aide de LEDs

Saviez-vous que vous pouvez faire un « bon marché » mais capteur couleur efficace à l'aide de certains composants de base ?Cette volonté instructable super-facile guide vous faire votre propre couleur à l'aide de la sonde un tas de LEDs et un LDR.J'a