Nous vous expliquerons comment créer un système qui acquiert la luminosité d'une pièce à l'aide d'un Arduino et d'un capteur optique et tweete les informations acquises du Raspberry Pi.
Le code est publié sur GitHub. https://github.com/Choke222/Arduino_RaspberrPi
--Création d'une application Twitter
Afin de lier Rasbery Pi et Twitter, vous devez créer une application Twitter. Plus précisément, les quatre informations suivantes sont acquises.
Site de référence: création d'une application Twitter (clé du consommateur, secret du consommateur, jeton d'accès, méthode de confirmation du secret du jeton d'accès) % E3% 83% AA% E3% 82% B1% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3% E3% 81% AE% E4% BD% 9C% E6 % 88% 90% EF% BC% 88consumer-key% E3% 80% 81consumer-secret% E3% 80% 81access-token% E3% 80% 81access-token-secret /)
--Installez le package sur python sur Raspberry Pi
sudo apt-get update
sudo apt-get install python-setuptools
sudo easy_install pip #Installer la commande pip
sudo pip install twython #Installez twython avec la commande pip
--Création de circuits
Créé à l'aide d'un élément CdS et d'une résistance de 10 kΩ. Site de référence: Circuit du capteur d'éclairage
arudino_cds.ino
int pin = 0; //Numéro de broche du capteur
int get_a0 = 0; //Acquisition des données du capteur
int flag = 0;
int s=0;
void setup(){
Serial.begin(9600);
}
void loop()
{
get_a0 = analogRead(pin); //Obtenir les données du capteur d'éclairement
s = 0;
Serial.println(s); //Sortie vers moniteur série
if ( get_a0 <= 200 ) {
if(flag == 0){
s = 1000;//OFF!
Serial.println(s); //Sortie vers moniteur série
}
flag=1;
} else if ( get_a0 > 200 ) {
if(flag == 1){
s = 2000;//ON
Serial.println(s); //Sortie vers moniteur série
}
flag=0;
}
delay(200);
}
--Divers importations
tweet_cds.py
import serial
import time
import os
from twython import Twython
tweet_cds.py
#print('Entrez vos identifiants Twitter')
CONSUMER_KEY = 'xxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxx'
ACCESS_KEY = 'xxxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxx'
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
--Paramètres pour la communication série avec Arduino
tweet_cds.py
#print('Démarrer la communication série')
ser = serial.Serial('/dev/ttyACM0', 9600)
tweet_cds.py
while 1:
data = ser.readline()#Lecture des données d'Arduino
data2 = int(data)#Convertir en type int
print('Surveillance de l'éclairage des pièces' + time.ctime() + ',' + 'Situation d'éclairage' + ',' + str(data))
#Tweet les informations d'éclairement acquises
if data2 == 2000:
print('Les lumières sont allumées!')
api.update_status(status= time.ctime()+'Bonjour!')
time.sleep(1)
elif data2 == 1000:
print('Les lumières sont éteintes!')
api.update_status(status= time.ctime()+'bonne nuit')
time.sleep(1)
Pour ton information