FAITES-LE VOUS-MÊME : créez une serrure intelligente pour votre maison qui ne s’ouvre qu’avec votre smartphone



Aujourd’hui, il y a tellement de cadenas disponibles sur le marché qu’ils ont besoin d’une sorte de mot de passe pour les ouvrir.
Ces serrures sont très efficaces mais très chères. Si nous devons fabriquer un cadenas à petite échelle automatisé et déverrouillé ou verrouillé sans mot de passe mais avec un smartphone, nous pouvons le faire en utilisant certains composants facilement disponibles sur le marché.



Cette serrure sera très peu coûteuse et fonctionnera parfaitement à petite échelle.
Une application Android sera nécessaire pour faire fonctionner cette serrure. Maintenant, nous allons configurer l’ESP32, installer les packages nécessaires dessus et apporter certaines modifications matérielles !

Fermeture automatique de la porte


Sans perdre de temps, commençons à étudier des concepts importants et à travailler sur ce projet.

Contenu [ Afficher ]


Comment créer le SmartLock sous Android ?


Étape 1 : Assembler les composants


Avant de commencer un projet, s’il y a une peur de se retrouver coincé au milieu du projet et de perdre du temps, il existe une excellente approche pour l’éviter.
Faites une liste complète de tous les composants dont vous aurez besoin dans le projet et achetez-les en premier. Voici la liste complète de tous les composants que nous allons utiliser dans ce projet. Tous ces composants sont facilement disponibles sur le marché.

  • ESP32
  • Câbles de démarrage
  • Chargeur Android
  • Servomoteur
  • Des vis
  • Fermeture
  • Perceuse


Étape 2 : Faire la demande


Puisque nous allons créer une serrure intelligente qui sera actionnée par un téléphone mobile, nous devons développer une application Android contenant un bouton.
En appuyant sur ce bouton, nous pouvons ouvrir ou fermer la serrure intelligente. Auparavant, nous avons développé diverses applications pour les androïdes. Nous avons déjà développé une application qui se compose d’un seul bouton. Ce bouton est utilisé pour soumettre des données à la base de données. Si $ 00271 $ 0027 est enfoncé dans la base de données firebase, le verrou du commutateur s’ouvrira et si $ 00270 $ 0027 est enfoncé dans cette base de données, le verrou sera fermé.


Veuillez consulter notre article intitulé Création d’un interrupteur marche/arrêt sans fil pour votre PC pour obtenir de l’aide dans le développement de votre propre application Android qui sera utilisée pour faire fonctionner la serrure intelligente.


Étape 3 : Assembler les composants


Puisque nous avons une liste complète de tous les composants dont nous avons besoin pour mener à bien ce projet, nous allons intensifier et assembler tous les composants ensemble.


Prenez le servomoteur et connectez son Vcc et sa masse respectivement au Vcc et à la masse de la carte ESP.
Connectez la broche PWM de votre servomoteur à la broche 34 de la carte ESP32. Maintenant, regardez, il y a un bouton de type engrenage sur un servomoteur. Retirer la poignée de la serrure en la tournant et fixer le bouton du motoréducteur dans la serrure à l’aide de quelques adhésifs.


Maintenant, à l’aide de la perceuse, faites des trous dans la porte où vous souhaitez placer cette serrure intelligente.
Assurez-vous de percer les trous de manière à ce que les trous de la serrure chevauchent les trous de la porte, en laissant de la place pour la vis.


Étape 4 : Travail


Comme nous connaissons maintenant l’idée principale derrière ce projet, comprenons comment ce projet va fonctionner.


ESP32 est le cœur de ce projet.
Un servomoteur est connecté à cette carte et ce microcontrôleur a une connexion à la base de données firebase. Cuando el botón de la aplicación es presionado para abrir la cerradura, $00271$0027 es presionado en la base de datos de la base de fuego y cuando el botón es presionado para cerrar la cerradura, $00270$0027 es presionado en la base de datos de la base de feu. La carte ESP lit cette valeur dans la base de données Firebase en continu. Tant qu’il y a un 0, l’ESP32 ordonnera au servomoteur de rester dans sa position initiale. Dès que le 1 entre dans la base de données Firebase, la carte ESP le lira et indiquera au servomoteur de faire une rotation qui ouvre la serrure.


Étape 5 : démarrer avec ESP32


Si vous n’avez jamais travaillé sur l’IDE Arduino auparavant, ne vous inquiétez pas car vous trouverez ci-dessous une étape par étape pour configurer l’IDE Arduino.



  1. Téléchargez la dernière version de l’IDE Arduino depuis Arduino.

  2. Connectez votre carte Arduino au PC et ouvrez le Panneau de configuration.
    Cliquez sur Matériel et son. Ouvrez maintenant Périphériques et imprimante et recherchez le port auquel votre carte est connectée. Dans mon cas, c’est COM14 mais c’est différent sur différents ordinateurs.
    Trouver le port

  3. Cliquez sur Fichier puis sur Préférences.
    Copiez le lien suivant dans l’URL de l’administrateur du conseil supplémentaire. Préférences »
    Https://dl.espressif.com/dl/package_esp32_index.json «

  4. Maintenant, pour utiliser ESP32 avec l’IDE Arduino, nous devons importer des bibliothèques spéciales qui nous permettent de graver du code dans ESP32 et de l’utiliser.
    ces deux bibliothèques sont attachées au lien ci-dessous. Pour inclure la bibliothèque, accédez à Sketch> Inclure la bibliothèque> Ajouter une bibliothèque ZIP. Une boîte apparaîtra. Recherchez le dossier ZIP sur votre ordinateur et cliquez sur OK pour inclure les dossiers.
    Inclure la bibliothèque

  5. Allez maintenant dans Sketch> Inclure la bibliothèque> Gérer les bibliothèques.
    Gérer les bibliothèques

  6. Un menu s’ouvrira.
    Dans la barre de recherche, tapez Arduino JSON. Une liste apparaîtra. Installez Arduino JSON de Benoit Blanchon.
    Arduino JSON

  7. Cliquez maintenant sur Outils.
    Un menu déroulant apparaîtra. Mettez la carte dans ESP Dev Module.
    Tableau de configuration

  8. Cliquez à nouveau sur le menu Outils et définissez le port que vous avez observé précédemment dans le panneau de configuration.
    Port de réglage

  9. Téléchargez maintenant le code attaché au lien ci-dessous et appuyez sur le bouton de téléchargement pour graver le code dans le microcontrôleur ESP32.
    Monter


