[PYTHON] J'ai tweeté l'éclairement de la pièce avec Raspberry Pi, Arduino et un capteur optique

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

Les choses nécessaires

Préparation

--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.

  1. Consumer key
  2. Consumer secret
  3. Access token
  4. Access token secret

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

Côté Arduino

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);
}

Côté Raspberry Pi

--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

Recommended Posts

J'ai tweeté l'éclairement de la pièce avec Raspberry Pi, Arduino et un capteur optique
Utilisez le capteur d'éclairement numérique TSL2561 avec Raspberry Pi
Consigner périodiquement les valeurs des capteurs d'environnement Omron avec Raspberry Pi
Un mémo pour utiliser simplement le capteur d'éclairement TSL2561 avec Raspberry Pi 2
Enregistrement des valeurs du capteur d'environnement Omron avec Raspberry Pi (type USB)
MQTT Radicon Car avec Arduino et Raspberry
J'ai fait un package npm pour obtenir l'ID de la carte IC avec Raspberry Pi et PaSoRi
[Pour les débutants] J'ai fait un capteur humain avec Raspberry Pi et notifié LINE!
Visualisons la pièce avec tarte aux râpes, partie 1
Prenez la valeur du thermo-hygromètre SwitchBot avec Raspberry Pi
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
J'ai essayé d'exécuter Movidius NCS avec python de Raspberry Pi3
J'ai essayé de connecter Raspeye et conect + avec l'API Web
Production de système de contrôle de température avec tarte aux framboises et ESP32 (1)
J'ai envoyé les données de Raspberry Pi à GCP (gratuit)
J'ai créé un système avec Raspberry Pi qui mesure périodiquement l'indice d'inconfort de la pièce et envoie une notification LINE s'il s'agit d'une valeur dangereuse
J'ai comparé la vitesse de Hash avec Topaz, Ruby et Python
J'ai appris comment la télécommande infrarouge fonctionne avec Raspberry Pi
Affichage graphique de la consommation électrique des ménages avec 3GPI et Raspeye
J'ai remplacé le calcul numérique de Python par Rust et comparé la vitesse
Surveillance des animaux avec Rekognition et Raspberry pi
[J'ai touché le Raspberry Pi (1)] J'ai résumé les opérations de base de Minecraft Pi Edition (2015.5.23 pré-version)
Remarque: je souhaite faire de la domotique avec Home Assistant + Raspberry Pi + capteur # 1
Acquérir la valeur du capteur de Grove Pi + avec Raspberry Pi et la stocker dans Kintone
Utiliser le capteur Grove avec Raspberry Pi
J'ai vectorisé l'accord de la chanson avec word2vec et je l'ai visualisé avec t-SNE
Capteur humain amélioré fabriqué avec Raspberry Pi
Ce que j'ai fait quand je ne pouvais pas trouver le point caractéristique avec le flux optique d'opencv et quand je l'ai perdu
Utiliser le capteur de mouvement PIR avec Raspberry Pi
J'ai mesuré la vitesse de la notation d'inclusion de liste, pendant et pendant avec python2.7.
Lisez les données du lecteur NFC connecté à Raspberry Pi 3 avec Python et envoyez-les à openFrameworks avec OSC
Production d'un système de contrôle de température avec tarte aux framboises et ESP32 (2) Production d'un appareil de transmission
Construction VPN simple de la passerelle IPsec avec Ubuntu 20.04 et Raspberry Pi ―― 1. StrongSwan introduit
Fabriquez un thermomètre avec Raspberry Pi et rendez-le visible sur le navigateur Partie 3
Connectez-vous à la console Raspberry PI et affichez les informations IP et SD locales
J'ai essayé de créer un environnement Ubuntu 20.04 LTS + ROS2 avec Raspberry Pi 4
Informer périodiquement l'état de traitement de Raspberry Pi avec python → Google Spreadsheet → LINE
J'ai comparé la moyenne mobile du type de filtre IIR avec les pandas et scipy
J'ai joué à Ruina du RPG Tsukuru 2000 ~ The Story of the Abandoned City ~ sur Raspberry Pi
J'ai essayé L-Chika avec Razpai 4 (édition Python)
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
Observez le groupe de météores Futago avec RaspberryPi4
Obtenez des informations sur le processeur de Raspberry Pi avec Python
Raspberry + am2302 Mesure la température et l'humidité avec un capteur de température et d'humidité
J'ai lu et implémenté les variantes de UKR
Obtenez la température et l'humidité avec DHT11 et Raspberry Pi
Mesurer la température du processeur de Raspeye avec Python
Une histoire sur l'obtention du champ Atom (télégramme XML) de l'Agence météorologique avec une tarte à la râpe et de le tweeter
Modifiez et déboguez le code dans Raspberry Pi avec la fonction de connexion SSH de VSCode
Réalisez une maison super IoT en acquérant des données de capteur dans la maison avec Raspberry Pi
Quand j'ai essayé de faire une communication socket avec Raspberry Pi, le protocole était différent
Construction VPN simple de la passerelle IPsec avec CentOS 8 et openSUSE (Raspberry Pi) --1 Introduction de StrongSwan
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
Je voulais juste extraire les données de la date et de l'heure souhaitées avec Django
Construction VPN simple de la passerelle IPsec avec Ubuntu 20.04 et Raspberry Pi --2 Confirmation de connexion VPN StrongSwan
J'ai essayé de comparer la vitesse de traitement avec dplyr de R et pandas de Python
Je souhaite être informé de l'environnement de connexion lorsque RaspberryPi se connecte au réseau