Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon

Onderdelen en benodigdheden

Onderdeel Aantal Opmerkingen
Arduino UNO R3 1
ElectroPeak ESP8266 WiFi-module met PCB-antenne 1
Darlington High Power Transistor 1
Slot-solenoid 1

Apps en online diensten

  • Arduino IDE

Over dit project

Je kunt deze en andere geweldige tutorials lezen op ElectroPeak's officiële website

In deze tutorial leer je hoe je een op Arduino gebaseerd slim slot maakt dat via je mobiele telefoon geopend kan worden. Aan het einde van dit project:

  • Leer je hoe je een specifieke QR-code genereert.
  • Leer je hoe je een inlogpagina maakt met de ESP8266.
  • Kun je een deur ontgrendelen met je telefoon.

Deuren beveiligen met een slim slot

Deze dagen kun je de beveiliging van je huis of kantoor verbeteren met state-of-the-art technologie. Het gebruik van smartphones en slimme apparaten wordt steeds eenvoudiger en betaalbaarder voor iedereen en is een goede optie om onze spullen slimmer te maken. Elke dag produceren ingenieurs en technici nieuwe systemen en tools waarmee je slimme huishoudautomatisering kunt realiseren en nieuwe manieren kunt bedenken om je leven veiliger en makkelijker te maken. Waarschijnlijk heb je al slimme sloten gezien voor deuren die een toetsenbord of vingerafdruk gebruiken om het slot te openen of te sluiten.

WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon
Concept van een slim slot

In dit project willen we een op Arduino gebaseerd systeem bouwen dat een inlogsectie voor een deur mogelijk maakt via WiFi en een solenoid-slot. We gebruiken geen toetsenbord of ingewikkelde mechanische elementen – dat zijn voordelen van dit systeem. We plakken gewoon een QR-code op de deur en geautoriseerde personen kunnen deze scannen om de inlogpagina te openen en hun wachtwoord in te voeren. Na correcte invoer wordt de solenoid geactiveerd. We gebruiken alleen een Arduino-bord, een driver voor de solenoid en een ESP8266 om verbinding te maken met het lokale WiFi-netwerk. Laten we beginnen.

Schakeling

WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon
Schakeling van het slimme slot

Code

Eerst schrijven we code voor de ESP-01 om een inlogpagina te maken, het wachtwoord van de gebruiker te ontvangen en dit via de seriële poort naar de Arduino te sturen. Vervolgens schrijven we code voor de Arduino om de data van de ESP-01 te ontvangen en de servomotor (solenoid) te besturen. Je kunt de Arduino IDE gebruiken om beide codes te compileren en te uploaden naar de borden.

Je moet de bibliotheek toevoegen en daarna de code uploaden. Als het de eerste keer is dat je een Arduino-bord gebruikt, maak je geen zorgen. Volg deze stappen:

  1. Ga naar www.arduino.cc/en/Main/Software en download de software voor je besturingssysteem. Installeer de IDE zoals aangegeven.
  2. Start de Arduino IDE, wis de editor en kopieer de volgende code erin.
  3. Kies in Tools > Board je Arduino-bord.
  4. Sluit de Arduino aan op je pc en stel de COM-poort in via Tools > Port.
  5. Druk op de Upload-knop (pijltje).
  6. Klaar!

Arduino-code

String inputString = ""; // String om binnenkomende data op te slaan
bool stringComplete = false; // of de string compleet is

void setup() {
  Serial.begin(115200); // initialiseer seriële communicatie
  inputString.reserve(200); // reserveer 200 bytes
  pinMode(9, OUTPUT); // pin 9 voor solenoid
}

void loop() {
  // print de string wanneer een newline arrives
  if (stringComplete) {
    if (inputString == "your_password") { // vervang door je eigen wachtwoord
      digitalWrite(9, HIGH);
      delay(300);
      digitalWrite(9, LOW);
      Serial.println(inputString);
      // wis de string
      inputString = "";
      stringComplete = false;
    }
  }
}

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