Alors maintenant, lorsque vous téléchargez le code, une erreur peut se produire.
C’est l’erreur la plus courante qui peut se produire si vous utilisez une nouvelle version de l’IDE Arduino et de l’Arduino JSON. Voici les erreurs que vous pouvez voir à l’écran.

Il n’y a rien à craindre car nous pouvons éliminer ces erreurs en suivant quelques étapes simples. Ces erreurs surviennent parce que la nouvelle version d’Arduino JSON a une autre classe au lieu de StaticJsonBuffer. Il s’agit de JSON classe 5. Nous pouvons donc éliminer cette erreur simplement en téléchargeant la version Arduino JSON de notre IDE Arduino. Nous allons simplement dans Sketch> Inclure la bibliothèque> Gérer les bibliothèques. Recherchez Arduino JSON de Benoit Blanchon que vous avez déjà installé. Désinstallez-le d’abord, puis définissez sa version sur 5.13.5. Maintenant que nous avons établi une ancienne version d’Arduino JSON, réinstallez-la et recompilez le code. Cette fois, votre code sera compilé avec succès.


Pour télécharger le code, cliquez ici.


Étape 6 : Coder


le code de ce projet est très simple, mais certains éléments sont néanmoins expliqués ci-dessous.


1. Au début du code, nous inclurons trois bibliothèques.
La première consiste à activer le Wifi sur la carte ESP, la seconde à permettre à l’ESP d’utiliser le servomoteur et la troisième à connecter la carte ESP à la base de données Firebase. Après cela, nous ajouterons l’hôte firebase, l’authentification, le nom de notre connexion Internet locale et son mot de passe dans le code. Après cela, nous allons créer un objet pour utiliser le servomoteur.

#include // inclut la bibliothèque pour utiliser le WiFi
#include // inclut la bibliothèque pour le servomoteur
#include // inclure la bibliothèque pour se connecter à Firebase
#define FIRE BASE HOST "xxxxxxxxxx" // remplacez xxxxxxxxxx par votre fire base ici
#define FIREBASE_AUTH "xxxxxxxxxx" // remplacez xxxxxxxxxx par votre authentification firebase ici
#define WIFI_SSID "code xx, xxxxxxxx" // remplacez xxxxxxxxx par le nom de notre connexion Wifi
#définir le MOT DE PASSE WIFI "xxxxxxxxxx" // remplacez xxxxxxxxx par votre mot de passe wifi
Servo myservo; // créer un objet pour le servomoteur
int pos = 0 ; // création d'une variable
état entier ; // création d'une variable


2. void setup () est une fonction qui n’est exécutée qu’une seule fois dans un programme lorsque la carte du microcontrôleur est allumée ou que le bouton d’activation est enfoncé.
Le débit en bauds est défini dans cette fonction. Le débit en bauds est en fait la vitesse de communication en bits par seconde à travers laquelle le microcontrôleur communique avec des périphériques externes. Le servomoteur se connecte à la broche 34 de la carte ESP. Dans cette fonction, vous écrivez le code pour connecter le microcontrôleur à la connexion Internet locale.

éviter de définir () {
Serial.begin (115200); // définir le débit en bauds
monservo.attache (34); // connecter la broche PWM du servomoteur à la broche 34 de l'ESP32
monservo.write(60);
retard(1000);
// se connecte au wifi.
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.println("connecter");
while (WiFi.status ()! = WL_CONNECTED) {
Serial.print(".");
retard (500);
}
Serial.println();
Serial.print ("connecté :" );
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}


3. void loop () est une fonction qui s’exécute encore et encore dans une boucle.
Dans cette fonction, nous indiquons au microcontrôleur quelles opérations effectuer et comment. Ici, les données sont lues à partir de la firebase et stockées dans la variable nommée state. Si l’état a la valeur $ 00270 $ 0027, la position du servomoteur est réglée sur 8 degrés. Si la valeur de la variable d’état est égale à 00271 $ 0027 $, la position du servomoteur sera réglée à 55 degrés.

éviter la boucle ()
{
state = Serial.println (Firebase.getFloat ("moteur")); // lit les données de firebase
// Si le statut est 00270 $ 0027 $ le moteur DC s'arrêtera.
oui (statut == 00270 $ 0027 $)
{
monservo.write (8); // position du servomoteur
retard (1000); // attends une seconde
Serial.println ("Porte fermée");
}
plus si (statut == 00271 $ 0027 $)
{
monservo.write (55); // définir la nouvelle position du servomoteur
retard (1000); // attends une seconde
Serial.println("Porte déverrouillée");
}
// erreur de gestion
si (Firebase.failed()) {
Serial.print("le paramètre /numéro a échoué :");
Serial.println(Firebase.error());
Retourner;
}
retard (1000);

Deja un comentario