Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone

Composants et fournitures

Composant Quantité
Arduino UNO R3 1
Module ESP8266 (ESP-01) avec antenne PCB 1
Transistor Darlington haute puissance 1
Serrure à solénoïde (lock-style) 1

Applications et services en ligne

À propos du projet

Ce tutoriel et d'autres projets sont disponibles sur le site officiel d'ElectroPeak.

Vous apprendrez à créer une serrure intelligente pilotée par Arduino, déverrouillable depuis votre téléphone portable. À la fin :

Sécuriser les portes avec une serrure intelligente

La domotique moderne permet d'améliorer la sécurité domicile/bureau à moindre coût. Ce projet utilise une approche sans clavier ni mécanique complexe : un QR code collé sur la porte dirige les utilisateurs autorisés vers une page web locale où ils saisissent leur mot de passe. Si le code est correct, le solénoïde actionne la serrure.

Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone

Schéma de câblage

Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone

Code

Deux programmes sont nécessaires :

  1. ESP8266 : Héberge un serveur web (page de login) et transmet le mot de passe saisi à l'Arduino via le port série.
  2. Arduino : Reçoit le mot de passe et active le solénoïde si celui-ci correspond.

Utilisez l'Arduino IDE pour compiler et téléverser les deux codes. Pour l'ESP8266, ajoutez l'URL du gestionnaire de cartes : https://arduino.esp8266.com/stable/package_esp8266com_index.json dans Fichier > Préférences, puis installez le paquet « Generic ESP8266 Module » via Outils > Board > Board Manager.

Code Arduino (récepteur)

String inputString = "";
bool stringComplete = false;

void setup() {
  Serial.begin(115200);
  inputString.reserve(200);
  pinMode(9, OUTPUT);
}

void loop() {
  if (stringComplete) {
    if (inputString == "votre_mot_de_passe") {
      digitalWrite(9, HIGH);
      delay(300);
      digitalWrite(9, LOW);
    }
    inputString = "";
    stringComplete = false;
  }
}

void serialEvent() {
  while (Serial.available()) {
    char inChar = (char)Serial.read();
    inputString += inChar;
    if (inChar == '\n') stringComplete = true;
  }
}

Code ESP8266 (serveur web)

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char* ssid = "VotreSSID";
const char* password = "VotreMOTDEPASSE";

ESP8266WebServer server(80);
char htmlResponse[3000];

void handleRoot() {
  snprintf(htmlResponse, 3000,
    "<!DOCTYPE html><html><head>"
    "<style>body{background-color:rgb(160,0,53);}h3,p,div{color:white;text-align:center;}input{text-align:center;}</style>"
    "<meta charset='utf-8'><meta name='viewport' content='width=device-width, initial-scale=1'>"
    "</head><body>"
    "<h3>Electropeak Smart Security Door</h3>"
    "<p>Veuillez saisir votre ID</p>"
    "<div>ID: <input type='text' name='pass_word' id='pass_word' size=10 autofocus></div>"
    "<div><br><button id='save_button'>Se connecter</button></div>"
    "<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js'></script>"
    "<script>"
    "var pass; $('#save_button').click(function(e){ e.preventDefault(); pass=$('#pass_word').val(); $.get('/save?pass='+pass); });"
    "</script>"
    "</body></html>");
  server.send(200, "text/html", htmlResponse);
}

void handleSave() {
  if (server.arg("pass") != "") {
    Serial.println(server.arg("pass"));
  }
}

void setup() {
  Serial.begin(115200);
  delay(10);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); }
  Serial.println("\nWiFi connecté");
  Serial.println("Adresse IP : ");
  Serial.println(WiFi.localIP());

  server.on("/", handleRoot);
  server.on("/save", handleSave);
  server.begin();
  Serial.println("Serveur HTTP démarré");
}

void loop() {
  server.handleClient();
}

Après téléversement, ouvrez le moniteur série pour obtenir l'adresse IP de l'ESP8266. Saisissez-la dans un navigateur pour accéder à la page de login. Entrez le bon mot de passe pour déclencher le solénoïde.

Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone

Générer le QR code

Utilisez un générateur en ligne (ex: qr-code-generator.com), collez l'IP locale (ex: https://192.168.1.42) et générez le QR code. Imprimez-le et collez-le près de la porte.

Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone

Pour déverrouiller : connectez-vous au même WiFi, scannez le QR code, saisissez le mot de passe.

Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone

Prochaines étapes

Retrouvez ce tutoriel et d'autres sur le site ElectroPeak.

Processus de fabrication

  1. À l'intérieur des coffres-forts bancaires : histoire, conception et avenir de la sécurité
  2. Construire un robot Raspberry Pi piloté Wi-Fi avec Python – Guide pas à pas
  3. Créer un système Ambilight spectaculaire pour moniteur avec Arduino
  4. Créer un verrou RFID sécurisé avec Arduino – Guide étape par étape
  5. Stores intelligents : contrôle automatisé de la lumière avec Arduino et énergie solaire
  6. Construire un Voltmètre Intelligent avec Arduino et Smartphone – Projet DIY Facile
  7. Moniteur de Fréquence Cardiaque IoT en Temps Réel avec Arduino et MAX30100
  8. Bocal Intelligent IoT avec ESP8266, Arduino et Capteur Ultrasonique – Surveillance Temps Réel
  9. Serrure connectée WiFi avec Arduino et ESP8266 – Déverrouillage par smartphone