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

Maak een veilige zone voor Android/iOS/Win10-apparaten door Arduino

Componenten en benodigdheden

HC-05 seriële draadloze Bluetooth-module
× 1
Arduino Nano R3
× 1
R301T Semiconductor-vingerafdrukmodule
× 1
5 mm RGB driekleurige 4-pins LED
× 1

Apps en online services

Arduino IDE

Over dit project

In dit artikel willen we een coole gadget maken die een veilige zone kan maken voor het ontgrendelen van je apparaten. Aan het einde van dit project:

  • Zal leren hoe je een vingerafdruksensor gebruikt.
  • Leer hoe u uw apparaten kunt koppelen met uw veilige zone-gadget.
  • Zal een coole gadget maken met de naam veilige zone.

Apparaten vergrendelen en ontgrendelen

Tegenwoordig is ons gebruik van slimme apparaten verbeterd en hebben we veel verschillende gegevens op apparaten zoals chatinhoud, contacten, afbeeldingen, notities enzovoort. Maar sommigen van hen moeten privé voor ons zijn en het is erg belangrijk en misschien is dit de belangrijkste reden om onze apparaten op slot te zetten. Alle slimme apparaten hebben een andere methode om in de vergrendelings- of ontgrendelingsmodus in te stellen, maar soms zijn ze beperkt en hebben ze een slecht gevoel voor ons wanneer u de beveiligingssectie moet passeren om apparaten te gebruiken. Als u bijvoorbeeld in uw privékamer werkt en er is geen instantie in de buurt, hoeft u geen beveiligingssectie te hebben en is het een beetje ingewikkeld om een ​​plan te maken om uw apparaat uit te schakelen.

Dus we hebben een idee om een ​​kleine gadget te maken die kan worden verbonden met al onze slimme apparaten en als we gemakkelijk willen werken zonder beveiliging, activeren we het gewoon met onze vinger-ID. Wanneer de gadget is geactiveerd, wordt deze via Bluetooth met onze apparaten gekoppeld en worden ze ontgrendeld totdat de gadget in de buurt is.

R301T-vingerafdrukmodule

In dit project gebruiken we R301T-sensormodule die een seriële communicatie maakt met een controller zoals Arduino om gegevens uit te wisselen. Eerst zetten we als gebruiker onze vingerafdruk voor R301T en verbinden deze met Arduino Tx- en Rx-pinnen. We gebruikten een Bluetooth-module genaamd HC-05 en koppelden deze één keer met onze apparaten. Nu zullen we een code voor Arduino schrijven en zeggen wanneer een gebruiker de gadget activeert, de bluetooth aanzet. Laten we het doen!

Circuit

Code

U moet de bibliotheek van de vingerafdruksensor toevoegen en vervolgens de code uploaden. Als dit de eerste keer is dat u een Arduino-bord gebruikt, hoeft u zich geen zorgen te maken, volg gewoon deze stappen:

  • Ga naar www.arduino.cc/en/Main/Software en download de Arduino-software die compatibel is met uw besturingssysteem. Installeer de IDE-software volgens de instructies.
  • Voer de Arduino IDE uit en wis de teksteditor en kopieer de volgende code in de teksteditor.
  • Kies het bord in tools en borden, selecteer je Arduino-bord.
  • Sluit de Arduino aan op uw pc en stel de COM-poort in op tools en poort.
  • Druk op de uploadknop (pijlteken).
  • Je bent helemaal klaar!
