plante quit witte

4
Application : Faire « twitter » une plante quand elle a soif Principe : Un modem UNB est connecté à une sonde d’humidité installée dans le pot qui accueille la plante. Lorsque la terre est sèche, le modem émet un message qui est relayé sur Twitter. Coté sonde d’humidité : Pour la sonde : Vous pouvez utiliser des sondes capacitives du commerce (1) ou la fabriquer vous meme avec un dipole sur circuit imprimé (2) ou deux simples lames conductrices (3) dont la distance sera à adapter selon le milieu dans laquelle elle devra fonctionner. Cette sonde sera plongée en terre dans le pot de votre plante préférée. Associé à un petit montage simple, vous pouvez le relier au modem UNB afin de transmettre l'information de manque d'humidité. (4) La batterie doit supporter un appel en courant de 60mA pendant 1s et doit être couplée à une capacité tampon en parallèle. Un schéma d'un détecteur d'humidité :

Upload: sandrine-gallard

Post on 27-Nov-2015

39 views

Category:

Documents


1 download

DESCRIPTION

Sigfox projects

TRANSCRIPT

Page 1: Plante Quit Witte

Application : Faire « twitter » une plante quand elle a soif

Principe : Un modem UNB est connecté à une sonde d’humidité installée dans le pot qui accueille la

plante. Lorsque la terre est sèche, le modem émet un message qui est relayé sur Twitter.

Coté sonde d’humidité :

Pour la sonde :

Vous pouvez utiliser des sondes capacitives du commerce (1) ou la fabriquer vous meme avec

un dipole sur circuit imprimé (2) ou deux simples lames conductrices (3) dont la distance sera

à adapter selon le milieu dans laquelle elle devra fonctionner. Cette sonde sera plongée en

terre dans le pot de votre plante préférée. Associé à un petit montage simple, vous pouvez le

relier au modem UNB afin de transmettre l'information de manque d'humidité.

(4) La batterie doit supporter un appel en courant de 60mA pendant 1s et doit être couplée à une

capacité tampon en parallèle.

Un schéma d'un détecteur d'humidité :

Page 2: Plante Quit Witte

Pour le coté modem :

Les informations « manque d'humidité » ainsi que « retour à un taux d'humidité normal »

seront détectées par le modem qui fera une émission avec ce changement d'état du capteur.

Ainsi, vous connaitrez le dernier statut d'humidité de votre plante.

Coté applicatif :

Prérequis:

Posséder un compte sur la backend SigFox : http://backend.sigfox.com

Posséder un serveur PHP accessible depuis internet

Posséder un compte Twitter : http://www.twitter.com

Note: un serveur SQL n'est pas nécessaire dans le cadre de notre exemple.

1/ Configurer le backend SigFox pour router les messages reçus vers votre serveur PHP

Rendez-vous sur la page du « device type » correspondant au modem que vous

souhaitez router : http://backend.sigfox.com/devicetype/

Dans la zone "Callbacks", choisissez les options suivantes:

o Type: DATA

o Channel: URL

o Send duplicate: décochée

o Url pattern: http://mon_serveur/twitter?id={device}&t={time}&data={data}

Cliquez sur le bounton "Add" puis "Ok" du formulaire

Page 3: Plante Quit Witte

A partir de maintenant, tous les messages provenant des modems appartenant à ce « device

type » seront envoyés vers votre serveur PHP.

2/ Ecrire un script PHP pour transmettre les messages reçus vers votre compte Twitter

Commencez par télécharger une API PHP pour se connecter à Twitter

ex: https://github.com/abraham/twitteroauth/downloads

Dézippez l'archive sur votre serveur dans votre dossier web "www".

Nommez votre dossier "oauth".

Vous devez avoir l'arborescence suivante :

o www

oauth

callback.php

clearsessions.php

config.php

config.php~

connect.php

DOCUMENTATION

Page 4: Plante Quit Witte

html.inc

images

index.php

LICENSE

README

redirect.php

test.php

twitteroauth

Créer un fichier "index.php" juste à côté du dossier "oauth" dont voici le code :

<?php /* Chargement des libs php */ require_once('oauth/config.php'); require_once('oauth/twitteroauth/twitteroauth.php'); /* Fonction pour obtenir une connection à l'API de Twitter */ function getConnectionWithAccessToken($oauth_token, $oauth_token_secret) { $connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $oauth_token, $oauth_token_secret); return $connection; } /* Demande de la connexion Twitter avec les tokens d'authentification */ $connection = getConnectionWithAccessToken("your_oauth_token", "your_oauth_token_secret"); /* Création du tweet à poster */

$content = "La plante ".$_REQUEST["id"]." a envoyé le message ".$_REQUEST["data"]." à ".date("d/m/Y H:i:s",$_REQUEST["t"]) ; /* Envoi du tweet */ $result = $connection->post('statuses/update', array( "status" => $content )); ?>

Vous devez bien évidemment remplacer "your_oauth_token" et "your_oauth_token_secret"

par vos propres tokens.

Pour ce faire, Vous devez créer vos identifiants Twitter en suivant les instructions qui se

trouvent à l'adresse suivante : https://dev.twitter.com/docs/auth/tokens-devtwittercom et en

vous rendant sur votre espace développeur : https://dev.twitter.com/apps

N'oubliez pas de configurer le fichier "oauth/config.php" avec vos propres identifiants : <?php /** * @file * A single location to store configuration. */ define('CONSUMER_KEY', 'your_consumer_key'); define('CONSUMER_SECRET', 'your_cusomer_secret'); define('OAUTH_CALLBACK', ''); ?>