ESP8266-code

Nu uploaden we de code voor de ESP-01. Je gebruikt de Arduino IDE om de sketch naar de ESP te uploaden. Voordat je de code uploadt, moet je het ESP-bord selecteren in de IDE.

  1. Ga naar File > Preferences en voeg https://arduino.esp8266.com/stable/package_esp8266com_index.json toe bij Additional Boards Manager URLs. Download en installeer het pakket via Tools > Board > Boards Manager.
  2. Selecteer Generic ESP8266 Module onder Tools > Board.
  3. Kopieer de onderstaande code in een nieuwe sketch.
  4. Stel de USB-to-TTL-converter in als upload-hardware. Plug de converter in en kies de juiste poort onder Tools > Port. Klaar om te uploaden.
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

// WiFi-netwerk
const char* ssid = "YourSSID";
const char* password = "YourPASSWORD";

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

void handleRoot() {
  snprintf(htmlResponse, 3000,
    "\
    \
    \
    \
    \
    \
    \
    \
    

Electropeak Smart Security Door

\

Please type your ID

\
ID:
\

\ \ \ \ "); server.send(200, "text/html", htmlResponse); } void handleSave() { if (server.arg("pass") != "") { Serial.println(server.arg("pass")); } } void setup() { Serial.begin(115200); delay(10); // Verbinden met WiFi Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); server.on("/", handleRoot); server.on("/save", handleSave); server.begin(); Serial.println("HTTP server started"); } void loop() { server.handleClient(); }

Na het uploaden van de code, open de Seriële Monitor van de Arduino IDE en noteer het IP-adres. Als je dit IP in de adresbalk van een browser typt, zie je de webserver-UI. Voer je ID in het tekstvak in en als het correct is, activeert de Arduino het slot. Let op: je moet verbonden zijn met dezelfde WiFi-router als de ESP8266.

WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon
Inlogpagina op de webserver

Nu is het tijd om een QR-code te maken en een eenvoudige manier te bieden voor gebruikers om deze webpagina te bereiken. Er zijn veel online tools om een specifieke QR-code te genereren. We raden deze aan:

Kopieer je IP-adres in de balk en klik op "Create QR Code".

WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon
QR-code genereren

Print de QR-code en plak het bij de deur. Om de deur te openen, moet je verbinden met het WiFi, de QR-code scannen en je ID invoeren.

WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon
QR-code op de deur

Wat is de volgende stap?

Hier zijn een paar suggesties:

  • Probeer een professionele UI voor de inlogpagina te maken.
  • Probeer meer opties voor gebruikers toe te voegen, zoals verschillende toegangsniveaus of tijdsgebaseerde toestemming.

Je kunt deze en andere geweldige tutorials lezen op ElectroPeak's officiële website

Productieproces

  1. Binnenkijken in bankkluizen: geschiedenis, ontwerp en toekomst van beveiliging
  2. Bouw een Wi-Fi-gecontroleerde Raspberry Pi Robot met Python – Stap-voor-stap Gids
  3. Bouw een indrukwekkend monitor Ambilight-systeem met Arduino
  4. Maak een Veilige Arduino RFID Slot – Stapsgewijze Handleiding
  5. Slimme Jaloezieën: Geautomatiseerd Lichtbeheer met Arduino & Zonne-energie
  6. Een slimme voltmeter bouwen met Arduino en smartphone – Eenvoudig DIY-project
  7. Real-time IoT hartslagmonitor met Arduino en MAX30100
  8. Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
  9. Arduino Uno WiFi Webserver: LED aan/uit schakelen via browser
  10. Bouw een Slimme Arduino-gestuurde Robotarm: Eenvoudige DIY Handleiding
  11. WiFi-ingeschakeld slim slot met Arduino & ESP8266 – Ontgrendel via je telefoon