Table des matières:

IOT CA2 Secure Smart Home/Chambre : 8 étapes
IOT CA2 Secure Smart Home/Chambre : 8 étapes

Vidéo: IOT CA2 Secure Smart Home/Chambre : 8 étapes

Vidéo: IOT CA2 Secure Smart Home/Chambre : 8 étapes
Vidéo: HOW TO BUILD A SMART APARTMENT | Smart Home Tour 2021 - GIVEAWAY (CLOSED) 2024, Juillet
Anonim
IOT CA2 Maison/Chambre intelligente sécurisée
IOT CA2 Maison/Chambre intelligente sécurisée
IOT CA2 Maison/Chambre intelligente sécurisée
IOT CA2 Maison/Chambre intelligente sécurisée

Table des matières

1 Présentation de Smart Secure Home

2 Configuration matérielle requise + Configuration

3 Configuration logicielle requise + Configuration

4 Enregistrez raspberrypi comme une chose

5 Créer un compartiment S3

6 Configuration de DynamoDB + Règles

7 Résultat attendu

8 codes (de Pastebin)

9 références

Aperçu

Bienvenue! Ce projet Raspberry Pi est un système de gestion « maison intelligente », avec certaines fonctionnalités de sécurité. Le projet est capable de mesurer diverses valeurs telles que la température et la lumière. La section de sécurité se compose d'un Buzzer, d'un système de scanner de carte (carte d'autorisation), d'une caméra intérieure et extérieure ainsi que d'un système d'alerte SMS. Les instructions suivantes couvriront la mise en place de l'ensemble du projet.

Fondamentalement, nous avons une résistance à diode lumineuse et un capteur DHT11 pour obtenir la température ainsi que les valeurs de luminosité. Les valeurs seront ensuite publiées dans « smartroom/capteurs/valeurs » et il y aura un abonnement au sujet pour vérifier si les valeurs sont publiées. Une fois les valeurs publiées, les valeurs seront également envoyées à notre table DynamoDB. Les valeurs stockées dans DynamoDB peuvent être extraites et tracées dans un graphique qui affiche les valeurs en temps réel dans notre interface Web. (Graphique lumineux) En plus d'utiliser les capteurs pour obtenir des valeurs afin de tracer notre graphique à des fins d'analyse, notre capteur dht11 est également utilisé comme détecteur d'incendie potentiel. Lorsqu'il atteint une certaine température qui pourrait être un incendie, nous avons un script nommé publishHeat.py qui publiera la température dans un sujet 'chambre intelligente/capteur/incendie', la maquette qui symbolise l'extérieur de l'appartement s'y abonnera alors sujet et avoir une LED allumée pour indiquer qu'il pourrait y avoir un incendie potentiel. L'alarme se déclenchera également ainsi qu'un SMS pour alerter le propriétaire de la maison lorsqu'il pourrait y avoir un incendie potentiel.

Pour entrer dans la maison/la pièce, l'utilisateur devra taper sa carte sur le scanner RFID. Si la carte tapée est incorrecte, l'alarme sonnera jusqu'à ce qu'une carte avec les bonnes informations d'identification soit tapée. De plus, lorsqu'une carte incorrecte est exploitée, la caméra de surveillance à l'extérieur prend une photo de l'utilisateur qui a exploité la carte et télécharge l'image dans le compartiment S3. Le propriétaire de la maison recevra également un SMS indiquant que quelqu'un a tenté d'entrer dans sa maison. La pièce dispose également d'un indicateur LED à l'extérieur pour étiqueter si la porte est déverrouillée/verrouillée. Lorsque la porte est verrouillée, la LED jaune est allumée. Lorsqu'elle est déverrouillée, la LED verte s'allume. Lorsqu'une carte autorisée est tapée, la porte sera déverrouillée pendant 15 secondes et avec la LED verte allumée, puis reviendra en mode déverrouillé avec la LED jaune allumée.

Les utilisateurs peuvent afficher les données collectées via un tableau de bord dans Node-Red qui affiche les valeurs de mesure actuelles en plus d'une représentation graphique d'une jauge et d'un graphique historique. Le tableau de bord comprend également des fonctionnalités supplémentaires telles qu'une horloge qui affiche les données et l'heure actuelles et des commutateurs pour contrôler à distance divers appareils électriques, qui sont représentés par des LED et un buzzer.

Enfin, nous avons également une fonction de bot télégramme. Le robot télégramme est capable de prendre à distance des photos de tout ce qui se passe dans la pièce et de les stocker dans le seau S3. Ces images seront étiquetées à l'intérieur d'un dossier nommé « Accueil/Utilisateur. Le robot télégramme pourra également contrôler à distance la lumière LED dans la pièce.

Étape 1: Configuration matérielle requise + Configuration

Configuration matérielle requise + configuration
Configuration matérielle requise + configuration
Configuration matérielle requise + configuration
Configuration matérielle requise + configuration

Connectez les composants suivants avec vos 2 pis framboise comme indiqué dans les schémas de frittage ci-dessus.

2 x Raspberry Pi

3 x planche à pain

1 x CAN MCP3008

1 x capteur DhT 11

1 x LDR

1 x lecteur de carte RFID/NFC MFRC522

4 LED

1 écran LCD

3 résistances 10k

4 résistances 220/330

1 bouton

1 x sonnerie

34 x câbles mâle à mâle

11 x câbles mâle à femelle

Étape 2: Configuration logicielle requise + Configuration

Configuration logicielle requise + configuration
Configuration logicielle requise + configuration
Configuration logicielle requise + configuration
Configuration logicielle requise + configuration
Configuration logicielle requise + configuration
Configuration logicielle requise + configuration

Tapez les commandes suivantes dans votre terminal raspberry pi pour vous assurer qu'elles sont installées.

Si l'un des logiciels suivants est déjà téléchargé dans votre pi, sudo pip install (Nom du logiciel) --upgrade fera l'affaire de le mettre à jour.

- sudo pip installer gevent

- flacon d'installation sudo pip

- sudo pip installer nexmo

- sudo pip install --upgrade --force-reinstall pip==9.0.3

- sudo pip install AWSIoTPythonSDK --upgrade --disable-pip-version-check

- sudo pip install --upgrade pip

- sudo apt-get install python-dev

- sudo pip installer boto3

- sudo pip installer botocore

- sudo pip installer numpy

- cd ~

git clone

cd ~/SPI-Py

sudo python setup.py install"

- cd ~

git clone

cd ~/MFRC522-python

sudo python setup.py install"

- sudo nano /boot/config.txt, vérifiez si les lignes device_tree_param=spi=on

dtoverlay=spi-bcm2835 sont à l'intérieur, sinon ajoutez.

Étape 3: Enregistrer une chose

Enregistrer une chose
Enregistrer une chose
Enregistrer une chose
Enregistrer une chose
Enregistrer une chose
Enregistrer une chose
Enregistrer une chose
Enregistrer une chose

a) Tout d'abord, accédez à IoT Core sur le site Web d'AWS en cliquant sur services, puis sur IoT Core.