#include "Adafruit_Fingerprint.h"#include "SoftwareSerial.h"SoftwareSerial mySerial(2, 3);Adafruit_Fingerprint finger =Adafruit_Fingerprint(&mySerial);int cc=0;void setup() { Serial.begin( 9600); terwijl (!Serial); // Voor Yun/Leo/Micro/Zero/... vertraging (100); Serial.println("\n\nAdafruit-vingerdetectietest"); // stel de gegevenssnelheid in voor de seriële poort van de sensor finger.begin (57600); if (finger.verifyPassword()) { Serial.println("Vingerafdruksensor gevonden!"); } else { Serial.println("Vingerafdruksensor niet gevonden:("); while (1) { pinMode(13,OUTPUT); digitalWrite(13,LOW); pinMode(9,OUTPUT); digitalWrite(9,HIGH); } } finger.getTemplateCount(); Serial.print("Sensor bevat "); Serial.print(finger.templateCount); Serial.println("sjablonen"); Serial.println("Wachten op geldige vinger..." );}void loop() // voer steeds opnieuw uit{ getFingerprintIDez(); delay(50); //het is niet nodig om dit op volle snelheid uit te voeren.}uint8_t getFingerprintID() { uint8_t p =finger.getImage( ); switch (p) { case FINGERPRINT_OK:Serial.println ("Beeld genomen"); break; case FINGERPRINT_NOFINGER:Serial.println ("Geen vinger gedetecteerd"); return p; case FINGERPRINT_PACKETRECIEVEERR:Serial.println ("Communicatiefout" ); return p; case FINGERPRINT_IMAGEFAIL:Serial.println("Imaging error"); return p; default:Serial.println("Onbekende fout"); return p;} // OK succes! p =finger.image2Tz(); switch (p) { case FINGERPRINT_OK:Serial.println ("Beeld geconverteerd"); break; case FINGERPRINT_IMAG EMESS:Serial.println ("Afbeelding te rommelig"); retour p; case FINGERPRINT_PACKETRECIEVEERR:Serial.println ("Communicatiefout"); retour p; case FINGERPRINT_FEATUREFAIL:Serial.println ("Kon vingerafdrukfuncties niet vinden"); retour p; case FINGERPRINT_INVALIDIMAGE:Serial.println ("Kon vingerafdrukken niet vinden"); retour p; standaard:Serial.println ("Onbekende fout"); retour p; } // OK geconverteerd! p =vinger.fingerFastSearch(); if (p ==FINGERPRINT_OK) { Serial.println("Een afdrukovereenkomst gevonden!"); } else if (p ==FINGERPRINT_PACKETRECIEVEERR) { Serial.println ("Communicatiefout"); retour p; } else if (p ==FINGERPRINT_NOTFOUND) { Serial.println ("Geen overeenkomst gevonden"); retour p; } else { Serial.println("Onbekende fout"); retour p; } // vond een match! Serial.print("Gevonden ID #"); Seriële.afdruk (vinger.vinger-ID); Serial.print(" met vertrouwen van "); Serial.println(vinger.vertrouwen); voor (int i=255;i>1;i--){analogWrite(9,i); vertraging(10);} if (cc%2==0)digitalWrite(13,HIGH); anders digitalWrite(13,LOW); cc++; return finger.fingerID;}// retourneert -1 indien mislukt, anders retourneert ID #int getFingerprintIDez() { uint8_t p =finger.getImage(); if (p !=FINGERPRINT_OK) retourneer -1; p =vinger.image2Tz(); if (p !=FINGERPRINT_OK) retourneer -1; p =vinger.fingerFastSearch(); if (p !=FINGERPRINT_OK) retourneer -1; // vond een match! Serial.print("Gevonden ID #"); Serial.print(vinger.fingerID); Serial.print(" met vertrouwen van "); Serial.println(vinger.vertrouwen); return finger.fingerID; }  

Montage

Eerst moet u de Bluetooth-module koppelen met uw apparaat. Om te koppelen met Win10, gaat u naar instellingen en zoekt u naar aanmeldingsopties en schakelt u dynamische vergrendeling in en koppelt u uw BT-module vanaf daar. Ga voor Android-smartphones naar Instellingen> Weergavesectie> Vergrendelscherm en schakel vervolgens Smart Lock in en koppel met BT. Ga voor IOS naar Instellingen, voer Touch ID en toegangscode in en maak het vanaf daar.

Als uw apparaten niet automatisch koppelen, kunt u deze truc gebruiken. Wanneer je voor de eerste keer probeert te koppelen, stuur je een personage naar het apparaat.

Wat is het volgende?

U kunt dit project naar wens verbeteren. Hier zijn een paar suggesties:

  • Probeer je gadget gevoelig te maken voor een specifieke locatie.
  • Probeer dezelfde beperkte toegang voor andere gebruikers te maken.

Code

  • Vingerafdrukbibliotheek
VingerafdrukbibliotheekC/C++
Geen voorbeeld (alleen downloaden).

Productieproces

  1. LCD-paneel met Arduino voor Flight Simulator
  2. Maak Monitor Ambilight met Arduino
  3. SMART temperatuurbewaking voor scholen
  4. 8-bit IO-poortbibliotheek voor Arduino
  5. Knipperende LED's op Arduino vanaf iOS en Android
  6. 64-Key Prototyping Keyboard Matrix voor Arduino
  7. Muziek maken met een Arduino
  8. TFT Shield voor Arduino Nano - Start
  9. Een geïsoleerde analoge ingang voor Arduino
  10. Robot voor supercoole indoornavigatie
  11. Directe waterpompen maken voordelen voor watertransmissie