Wir werden erklären, wie mit einem Arduino und einem optischen Sensor ein System erstellt wird, das die Helligkeit eines Raums erfasst und die vom Raspberry Pi erfassten Informationen twittert.
Der Code wird auf GitHub veröffentlicht. https://github.com/Choke222/Arduino_RaspberrPi
--Erstellen einer Twitter-Anwendung
Um Rasbery Pi und Twitter zu verknüpfen, müssen Sie eine Twitter-Anwendung erstellen. Insbesondere werden die folgenden vier Informationen erfasst.
Referenzseite: Erstellen einer Twitter-Anwendung (Verbraucherschlüssel, Verbrauchergeheimnis, Zugriffstoken, geheime Bestätigungsmethode für Zugriffstoken) % 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% 88Konsumentenschlüssel% E3% 80% 81Konsumentengeheimnis% E3% 80% 81Zugriffstoken% E3% 80% 81Zugriffstokengeheimnis /)
--Installieren Sie das Paket auf Python auf Raspberry Pi
sudo apt-get update
sudo apt-get install python-setuptools
sudo easy_install pip #Installiere den Befehl pip
sudo pip install twython #Installieren Sie twython mit dem Befehl pip
Erstellt mit einem CdS-Element und einem 10kΩ-Widerstand. Referenzseite: Beleuchtungssensorschaltung
arudino_cds.ino
int pin = 0; //Sensor-Pin-Nummer
int get_a0 = 0; //Erfassung von Sensordaten
int flag = 0;
int s=0;
void setup(){
Serial.begin(9600);
}
void loop()
{
get_a0 = analogRead(pin); //Daten vom Beleuchtungsstärkesensor abrufen
s = 0;
Serial.println(s); //Ausgabe an seriellen Monitor
if ( get_a0 <= 200 ) {
if(flag == 0){
s = 1000;//OFF!
Serial.println(s); //Ausgabe an seriellen Monitor
}
flag=1;
} else if ( get_a0 > 200 ) {
if(flag == 1){
s = 2000;//ON
Serial.println(s); //Ausgabe an seriellen Monitor
}
flag=0;
}
delay(200);
}
tweet_cds.py
import serial
import time
import os
from twython import Twython
tweet_cds.py
#print('Geben Sie Ihre Twitter-Anmeldeinformationen ein')
CONSUMER_KEY = 'xxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxx'
ACCESS_KEY = 'xxxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxx'
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)
tweet_cds.py
#print('Starten Sie die serielle Kommunikation')
ser = serial.Serial('/dev/ttyACM0', 9600)
tweet_cds.py
while 1:
data = ser.readline()#Daten von Arduino lesen
data2 = int(data)#In int-Typ konvertieren
print('Raumbeleuchtungsüberwachung' + time.ctime() + ',' + 'Beleuchtungssituation' + ',' + str(data))
#Twittern Sie die erfassten Informationen zur Beleuchtungsstärke
if data2 == 2000:
print('Die Lichter sind an!')
api.update_status(status= time.ctime()+'Guten Morgen!')
time.sleep(1)
elif data2 == 1000:
print('Die Lichter sind aus!')
api.update_status(status= time.ctime()+'Gute Nacht')
time.sleep(1)
für Ihre Information