b) Dans la barre de navigation sous gérer, sélectionnez les choses et choisissez enregistrer une chose.

c) Choisissez Créer une seule chose.

d) Saisissez un nom pour votre objet, par exemple MyRaspberryPi2. Laissez les autres champs par leurs valeurs par défaut. Cliquez sur suivant en bas de la page.

e) Cliquez sur créer un certificat. Téléchargez les quatre fichiers. Pour le fichier racine CA, téléchargez Amazon Root CA 1 et enregistrez-le dans un bloc-notes.

f) Une fois terminé, déplacez les quatre fichiers dans un répertoire de raspberry pi.

g) Cliquez sur Activer.

h) Après avoir cliqué sur joindre la politique, vous serez amené à la page suivante. Cliquez sur enregistrer la chose, la politique sera créée plus tard.

i) Sur le tableau de bord iot, accédez aux politiques dans la section sécurisée. Cliquez sur créer une stratégie.

j) Entrez un nom pour votre stratégie, pour cet exemple, il s'agira de MyRaspberryPiSecurityPolicy et saisissez ce qui suit sous Ajouter des déclarations. Cliquez ensuite sur Créer.

k) Sur le tableau de bord iot, accédez aux certificats dans la section sécurisée. Sélectionnez le certificat que vous avez créé précédemment et cliquez sur Attach policy dans la liste déroulante des actions. Attachez la stratégie que vous avez créée précédemment.

l) Sélectionnez à nouveau le certificat que vous avez créé précédemment et cliquez sur Joindre un objet. Attachez la stratégie que vous avez précédemment créée. Attachez la chose que vous avez créée précédemment.

Étape 4: Création d'un compartiment S3

Création d'un compartiment S3
Création d'un compartiment S3
Création d'un compartiment S3
Création d'un compartiment S3
Création d'un compartiment S3
Création d'un compartiment S3
Création d'un compartiment S3
Création d'un compartiment S3

a) Nous allons commencer par utiliser la fonction de recherche dans la console de gestion AWS et rechercher « s3 ».

