IoT-työpaja: Double Security-järjestelmä

Introduktio

Järjestäydyimme kahden-kolmen hengen ryhmiin ja aloimme työstämään omia ideoitamme eteenpäin. Sain parikseni Mark Laatikaisen ja tahdoimme tehdä Arduinolla RFID-lukijan, joka hyödyntäisi IoT:tä.

Saimme pian kysymyksen: “Miksi, Mitä arvoa tämä tuottaa?”. Yhdessä tuumien keksimme, että ajatusta voisi kehittää tuplavarmennusjärjestelmäksi, joka käyttää sähköpostia ja rekisteröityjä RFID-tunnuksia tunnistautumiseen.

Käyttämämme RFID-RC522 sensori pystyy lukemaan lähes kaikkia kortteja, kuten matkakorttia, opiskelijakorttia ja lähimaksupankkikorttia. Ei tarvitse taas uutta korttia uuteen järjestelmään.

Kurssinvetäjä, Tero Karvinen antoi ryhmien käyttää hänen tarjoamaa APIa ja valmista Python-scriptiä, jolla voi tallentaa numeroita ja tallennettuja numeroita voi tämän jälkeen lukea toisella scriptillä. Asensimme kuitenkin Firebase-tietokannan, johon tallennamme korttien numeroita ja varmennussähköposti lähetetään Mailgunin API:n kautta järjestelmän käyttäjälle.

Kokoonpano

  • Hyppykaapeleita
  • Leipälauta x2
  • Arduino
  • Shield
  • LCD-display 16*2
  • 2 LED-lamppua
  • 3 Resistoria(?)
  • RFID-RC522
  • Potentiometri

Järjestelmätarina

Arduino

  • Odottaa RFID-sirua…
  • Lue RFID-tunnus
  • Lähettää tunnuksen palvelimelle Serial-portin kautta
  • Jää odottamaan vastausta palvelimelta…

Palvelin

  • Odottaa Serial-portilta riviä “KOODI <tunnus>”
  • Vastaanota tunnus
  • Hakee Firebasesta kaikki tunnukset

    Screen Shot 2017-03-24 at 12.20.39
    Firebase-pohja tunnuksille
  • Vertaa tietokannasta löytyneitä tunnuksia saatuun tunnukseen
    • A) Tunnus löytyy
      • Lähetä varmennussähköposti
      • Jää odottamaan vastausta…
        • A1) Saa hyväksytty sähköpostivarmenne
          • Lähetä Serial-porttiin “Open door”
        • A2) Sähköpostivarmenteeseen ei vastata (40sek)
          • Lähetä Serial-porttiin “Verif. timeout”
    • B) Tunnusta ei löydy
      • Lähetä Serial-porttiin “Access denied”
  • Koodin alkuun ->

Arduino

  • …Vastaanota viesti
  • Laita viesti LCD-näytölle
    • Viestistä riippuen, tee mitä halutaan
  • Koodin alkuun ->

Vastaantulleet ongelmat

  • LCD-näyttö tulostaa ylimääräisiä merkkejä
    • Kannattaa kolvata piikit kiinni
  • Mailgun lähettää sähköpostin viiveellä
    • Mailgunin supportti ei osannut auttaa asiaan, liittyy tietoturvaan.

Kokoonpano

DSC_2062
Se odottaa…

DSC_2065DSC_2064

DSC_2061
Arduino kokoonpano 1/3

 

Sourcekoodit tulossa

Advertisements