[PYTHON] Créer un système de notification des visiteurs à l'aide de Raspberry Pi
Aperçu
- En tant qu'interphone pour les maisons individuelles, il existe un produit qui envoie une notification aux visiteurs par e-mail.
- Les logements locatifs ne peuvent utiliser que le matériel fourni et ne peuvent être modifiés
- Créez un système qui prend les images de la caméra et les envoie par e-mail en réponse à un appel interphone
Que préparer
- Raspberry Pi3 modèle B (4 est probablement correct)
- Cas pour Raspberry Pi
- Dissipateur de chaleur pour Raspberry Pi
- Raspberry Pi3 modèle B B + ensemble d'alimentation compatible (5V 3.0A)
- Module de capteur d'intensité lumineuse numérique GY-30 I2C
- Signer le module de caméra intelligente pour le module de caméra Raspberry Pi pour Raspberry Pi
- Fil de raccordement femelle-femelle
- Tube thermorétractable
- Support de livre (magasin de 100 yens)
Environnement
- Configurer le système d'exploitation Raspberry Pi et activer I2C
https://www.raspberrypi.org/downloads/
https://www.indoorcorgielec.com/resources/raspberry-pi/raspberry-pi-i2c/
- Être capable d'envoyer Gmail avec mutt
http://www.tapun.net/raspi/raspberry-pi-ssmtp-mutt
Assemblée
Connectez le Raspberry Pi, le capteur optique (GY-30) et la caméra comme suit
- La disposition des broches de Raspberry Pi est omise.
- Installez un capteur optique sur l'écran de l'interphone (utilisez le fait que l'écran devient plus lumineux lors de l'appel)
la programmation
- Boucle avec une instruction while en Python, et lorsque la valeur du capteur optique atteint 200 Lux ou plus,
Prenez une photo avec un appareil photo et enregistrez-la au format jpg (écrasez-la chaque fois que vous prenez une photo)
- Ecrire temporairement (écraser) la date de prise de vue dans un fichier texte
body.txt
- Utilisez mutt et Gmail pour envoyer un e-mail avec la date de la prise de vue dans le corps
guest.sh
- Réglez un temps de sommeil de 5 minutes (sachant qu'après un appel avec verrouillage automatique, il sera rappelé avec l'interphone dans la chambre)
- Faire démarrer
guest.py
automatiquement au démarrage de Raspberry Pi
Programme principal
/home/pi/guest/guest.py
import smbus
import picamera
import time
import subprocess
bus = smbus.SMBus(1)
addr = 0x23
camera = picamera.PiCamera()
while True:
luxRead = bus.read_i2c_block_data(addr,0x11)
print("Lux: "+str(luxRead[1]* 10))
if int(luxRead[1]* 10) > 200:
camera.capture('/home/pi/guest/image.jpg')
res = subprocess.call("sh /home/pi/guest/guest.sh",shell=True)
time.sleep(300)
time.sleep(1)
Script Shell pour l'envoi de courrier
/home/pi/guest/guest.sh
sudo date > /home/pi/guest/body.txt
sudo mutt -s "guest arrived!" [email protected] -a /home/pi/guest/image
.jpg < /home/pi/guest/body.txt
Paramètres de démarrage automatique
/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
sudo python3 /home/pi/guest/guest.py &
exit 0
point important
- L'intensité lumineuse (Lux) à détecter varie en fonction de l'interphone, ajustez-la donc.
Pour les types qui éclairent l'écran avec un panneau tactile, vérifiez avec cette fonction
- Le temps de sommeil est ajusté par la distance de la pièce à l'entrée du verrouillage automatique
Essayez d'utiliser
- Parce que j'utilise beaucoup les achats en ligne, il est pratique d'être averti lorsqu'il y a un visiteur lorsque je suis absent.
- Je l'utilise depuis plus d'un an et demi, mais il fonctionne de manière stable.