Kodin kulunvalvontajärjestelmä
Purtonen, Eetu (2018)
Purtonen, Eetu
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018112518094
https://urn.fi/URN:NBN:fi:amk-2018112518094
Tiivistelmä
Työn tarkoituksena oli tuottaa avoimista laitteista ja lähdekoodista muodostuva yksinkertainen kodin kulunvalvontajärjestelmä, joka koostuu liiketunnistimesta, kamerasta ja sähköisesti ohjattavasta magneettilukosta. Konkreettisen ohjelmiston lisäksi tavoitteena oli laiteoh-jelmointiin syventyminen.
Laitteiston perustana toimii Raspberry Pi -tietokone, jonka GPIO-pinneihin kytkettiin ohjattavat ja luettavat laitteet.
Ohjelmisto koostuu kolmesta erillisestä osasta, jotka keskustelevat keskenään web-sokettien ja Unix-sokettien avulla. Ohjelmiston osia ovat C++-kielellä kirjoitettu laiteohjain, Node.js:llä kirjoitettu verkko-ohjain ja selaimessa toimiva Javascript-kieltä ja jQuery-kirjastoa hyödyntävä käyttöliittymä.
Työn lopputuloksena saatiin toimiva yksinkertainen kulunvalvontajärjestelmä ja paljon uutta tietoa ja kokemusta laiteohjelmoinnista ja prosessien välisestä kommunikoinnista, mikä oli alkuperäinen tarkoitus.
Työn raportissa kerrotaan käytetystä laitteistosta, ohjelmiston eri osien ohjelmointikielien valinnasta, ohjelmiston infrastruktuurista ja käytetyistä kehitystyökaluista ja -ympäristöistä.
Laitteiston perustana toimii Raspberry Pi -tietokone, jonka GPIO-pinneihin kytkettiin ohjattavat ja luettavat laitteet.
Ohjelmisto koostuu kolmesta erillisestä osasta, jotka keskustelevat keskenään web-sokettien ja Unix-sokettien avulla. Ohjelmiston osia ovat C++-kielellä kirjoitettu laiteohjain, Node.js:llä kirjoitettu verkko-ohjain ja selaimessa toimiva Javascript-kieltä ja jQuery-kirjastoa hyödyntävä käyttöliittymä.
Työn lopputuloksena saatiin toimiva yksinkertainen kulunvalvontajärjestelmä ja paljon uutta tietoa ja kokemusta laiteohjelmoinnista ja prosessien välisestä kommunikoinnista, mikä oli alkuperäinen tarkoitus.
Työn raportissa kerrotaan käytetystä laitteistosta, ohjelmiston eri osien ohjelmointikielien valinnasta, ohjelmiston infrastruktuurista ja käytetyistä kehitystyökaluista ja -ympäristöistä.