b) Cliquez sur créer un bucket.

c) Saisissez un nom pour le compartiment. Pour cet exemple, nous utiliserons le nom "sp-p1703263". Nous choisirons la région "US EAST (N. VIRGINIA)" qui est us-east-1. Après cela, cliquez sur Créer.

d) Le nouveau bucket créé apparaîtra dans le tableau de bord.

Étape 5: Création d'une table DynamoDB et de règles d'ensemble

Création d'une table DynamoDB et de règles d'ensemble
Création d'une table DynamoDB et de règles d'ensemble
Création d'une table DynamoDB et de règles d'ensemble
Création d'une table DynamoDB et de règles d'ensemble
Création d'une table DynamoDB et de règles d'ensemble
Création d'une table DynamoDB et de règles d'ensemble
Création d'une table DynamoDB et de règles d'ensemble
Création d'une table DynamoDB et de règles d'ensemble

a) Tout d'abord, accédez aux services AWS en cliquant sur

services, puis DynamoDB. Cliquez sur créer une table.

b) Saisissez le nom de la table « iotdata » et la clé primaire « deviceid » avec une clé de tri « datetimeid », puis cliquez sur créer en bas de la page.

c) Après cela, revenez à la page IoT Core. Cliquez sur Agir, puis sur créer une nouvelle règle.

d) Créez une règle avec le nom « MyDynamoDBRule ». Sous le sujet de l'instruction de requête de règle, entrez « sensors/light ».

e) Dans la section Définir une ou plusieurs actions, cliquez sur ajouter une action, cliquez sur « diviser le message en plusieurs colonnes d'une table de base de données ». Cliquez sur configurer l'action. Sous le nom de la table, choisissez le iotdata. Sous le nom du rôle IAM, sélectionnez le rôle que vous avez créé précédemment, qui est « dynamodb_role ». Cliquez sur ajouter une action, puis créez une règle.

f) Cliquez sur créer une règle.

Étape 6: Résultat attendu

Résultat attendu
Résultat attendu
Résultat attendu
Résultat attendu

Extérieur

pour le pi représentant l'extérieur de la pièce, les scripts heatdetector.py et AccessDoor.py seront exécutés. Si une mauvaise carte tape sur le scanner RFID, l'alarme se déclenchera, avec le voyant LED jaune toujours allumé. Un SMS sera envoyé sur le téléphone du propriétaire pour signaler une éventuelle intrusion. L'alarme sonnera aussi. Une photo sera également prise et téléchargée instantanément dans S3 Bucket. Si la carte tapée est autorisée, la LED verte s'allumera et l'utilisateur pourra entrer. La porte sera à nouveau verrouillée après 15 secondes (la LED verte s'éteindra et la LED jaune s'allumera de nouveau). Si la température à l'intérieur de la pièce/maison devient trop élevée (à une température que nous considérons comme la maison/pièce potentiellement en feu), nous enverrons une alerte SMS au propriétaire de la maison. L'alarme retentira également avec la LED rouge allumée à l'extérieur.

Intérieur

pour le pi représentant l'intérieur de la pièce, les scripts publishHeat.py, server.py, pubsub.py, telegrambot.py seront exécutés. Pubsub.py stockera les valeurs en temps réel dans DynamoDB. lorsque server.py est exécuté, saisissez l'adresse IP du rpi: 5000 dans le navigateur, vous serez dirigé vers notre interface Web. Nous avons un graphique qui affiche les valeurs de lumière en temps réel obtenues à partir de nos capteurs dans pubsub.py dans DynamoDB. De plus, les valeurs d'éclairage historiques seront également affichées dans notre interface Web. PubliHeat.py publiera les valeurs de température sur la planche à pain extérieure à des fins de capteur d'incendie. telegrambot.py permettra à l'utilisateur de contrôler à distance l'allumage/l'extinction de la lumière LED dans la pièce/maison ainsi que de prendre une photo de ce qui se passe à l'intérieur et de télécharger l'image dans le seau S3.

Pour une meilleure visualisation du résultat attendu:

Étape 7: Codes sources (Pastebin)

Codes sources (Pastebin)
Codes sources (Pastebin)

Clique sur le lien. Se compose de tous les codes sources nécessaires:

Étape 8: Références

Les références
Les références

Iotguider. (2019). Envoyez des SMS depuis Raspberry Pi en utilisant Python. [en ligne] Disponible sur: https://iotguider.in/raspberrypi/send-sms-from-raspberry-pi-python/ [Consulté le 21 août 2019].

Conseillé: