Documente Academic
Documente Profesional
Documente Cultură
Facultatea de Electrotehnică şi
Electroenergetică,
Timişoara
LUCRARE DE LICENȚĂ
IoT dedicat accesului securizat ȋn clădiri
tip office şi clădiri rezidenţiale
Coordonator:
Student:
Mădălina-Raluca Barboni
Timișoara
2019
CUPRINS
49
CAPITOLUL 1. INTRODUCERE IOT
Dezvoltarea rapidă a IoT s-a datorat reducerii continue a costului tehnologiei. În ultimii
ani, am constatat în mod continuu scăderea costurilor pentru diferite soluții, începând de la
imprimantele 3D până la smartwatch-urile și trackerele de fitness. Reducerile dramatice ale
modulelor Bluetooth și Wi-Fi (de exemplu, aproximativ 1 EUR pe articol pentru modulul BLE)
permit conectarea tot mai multor dispozitive la Internetul obiectelor. (Sklyar, 2016).
Internetul obiectelor este un pas logic în dezvoltarea rețelei mondiale, care a dat inițial
posibilitatea de a vizualiza pagini statice. În zilele noastre, conduce la sisteme interconectate cu
inteligență artificială, adaptate la întregul mediu al schimbărilor permanente și nevoilor umane.
IoT modernă nu este încă dezvoltată, iar 99% din toate obiectele care pot fi conectate nu sunt
deloc conectate. Aceasta înseamnă că a început evoluția Internetului, dar nimic nu este clar și
arhitecturile sunt încă în curs de dezvoltare. Legea lui Metcalfe afirmă: "Valoarea unei rețele de
telecomunicații este proporțională cu pătratul numărului de utilizatori conectați ai sistemului
(n2). Imaginați-vă situația când toate obiectele noi conectate (senzori, dispozitive de acționare,
49
dispozitive etc.) și oamenii ar adăuga valoarea lor la ecuație, ridicând dramatic eficiența
Internetului. (Evans &Annunziata, 2012)
49
uimitor de simplu în comparație cu telefonul nostru actual. Un bărbat va putea să-l poarte pe unul
în buzunarul de la pantalon ".
1964 - Marshall McLuhan: "... prin intermediul mijloacelor de comunicare electronice, am creat
o dinamică prin care toate tehnologiile anterioare - inclusiv orașele - vor fi transpuse în sisteme
de informare".
1969 - a fost elaborat ARPANET.
1974 - TCP / IP și-a început activitatea.
1989 - Tim Berners-Lee propune World Wide Web.
1990 - A fost creat primul obiect conectat (toaster de John Romkey).
1991 - Prima pagină web a fost găzduită.
1995 - A început primul serviciu de comerț electronic (Amazon și Echobay sau Ebay).
1998 - Mark Weiser: "Calculul omniprezent este aproape opus realității virtuale, în care
realitatea virtuală pune oamenii într-o lume generată de calculator, combativitatea omniprezentă
forțează computerul să trăiască aici în lume cu oameni".
1999 - începerea efectivă a unui lucru numit IoT. Directorul executiv al Centrului de auto-
identificare, Kevin Ashton, a propus termenul "Internetul obiectelor": "Am greșit, dar sunt destul
de sigur că expresia" Internetul obiectelor "a început viața ca titlul unei prezentări realizat la
Procter & Gamble (P & G) în 1999. Conectarea noii idei de RFID în lanțul de aprovizionare al P
& G la subiectul fierbinte al internetului a fost mai mult decât o modalitate bună de a atrage
atenția executivului. Ea a rezumat o perspectivă importantă care este încă neȋnţeleasă.
2000 - 2004 - IoT este în discuție în Guardian și Scientific American. Unele companii încearcă
să-și imagineze dispozitivele viitorului, iar termenul începe să apară în cărți și publicații. RFID
se desfășoară pe o scară masivă.
2005 - subiectul Internetului obiectelor este subliniat în mare măsură de ITU (International
Telecommunication Union) și primul raport este publicat: "O nouă dimensiune a fost adăugată în
lumea tehnologiilor informației și comunicațiilor (TIC) timp, oriunde ,conexiune pentru oricine,
vom avea acum conectivitate pentru orice. Conexiunile se vor multiplica și vor crea o rețea
dinamică de rețele complet nouă - un Internet de lucruri ". (Uniunea Telecomunicațiilor Internet
(ITU), n.d.)
49
2006-2008: UE a recunoscut termenul și a avut loc conferința European IoT, IPSO Alli-ance
(cei mai mari membri: Intel, Ericsson, Google, Cisco, SAP, Sun, Fujitsu și Bosch) obiecte
inteligente și pentru a împuternici Internetul lucrurilor. (Alianță IPSO, n.d.)
2011 - a fost lansat IPv6.
2011-azi - Europa își arată interesul și sprijinul continuu în acest domeniu prin intermediul
programului de lucru ICT-FP7, IoT-A și al viitoarelor directive digitale. Guvernul britanic
investește 5 milioane de lire sterline pentru dezvoltarea IoT în țară. China continuă să finanțeze
și să sprijine cercetarea în domeniul dezvoltării în domeniul instituțiilor. Procesul de inițiere a
standardelor globale în domeniul Internetului a început. Aceasta promovează o abordare
unificată a elaborării standardelor tehnice care să permită Internetul obiectelor la scară globală.
Sunt produse noi produse. Standardele devin comune și deschise.
49
49
1.2 Definiții și concept
În afară de definiția lui Kevin Ashton, există câteva explicații moderne asupra a ceea ce
Internetul obiectelor este:
"Internetul obiectelor este un fel de formă de rețea bazată pe Internet, extinderea sa și
extinderea clientului său în orice schimb de informații și comunicări privind bunurile și
materialele (M2M)". (Kiritsis, 2011)
"Expresia Internetul obiectelor este mai largă decât un concept sau o tehnologie unică.
Este mai degrabă o nouă paradigmă care implică un set larg de tehnologii, aplicații și viziuni. De
asemenea, nu există un acord complet privind definiția, deoarece se schimbă în raport cu punctul
de vedere. Se poate concentra asupra identității virtuale a obiectelor inteligente și a capacităților
lor de a interacționa inteligent cu alte obiecte, cu oamenii și cu mediile sau cu integrarea fără
întreruperi între diferite tipuri de obiecte și rețele către o arhitectură orientată spre servicii a
viitorului Internet " . (Vermesan și colab., 2011)
Senzori (încorporați sau senzorii înșiși) - Dispozitivele și sistemele au senzori care urmăresc și
măsoară activitatea în lumea reală.
Conexiune - Există o conexiune directă cu dispozitivul sau este conectată indirect printr-un
hub, un smartphone (în cazul purtătorilor de rufe, de exemplu) sau o stație de bază, în timp ce
întregul sistem IoT local este conectat în continuare la Internet în orice caz . Aceste conexiuni
49
între dispozitive ar putea fi implementate prin utilizarea altor tehnologii fără fir , în locul
conexiunilor IP.
Unitate de procesare - Ca orice unitate de calcul, dispozitivul din mediul IoT are o putere de
procesare pentru analiza datelor și trimiterea acestora. Există câteva excluderi aici și câteva
dispozitive sau senzori care pot fi gestionate de la distanță nu au capacități de calcul. Cu toate
acestea, ele au încă logică pentru manipularea datelor primite sau trimise.
Eficiența energetică - toate dispozitivele IoT trebuie să fie suficient de eficiente pentru a
îndeplini sarcina necesară fără consum mare de energie electrică.
Eficiența economică - Desigur, soluții mari, cum ar fi telefoanele inteligente sau dispozitivele
smarthome, sunt scumpe, dar senzorii și actuatorii mici trebuie să fie ieftini în producție și
suport.
Calitate și fiabilitate - dispozitivele IoT trebuie să poată lucra în medii agresive, în aer liber, în
apă și pe perioade lungi de timp. Chiar și dispozitivele utilizatorilor trebuie să fie robuste și bine
construite.
Securitate - Dispozitivele ar trebui să poată transfera datele în mod fiabil și sigur. Protecția și
confidențialitatea sunt probleme importante. De exemplu, în cazul monitorizării medicale datele
nu au putut fi prinse sau schimbate.
În zilele noastre, omenirea este mai mult sau mai puțin gata, cu doar două straturi de
Internet de lucruri, astfel încât întregul potențial al acestor tehnologii nu este încă experimentat.
Aceste straturi arată că IoT este o rețea netă de rețele mici, conectate împreună (de exemplu,
dispozitivul dvs. într-o casă inteligentă și casa dvs. inteligentă într-un oraș inteligent). Pentru a
satisface ideea de IOT, totul ar trebui să fie implicat, care este prezentat în Figura 3. Întrebarea
este în necesitatea și logica conexiunilor, precum și gestionarea unor cantități uriașe de date. Este
49
nevoie de un sistem ușor de gestionat și comandat, ceea ce reprezintă provocarea tehnică de
astăzi.
Internetul lucrurilor este destul de diferit de cel comun în domeniul comunicării. Pentru
noi este normal ca comunicarea să poată fi stabilită oricând și de oriunde, totuși internetul
obiectelor are o dimensiune suplimentară - "nimic". Astfel, conceptul IoT are câteva
caracteristici care demonstrează comprehensivitatea multidimensională, schimbul de informații
și prelucrarea inteligentă:
49
Inteligență. Dispozitivele IoT au unele unități de calcul și software folosite pentru deciziile
inteligente, predicții și controlul automatizării.
Eficiența energetică. Toate dispozitivele IoT trebuie să fie eficiente și capabile să utilizeze
energia reciclabilă, să stimuleze recoltarea energiei proprii, în cazul în care aplicarea
dispozitivului necesită și permite acest lucru.
Exprimarea (sau schimbul de date). Dispozitivele conectate IoT au capacitatea de a exprima și
de a-și împărtăși starea actuală cu toate celelalte dispozitive conectate. Acesta permite un flux de
comunicare mai bun între utilizator și mașini.
Siguranță. Dispozitivele de internet ale obiectelor ar trebui să contribuie la asigurarea
siguranței vieții individuale. Toate dispozitivele medicale inteligente sunt un bun exemplu al
acestei caracteristici.
Mai mult decât atât, Internetul obiectelor are particularități funcționale:
Funcție pentru a obține informații din lucruri
Funcție de schimb de informații
Funcție de procesare și control inteligent a informațiilor
Funcție la scară largă
Internetul obiectelor este determinat de arhitectura sa, care este capabilă să colecteze
toate caracteristicile și funcțiile și să le facă să funcționeze corect și fără probleme într-o singură
arhitectură unică. Există două tipuri de arhitecturi cunoscute, de 3 și 5 straturi.
Figura 4 prezintă arhitectura și include următoarele straturi (Gang, 2011):
Nivelul de percepție (uneori stratul de echipament sau colectorul de date și coordonarea și
colaborarea). Acest strat se ocupă de datele colectate din lucruri. De exemplu, dispozitivele de
detectare. Analog cu stratul fizic în modelul de rețea OSI.
Strat de rețea (uneori strat de transmisie). Transmite informații de la lucruri către alte lucruri și
sisteme de procesare a informațiilor.
Nivelul middleware. Acest nivel este responsabil de procesarea informațiilor și de luarea
deciziilor pe baza analizelor efectuate.
Nivel de aplicație. Oferă aplicațiile bazate pe informațiile obiect procesate în stratul
middleware.
Nivel de afaceri. Responsabil pentru gestionarea întregului ecosistem IoT.
49
S-a afirmat de multe ori că lucrurile sunt conectate permanent între ele pentru
comunicare, dar nu sunt în mod necesar capabile să transfere date între ele. Această abilitate
depinde de asemănarea serviciilor pe care le sunt atribuite. Un singur lucru nu are capacitatea de
a raționa asupra mediului înconjurător și, ulterior, să ia decizii și acțiuni inteligente pentru a
atinge obiectivele. În timp ce întregul sistem poate face acest lucru, întregul sistem ar putea fi
reprezentat ca ceva inteligent, dar nu cu un singur dispozitiv în el.
49
1.4 Particularitățile și provocările generale ale IoT
Apariția internetului obiectelor este un pas așteptat, deoarece lenea este motorul pro-
gress. În plus, oamenii doresc să beneficieze de tehnologiile existente la putere maximă.
Aproximativ 20 de ani în urmă, aparatul de aer condiționat acasă a fost pornit de către utilizator
când era prea fierbinte sau rece. După o anumită evoluție a calculului, avem un dispozitiv între
ele, care este programat de către utilizator pentru a porni automat încălzirea sau răcirea, în
funcție de senzorul conectat. În cele din urmă, casa nu s-a dovedit a fi "inteligentă", deoarece o
astfel de abordare schimbă ușor situația, dar utilizatorul trebuie să controleze totul. Acest lucru
devenind automatizarea.
Deci, ce este inteligentul IoT? Acesta este un set de tehnologii care vor schimba
paradigma realizării rezultatului astfel încât utilizatorul să stabilească ținta, nu mijloacele de
realizare a acesteia. Acestea sunt caracteristicile inteligenţei IoT:
a) Suport permanent al utilizatorilor de către obiecte ;
b) Procese clare și orientare către rezultate ;
c) Cerere de a face în loc de reguli privind modul de a face.
49
În cazul instrumentelor medicale, să definim caracteristicile unei pompe de insulină
inteligente:
a) Monitorizarea CGM activă și livrarea permanentă a insulinei;
b) Analiza datelor bazată pe date colectate și API medicale conectate;
c) Cererea de a menține nivelul normal de glucoză.
Cea mai mare întrebare acum este cum să atingem obiectivele descrise mai sus, iar
soluția posibilă discutabilă este arhitectura multi-agent. Bazarea abordării multi-agent este
conceptul de agent de software mobil, care este implementat și funcționează ca un program de
calculator independent sau un element de inteligență artificială. Esența tehnologiei multi-agent
este o metodă complet nouă de rezolvare a problemelor. Spre deosebire de metoda clasică, atunci
când o căutare este efectuată printr-un algoritm bine determinat (determinist), care permite
găsirea celei mai bune soluții pentru o anumită problemă, rezultatul obținut în mai multe
tehnologii este obținut automat ca rezultat al interacțiunii din multe module software separate
(așa-numitele agenți). (Wei&Toenjes, 2012)
Fiecare utilizator și fiecare dispozitiv din lumea reală sunt atribuite unui agent software
- un obiect cu un anumit grad de inteligență, care reprezintă interesele sale în lumea virtuală.
Lumea virtuală poate fi numită copie oarecum îmbunătățită a lumii reale cu aceleași părți care
adesea respectă reguli prestabilite și bine-cunoscute, oferind răspunsuri fiabile la întrebări.
Relația dintre lumile reale și virtuale este bidirecțională. Aceasta înseamnă că soluțiile din lumea
virtuală sunt date realității pentru execuție și toate evenimentele neintenționate ale lumii reale
afectează lumea virtuală. (Mzahm, 2012) .
Alături de barierele clare ale IoT, cum ar fi crearea de baterii eficiente, scăderea
consumului de energie, implementarea IPv6, crearea de tehnologii fără fir și altele, există unele
probleme neclare și discutabile care trebuie rezolvate pentru a stimula dezvoltarea Internetului și
a aspectului final din ea în viețile noastre. Dezvoltarea rapidă a Internetului obiectelor a început
să întâmpine aceleași probleme care au lovit revoluția în domeniul calculatoarelor personale în
49
anii 1980. În prezent, problema nu este cum să aducem un produs pe piață, ci cum să dezvoltăm
standardele corespunzătoare, fără de care diferitele dispozitive vor fi doar o grămadă de junk,
care nu pot comunica între ele.
49
Deci, ce ar trebui făcut pentru a finaliza etapa de inovare / dezvoltare și pentru a vă
concentra asupra implementării mediului? Potrivit lui Maciej Kranz, vicepreședinte și director
general al tehnologiei corporatiste de la Cisco: "industria începe să realizeze că modelul
fragmentat și închis nu poate fi scalabil și limitează beneficiile introducerii Internetului
obiectelor" (Kranz , 2016). Din nou, în conformitate cu Cisco, lucrarea privind standardizarea
IoT se face în patru direcții (Cisco, 2016):
2) Gestionarea standardelor ramurii industriale: principalii actori din industrie fac standarde din
protocoalele proprii, creând contradicții, ceea ce împiedică compatibilitatea. Pentru a transforma
standardele existente în tehnologie IP și Ethernet, asigurând în același timp compatibilitatea cu
protocoalele moștenite, industria IoT cooperează cu comisioane mari.
3) Crearea modelelor arhitecturale: modelul general este creat de Forumul Mondial IoT pentru a
asigura compatibilitatea reciprocă a tuturor componentelor în întregul mediu. Modelul sugerat
are șapte straturi, care oferă posibilitatea de a utiliza sisteme deschise de IoT cu unitate garantată:
4) Deschiderea consorțiilor pentru a gestiona cele mai mari probleme: după cum sa discutat
anterior, situația este dificilă aici, pentru că toată lumea dorește să câștige jocul cu stand-urile lor
de proprietate. Cu toate acestea, pe de altă parte, adevărul (soluții mai bune, în cazul nostru)
rezultă din ciocnirea opiniilor.
49
1.4.3 Economie tradițională vs. digitală
Am observat o mulțime de factori care dilată rata dezvoltării IoT deja. Cum ar fi
standardizarea tehnică și tehnologică, securitatea comunicațiilor și a tranzacțiilor. Există unele
opinii cu privire la problemele nerezolvate ale dispozitivelor însuși din partea sursei permanente
de alimentare, a performanței stabile și a ușurinței de utilizare. Unii sceptici sunt înclinați să
creadă că oamenii ,psihologic și social, în principiu, nu sunt pregătiți pentru un mediu digital
comprehensiv. Dar acum aș vrea să mă gândesc și la un alt factor care afectează dezvoltarea
segmentului Internet al lucrurilor - proprietarii și companiile de management înțeleg greșit
modalitățile de a face afaceri în noua economie globală a informațiilor, care este din ce în ce mai
mult ghidat de o interacțiune instantanee digitală a consumatorilor pe mai multe niveluri , obiecte
și algoritmi. Poate că acest factor este principala "frână" pentru Internetul Lucrurilor?
Pentru a afla ce este greu de înțeles pentru afaceri în noile economii, să definim
diferențele dintre economia digitală tradițională și cea modernă (IDC, 2016):
a) Rețeaua globală de informații este omniprezentă - orice informație poate fi accesată oriunde în
orice moment.
b) Dispozitivele sunt mobile și inteligente - o mulțime de "lucruri" au învățat cum să
implementeze o funcționalitate destul de complexă și să împărtășească date structurate.
c) Utilizatorii sunt exigenți - utilizatorii sunt acum destul de diverşi la nivel profesional și
psihologic, pot prezenta cerințe complexe și se așteaptă la o abordare personalizată a nevoilor
lor.
d) Informația a devenit principala și cea mai scumpă resursă - majoritatea informațiilor de înaltă
calitate au devenit mai scumpe decât orice altă resursă materială. Monopolul privind informația
este un lucru imposibil de a fi propriul și apărător, însă dezvoltarea unui nou proiect sau a unei
afaceri este impracticabilă fără un suport semnificativ de informații.
e) Riscurile ridicate - este esențial să se apere împotriva riscurilor din ce în ce mai complexe,
abordări diferite pentru a asigura stabilitatea afacerilor prin transferul resurselor financiare
valoroase de la competențele principale de operare.
49
f) Principiile managementului sunt depășite - managerii companiilor folosesc instrumentele
dezvoltate pentru economia anterioară sau "pre-digitală". Aceste metode vechi limitează
capacitatea de a lua decizii corecte în timp.
g) Marketingul modern este complicat - este necesar să se efectueze efectiv strategia de afaceri
fără a se supune unui marketing extern. Înțelegerea esenței produselor propuse este o sarcină din
ce în ce mai dificilă, iar consecințele deciziilor greșite sunt mai greu de calculat.
h) Dependența de concurenți și piața ridicată (de aceea analizez situația înainte de dezvoltarea
produsului) - toate întreprinderile sunt puternic afectate de toate schimbările.
Specialiștii din diferite sfere au devenit independenți - diferiți profesioniști pot schimba sferele
de lucru. De asemenea, este complicat să se asigure tehnicieni de audit, din cauza numărului
limitat și a competenței profesionale imense.
O altă problemă urgentă este găsirea unui client în dinamica constantă a pieței,
variabilitatea stărilor de spirit și dependența informațională puternică. Noi produse sunt
dezvoltate rapid, prin urmare, oamenii nu sunt în măsură să captureze toate tendințele, astfel
încât noul produs ar trebui să fie cât mai detaliat posibil pentru a obține o anumită atenție. Pentru
a continua, informația însăși este problematică, deoarece ea confuză gestionarea, în timp ce
metodele matematice și statistice complicate fac deciziile actuale. Managementul are încredere în
49
acele modele matematice proiectate de profesioniști incontestabil de talentați, dar adesea nu sunt
suficienți pentru a înțelege subiectul, economia și marketingul unei afaceri date.
Există mai multe aspecte care trebuie discutate (cum se creează o echipă bună pentru
proiectul IoT, cum să protejați afacerea de riscuri și cum să comunicați cu partenerii și
concurenții?), Dar nu va duce la soluții. De exemplu, Marketingul trebuie personificat. Într-un
moment în care piețele au nevoie de produse de înaltă calitate și ieftine, iar producătorul poate
implementa în mod flexibil orice soluție de design și artă, a devenit într-adevăr dificilă și
necesară adaptarea și tratarea fiecărui client în parte. Într-o economie de consum, în care setul de
bunuri, lucrări și servicii este atât de strâns legat, afacerea nu poate fi satisfăcută doar de
informații despre segmentele simple de piață "plate"; este relevant să cunoaștem cât mai multe
despre segmentele de piață complexe, să definim consumatorii într-o clasificare pe mai multe
niveluri. Nu numai relațiile cu clienții trebuie să fie controlate, ci și relațiile clienților.
Clientul ar trebui să obțină produsul real, dar nu un prototip. Desigur, IoT oferă produse
inovatoare cu o funcționalitate imensă, însă utilizatorul dorește să vadă un "lucru", nu o idee,
deoarece nu este un investitor. În plus, profesioniștii ar trebui să învețe și alți specialiști, iar
întregul proiect și sistemele de gestionare a resurselor umane trebuie să se potrivească economiei
digitale. Aceasta înseamnă că metodele de gestionare vechi sunt schimbate în metodologii noi,
cum ar fi SCRUM, de exemplu. În cele din urmă, dezvoltarea netă a partenerilor, serviciilor și
comunicațiilor este semnificativă. Produsul cu integrare bogată este mai atractiv pentru
utilizatorii finali.
49
greu în această privință - trebuie să luăm în considerare problema într-un mod cuprinzător și larg,
schimbând totul. O îngustare artificială a perspectivelor și a domeniului IoT conduce la investiții
ineficiente evidente.
a) Analiza datelor;
b) Managementul cunoștințelor și al celor mai bune practici;
c) Suport pentru competențe la nivel înalt;
d) Proiectarea modelelor de bază și a modelelor de afaceri speciale
e) Cercetarea și utilizarea sistemelor complexe de marketing și financiare
f) Elaborarea de standarde și reglementări;
g) Creșterea eficienței comunicării cu clienții;
h) Dezvoltarea permanentă a proceselor tehnologice, de fabricație și management;
i) Gestionarea riscului.
1.4.4 Securitate
De la senzori mici la mașini uriașe, Internetul lucrurilor se extinde cu mare viteză. Intel
a afirmat că, în urmă cu 10 ani, au fost asociate doar 2 miliarde de obiecte inteligente cu lumea
wireless, iar IDC a estimat că numărul dispozitivelor conectate până în 2020 ar fi deja 200
miliarde (IDC, 2016). Aproape orice dispozitiv conectat, pornind de la televizoare inteligente, un
tracker de fitness sau un sistem de securitate la domiciliu și terminând cu imprimante, sisteme
auto sau lumini cu control asupra rețelei, va expune mai devreme sau mai târziu la hacking. Iată
câteva exemple ilustrative de astfel de spargere:
Mai mult de 8.000 de persoane au fost victime ale atacurilor hackerilor când hackerii din
grupul Anonymous au invadat infrastructura Agenției Spațiale Europene, iar numele furate,
adresele de e-mail și parolele persoanelor au fost apoi publicate sub forma a trei date despre
dump în justpaste.it serviciu.
49
Symantec utilizează un calculator special configurat, Rasberry Pi, pentru a atrage atenția asupra
vulnerabilităților situate pe suprafața dispozitivelor de fitness. Experții în securitate au descoperit
că unele dintre aceste dispozitive permit atacatorilor să monitorizeze cu ușurință locația tracker-
ului.
Un hacker și expert în securitatea cibernetică, Chris Roberts de la compania One World Labs
din Denver, SUA, a reușit să spargă sistemul de divertisment la bordul avionului și, potrivit
raportului FBI din aprilie 2015, să intercepteze controlul aeronavelor.
49
mai sigură, datele biometrice sunt utilizate pe scară mai largă, ceea ce permite confirmarea
fiabilă a faptului că suntem cei care ne așteptăm să fim.
Analiza situației arată necesitatea unei abordări cuprinzătoare și bazate pe știință pentru
a asigura siguranța internetului lucrurilor:
49
Telemedicina este utilizarea informațiilor medicale schimbate de la un site la altul prin
intermediul comunicațiilor electronice pentru îmbunătățirea, menținerea sau asistarea stării de
sănătate a pacienților. În strânsă legătură cu telemedicina este termenul "telehealth", care este
adesea folosit pentru a cuprinde o definiție mai largă a asistenței medicale la distanță, care nu
implică întotdeauna servicii clinice. Videoconferința, transmiterea imaginilor statice, e-sănătatea,
inclusiv portalurile pacientului, monitorizarea de la distanță a semnelor vitale, educația medicală
continuă și centrele de apel medical sunt considerate ca făcând parte din telemedicină și
telehealth. (Higgs, 2014) Cu titlu simplu, telemedicina este Internetul obiectelor aplicate în
scopuri medicale, deci este un termen rezumativ folosit pentru a descrie modalități moderne de
îngrijire medicală prin folosirea tehnologiilor informaționale.
Atât internetul medical, cât și cel medical al lucrurilor sunt considerate ca fiind
telemedicină, dar sunt diferite. Îngrijirea medicală este un tip de îngrijire medicală care vizează
monitorizarea condițiilor normale, susținerea stărilor cronice și utilizarea abordărilor preventive
pentru a asigura un stil de viață sănătos.
Medicina în cazul IoT este o zonă responsabilă pentru tratamentul de urgență, studii de
boli și științe medicale. Internetul medical al lucrurilor este despre soluții staționare, baze de date
medicale și echipamente profesionale conectate. Healthcare Internet of Things este un set de
tehnologii și dispozitive diferite utilizate pentru a sprijini sănătatea personală. De aceea, termenii
de asistență medicală IoT și asistența medicală personală IoT pot fi folosiți în mod
interschimbabil. Serviciile de asistență medicală IoT oferă servicii personale prin utilizarea
dispozitivelor și sistemelor personale destinate unei singure persoane.
49
1.5 Tendințe de cercetare
5) Combinarea IoT și Cloud Computing: Cloud-ul furnizează un mod bun pentru ca lucrurile să
se conecteze și să ne permită accesul la lucruri diferite pe Internet. Cercetări suplimentare se vor
concentra pe implementarea de noi modele sau platforme care să ofere "senzori ca un serviciu "
pe Cloud [84] - [86].
49
CAPITOLUL 2. PROGRAMAREA ÎN PYTHON
Primul lucru pe care trebuie să-l înțelegeți despre computere atunci când programați
este că vă controlați computerul. Uneori, calculatorul nu face ceea ce vă așteptați, dar chiar dacă
nu face ceea ce doriți pentru prima dată, ar trebui să faceți același lucru a doua și a treia oară -
până când preluaţi controlul și schimbați programul.
Cu toate acestea, după ce ați învățat cum să programați, înțelegeți cum s-a întâmplat
această situație și poate veți găsi că puteți să faceți mai bine decât unii dintre programatorii ale
căror programe le-ați folosit. Rețineți că programarea într-o limbă precum Python, o limbă
interpretată, înseamnă că nu veți avea nevoie să cunoașteți mai multe despre hardware-ul
calculatorului, memoria sau secvențele lungi de 0s și 1s. Veți scrie în formă text ca și cum ați fi
obișnuit să citiți și să scrieți, dar într-o limbă diferită și mai simplă.
Python este limbajul și, la fel ca limba engleză sau orice altă limbă (limbi) pe care o
vorbiți, este logic și pentru alți oameni care deja vorbesc limba. Învățarea unui limbaj de
programare poate fi și mai ușoară, totuși, pentru că limbile de programare nu sunt destinate
discuțiilor, dezbaterilor, apelurilor telefonice, pieselor de teatru, filmelor sau oricărei alte tipuri
de interacțiuni ocazionale. Acestea sunt destinate să ofere instrucțiuni și să se asigure că aceste
instrucțiuni sunt urmate. Calculatoarele au fost modelate în instrumente incredibil de flexibile,
care au găsit o utilizare în aproape toate afacerile și sarcinile pe care le-au găsit oamenii, dar sunt
încă construite din piese fundamentale de înțeles și controlabile.
49
spui unui computer să sară metaforic, trebuie să-i spui cât de înalt și unde să aterizezi și că va
face acest salt - de pește și peste atâta timp cât precizezi. Programul nu trebuie să înceteze în
mod arbitrar să lucreze sau să schimbe modul în care funcționează fără a vă facilita schimbarea.
Programarea este Control . Programarea unui calculator este foarte diferită de crearea
unui program, deoarece cuvântul se aplică oamenilor în viața reală. În viața reală, cereți
oamenilor să facă lucruri și uneori trebuie să vă luptați cu putere pentru a vă asigura că dorințele
voastre sunt îndeplinite - de exemplu, dacă vă planificați o petrecere pentru 30 de persoane și
alocați două dintre ele pentru a aduce chips-urile şi acestea vin cu băuturile, este în afara
controlului tău. Cu calculatoarele , problema aceasta nu există. Calculatorul face exact ceea ce îi
spui. După cum vă puteți imagina, acest lucru înseamnă că trebuie să acordați o atenție detaliilor
pentru a vă asigura că, calculatorul face exact ceea ce doriți să faceți. Unul dintre obiectivele
programului Python este de a programa în blocuri, care vă permit să vă gândiți la proiecte mai
mari și mai mari, construind fiecare proiect ca niște piese care se comportă în mod bine înțeles.
Acesta este un obiectiv cheie al unui stil de programare cunoscut sub numele de programare
orientată pe obiecte.
Principiul călăuzitor al acestui stil este că puteți crea fragmente de încredere care încă
funcționează atunci când le compuneți împreună, care sunt ușor de înțeles și care sunt utile.
Acest lucru vă oferă programatorului controlul asupra modului în care se execută programele
dvs., permițându-vă să vă extindeți programul deoarece problemele pe care le rezolvați
evoluează. Programele sunt executate pe computere care gestionează problemele din lumea reală;
și în lumea reală, planurile și circumstanțele se schimbă frecvent. Datorită acestor circumstanțe
schimbătoare, programatorii rareori au posibilitatea de a crea programe perfect artizanale, utile și
flexibile. De obicei, puteți atinge doar două dintre aceste obiective. Modificările cu care va trebui
să vă ocupați ar trebui să vă ofere o anumită perspectivă și să vă conducă să programați cu
prudență.
Cu suficientă atenție, puteți crea programe care să știe când li se cere să depășească
capacitățile lor și pot eșua grațios prin notificarea utilizatorilor că s-au oprit. În cele mai bune
cazuri, puteți crea programe care explică ce a eșuat și de ce. Python oferă funcții deosebit de
utile, care vă permit să descrieți ce condiții s-au întâmplat, care au împiedicat funcționarea
49
programului dvs. Ceea ce înseamnă totul Împreună, aceste principii de început înseamnă că vei fi
introdus în programare ca o modalitate de a spune unui computer ce sarcini doriți să facă, într-un
mediu în care vă aflați sub control. Veți fi conștient de faptul că uneori se pot întâmpla accidente
și că aceste greșeli pot fi adăpate prin mecanisme care vă oferă o anumită discreție cu privire la
modul în care vor fi tratate aceste condiții, inclusiv recuperarea de la probleme și continuarea
activității.
Flexibilitatea sa vă permite să obțineți multe rezultate, mici sau mari. Astfel, Python se
poate folosi pentru a scrie programe simple, dar are și puterea necesară pentru a crea operații
complexe folosite de companiile globale, multinaționale. De asemenea, Python poate să
folosească limbajele de „scripting” și „glue”, care combină componentele existente într-un
întreg.
49
Python este larg răspândit și aplicat cu succes în multe domenii dintre care enumerăm
doar câteva: dezvoltarea grafică desktop a aplicațiilor (inclusiv jocurile), matematica și analiza
științifică a datelor, dezvoltarea internetului (astăzi, Python este folosit de unele dintre cele mai
mari domenii de internet din lume ca Google, Facebook, Reddit, Dropbox, YouTube, Instagram,
Pinterest...).
Python este un exemplu de limbă de nivel înalt; alte limbi de nivel înalt despre care ați
fi auzit sunt C, C ++, Perl și Java. Există, de asemenea, limbi de nivel scăzut, uneori denumite
"limbi de mașină" sau "limbi de asamblare". În mod voit, computerele pot rula numai programe
scrise în limbi inferioare. Astfel, programele scrise într-un limbaj de nivel înalt trebuie procesate
înainte de a putea fi difuzate. Această prelucrare suplimentară durează ceva timp, ceea ce
reprezintă un mic dezavantaj al limbilor de nivel înalt. Avantajele sunt enorme. În primul rând,
este mult mai ușor să programați într-un limbaj de nivel înalt. Programele scrise într-un limbaj de
nivel înalt necesită mai puțin timp pentru a scrie, sunt mai scurte și mai ușor de citit și sunt mult
mai probabil să fie corecte. În al doilea rând, limbile de nivel înalt sunt portabile, ceea ce
înseamnă că acestea pot rula pe diferite tipuri de calculatoare cu puține modificări sau fără
modificări. Programele de nivel scăzut pot rula pe un singur tip de computer și trebuie rescrise
pentru a rula pe altul.
Două tipuri de programe procesează limbi de nivel înalt în limbi de nivel scăzut:
interpreți și compilatori. Un interpret citește un program la nivel înalt și îl execută, ceea ce
înseamnă că acesta face ceea ce spune programul. Ea procesează programul puțin câte o dată,
lectând alternativ liniile și realizând calcule.
Python este considerat un limbaj interpretat deoarece programele Python sunt executate
de un interpret. Există două modalități de utilizare a interpretului: modul interactiv și modul
49
script. În modul interactiv, tastați programele Python, iar interpretul afișează rezultatul: >>> 1 +
1 2 Chevronul, >>>, este promptul pe care interpretul îl utilizează pentru a indica că este gata.
Dacă tastați 1 + 1, interpretul răspunde 2. Alternativ, puteți stoca codul într-un fișier și utilizați
interpretul pentru a executa conținutul fișierului, numit script. Prin convenție, scripturile Python
au nume care se termină cu .py. Pentru a executa scriptul, trebuie să îi spuneți interpretului
numele fișierului.
Este al doilea an la rând în care limbajul de programare Python se numără printre cele
mai populare șase limbaje de programare din lume, iar site-ul american de top al noilor
tenhologii Dice l-a declarat limbajul de programare cel mai dorit.
Joburile din acest domeniu sunt extrem de căutate, iar experții sunt foarte bine plătiți.
Conform datelor de pe platforma Gooroo, care se ocupă cu analitica tehnologiei și plății,
programatorii Python sunt pe locul doi la cel mai bine plătiți din Statele Unite ale Americii.
Salariul mediu al unui expert Python este de 103 492 de dolari pe an și lunar se publică 7 732 de
anunțuri în care companiile caută experți Python.
Acest trend s-a răsfrânt și asupra pieței noastre, de aceea și firmele din Serbia/România
caută din ce în ce mai mult programatori care să cunoască foarte bine Python.
Python vs Java
Programele scrise în Python sunt în majoritatea cazurilor mai lente decât cele scrise în Java, dar
timpul necesar pentru dezvoltare este semnificativ redus. Programatorii care lucrează în Python
au nevoie de la trei până la cinci ori mai puțin timp pentru programare decât colegii lor care
lucrează în Java. Această diferență este atribuită în principal tipurilor de date Python încorporate
49
de nivel superior și scrierii sale dinamice. De exemplu, programatorul nu pierde timp selectând
tipul de argumente sau variabile; de asemenea, Python are și liste polimorfice, tipuri de
dicționare și un suport sintactic puternice, incluse direct în limbaj.
Datorită avantajelor de scriere, Python este mai adecvat ca limbaj „glue”, în timp ce
Java este mai bine caracterizat ca limbaj cu implementare redusă. De fapt, aceste două limbaje
alcătuiesc împreună o combinație extraordinară – componentelor lor se pot dezvolta în Java, iar
mai târziu se pot combina când creăm aplicațiile în Python.
Python vs JavaScript
Python vs Perl
Python vs Tcl
La fel ca Python, Tcl poate fi folosit ca limbaj pentru dezvoltarea aplicațiilor, dar și ca
limbaj de programare independent. Însă, în mod tradițional Tcl depozitează toate datele sub
49
formă de șiruri, ceea ce are drept rezultat o structură mai slabă și o execuție mai lentă a codurilor
în comparație cu Python. De asemenea, lui Tcl îi lipsesc datele necesare pentru scrierea
programelor mai mari, de aceea Tcl conține de obicei componentele C sau C++, care sunt
specifice tocmai acestei aplicații, iar în cazul lui Python aplicația se poate scrie într-un cod
Python „curat”. Aceasta are drept consecință dezvoltarea mai rapidă a aplicației în Python decât
în Tcl, deoarece în timp ce în Tcl programatorul face debug în componenta C sau C++, în
Python, acesta lucrează deja la proiectul său și programează.
49
CAPITOLUL 3. PREZENTARE TEMĂ
- Alerte în perioadele specificate de utilizator, dacă există mișcări, o persoană sau ceva schimbat
într-o anumită zonă
- Sistemul poate oferi acces la datele istorice pentru o anumită perioadă de timp
49
Servo (viitor, actual DC motor) pentru a bloca sau debloca ușa
Raspberry Pi 3 Model B + este cel mai nou produs din gama Raspberry Pi 3, oferind un
procesor quad core pe 64 de biți care rulează la 1.4GHz, dual-band 2.4GHz și LAN fără fir de
5GHz, Bluetooth 4.2 / BLE, capacitate Ethernet mai rapidă și PoE printr-un HAT PoE separat .
49
Modelul Raspberry Pi 3 B + păstrează aceeași amprenta mecanică ca ambele Raspberry
Pi 2 Model B și Raspberry Pi 3 Model B. Specificaţiile tehnice fiind prezentate in figura 6.
49
Schema logică a sistemului este prezentată ȋn figura 8.
49
Popularitatea în creștere, dar și puterea limbajului de programare Python au dus la
adoptarea sa ca limbaj principal de dezvoltare de către programatori specializați și chiar și la
predarea limbajului în unele medii universitare. Din aceleași motive, multe sisteme bazate pe
Unix, inclusiv Linux, BSD și Mac OS X includ din start interpretatorul CPython.
smtplib:
- definește un obiect de sesiune client SMTP care poate fi utilizat pentru a trimite email către
orice dispozitiv conectat la Internet
email.mime:
RPi.GPIO:
NumPy:
OpenCV:
Pillow lib:
49
Trainer.py e cel care face asocierea fiecărui folder din fişierul dataset cu o persoană.
face_cascade = cv2.CascadeClassifier('classifier_data.xml')
recognizer = cv2.face.LBPHFaceRecognizer_create()
# recognizer = cv2.createLBPHFaceRecognizer()
face_ID = -1
pev_person_name = ""
y_ID = []
x_train = []
49
Crop_Image = Gery_Image.resize( (550,550) ,
Image.ANTIALIAS) #Crop the Grey Image to 550*550 (Make sure your
face is in the center in all image)
Final_Image = np.array(Crop_Image, "uint8")
#print(Numpy_Image)
faces = face_cascade.detectMultiScale(Final_Image,
scaleFactor=1.5, minNeighbors=5) #Detect The face in all sample
image
print (face_ID,faces)
import cv2
import numpy as np
import os
import time
import mailing
import routine
# import board
class Recognizer:
def __init__(self):
self.labels = ['Barboni Madalina']
self.allowed = ['Barboni Madalina']
49
self.face_cascade =
cv2.CascadeClassifier('classifier_data.xml')
log('Face detector initialized.')
self.delta = 0.5
self.saw_faces = {}
self.starting_time = time.time() #starting timestamp
log('Staring time is %f' % self.starting_time)
49
def recognize(self):
while True:
ret, img = self.cap.read() # take a frame
if ret:
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
#convert Video frame to Greyscale
faces = self.face_cascade.detectMultiScale(gray,
scaleFactor=1.5, minNeighbors=5) #Recog. faces
for (x, y, w, h) in faces:
roi_gray = gray[y:y+h, x:x+w] #Convert Face
to greyscale
self.saw_faces[name][1] = time_st
49
self.mailer.notifyWhileInDnd()
self.kill()
break
else:
self.mailer.notifyWhileAway()
self.kill()
else:
print('Do something when other
than allowed')
cv2.rectangle(img,(x,y),(x+w,y+h),
(0,255,0),2)
def restart(self):
log('Recognized allowed face. Unlocking. Restarting...')
self.__init__()
def kill(self):
# When everything done, release the capture
self.cap.release()
cv2.destroyAllWindows()
# board.kill()
log('Recognizer is shut down ...')
49
import smtplib
import datetime
class sPiMailing:
def __init__(self, user_name, user_email):
self.email = 'sPiCameraProject@gmail.com' # email account
of the service
self.password = 'MSProject123'
self.smtp.ehlo()
self.smtp.starttls()
self.smtp.ehlo()
self.smtp.login(self.email, self.password)
msg = MIMEMultipart()
msg['From'] = self.email
msg['To'] = self.client[1]
msg['Subject'] = subject
attachment = open('intruder.jpg','rb')
msg.attach(MIMEText(text,'plain'))
part = MIMEBase('application','octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',"attachment;
filename= intruder.jpg")
msg.attach(part)
49
self.smtp.sendmail(self.email, self.client[1],
msg.as_string())
log('Email sent.')
def notifyWhileAway(self):
subject = 'Someone at the front door!'
text = 'Hello {0}!\n\n\tAt {1} sPi system has detected
someone at the front door while you are away. We\'ve attatched a
picture of the individual.\nBest regards the sPi
team!'.format(self.client[0].split()[0],
datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y"))
self.sendEmail(subject, text)
def notifyWhileInDnd(self):
subject = 'Someone was at your front door.'
text = 'Hello {0}!\n\n\tAt {1} sPi system has detected
someone at the front door during your do not disturb hours.
We\'ve attatched a picture of the individual.\n\nBest regards the
sPi team!'.format(self.client[0].split()[0],
datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y"))
self.sendEmail(subject, text)
def kill(self):
self.smtp.quit()
log('Mailing service is shut down ...')
Routine.py- sunt setate intervalele ȋn care utilizatorul nu doreşte să fie deranjat sau nu se află ȋn
locuinţă.
# import board
import mailing
49
doNotDisturb = False
awaySet = False
def init():
log('Routine initialized.')
def away():
global away_interval
global doNotDisturb
global awaySet
if doNotDisturb:
return True
if not awaySet:
return False
else:
now = datetime.now()
if away_interval[0] < now and away_interval[1] > now:
return True
else:
return False
def setDnd():
global doNotDisturb
if not doNotDisturb:
doNotDisturb = True
def setAvailable():
global away_interval
global doNotDisturb
doNotDisturb = False
away_interval = [datetime.now(), datetime.now()]
49
Logger.py este utilizat ȋn principal pentru depanare . Fiecare rulare a programului este salvată
ȋntr-un fişier text denumit log.txt.
def init_log():
logfile = open('log.txt', 'w')
logfile.write('<%s> Logfile cleared\n' % datetime.now())
def log(logmessage):
logfile = open('log.txt', 'a+')
logfile.write('<%s> %s\n' % (datetime.now(), logmessage))
print(logmessage)
Detectarea unui intrus ȋn faţa uşii duce la informarea utilizatorului printr-un email ca şi ȋn figura
9.
49
- Recunoașterea feței
- LED-uri de stare
in viitor:
- Aprobarea parametrilor de expunere a camerei pentru a determina dacă sunt necesare legături
infraroșii
CAPITOLUL 4. CONCLUZII
49
Internetul obiectelor (IoT) este un sistem de inter-operare a dispozitivelor de calcul,
mașinilor mecanice și digitale, stocul viu sau oamenii care sunt clasificați cu unic identificatori,
care conectează orice obiect cu Internetul, efectuează schimbul de informații și corespondența,
realizează recunoașterea intelectuală a obiectului, localizarea, urmărirea, monitorizarea și
managementul. Oferă soluții bazate pe integrare al tehnologiei informației (IT), care este
aplicația de computere pentru stocare, recuperare, transmitere și manipulare fără a fi nevoie de
informații om-umane sau umane- computerizarea computerului. În acest sens, IoT poate fi
definită ca "o infrastructură dinamică globală a rețelei cu capacități de auto-configurare bazate pe
standard și protocoale de comunicare interoperabile, acolo unde este fizic și lucrurile virtuale au
identități, atribute fizice și personalități virtuale ".
În prezent, internetul obiectelor (IoT) a câștigat o mare atenție din partea cercetătorilor,
deoarece devine o tehnologie importantă care promite o viață omenească inteligentă, permițând o
comunicare între obiecte, mașini și toate lucrurile împreună cu persoanele. IoT reprezintă un
sistem care constă în lucruri în lumea reală și senzori atașați sau combinați la aceste lucruri,
conectați la internet prin structura rețelei prin cablu și fără fir. .
Prin tehnologia IoT, lumea va deveni inteligentă în toate aspectele, deoarece IoT va
oferi un mijloc de orașe inteligente, asistență medicală inteligentă, case inteligente și clădiri, în
plus față de multe aplicații importante, cum ar fi energia inteligentă, rețeaua, transportul,
gestionarea și monitorizarea deșeurilor.
Python este un limbaj de programare care devine din ce ȋn ce mai utilizat . Din acest
motiv am considerat că trebuie prezentat ȋn această lucrare .
49
BIBLIOGRAFIE
Compton, M. & Mickelberg, K., 2014. Connecting Cybersecurity with the Internet of Things, s.l.:
PwC.
Continua Alliance, 2016. H.810 Interoperability design guidelines for personal connected health
systems, s.l.: s.n.
Gang, G., 2011. Internet of Things Security Analysis, International Conference on Internet
Technology and Applications. s.l., s.n. 71
IBM, 2015. Watson for a Smarter Planet: Healthcare. [Online] Available at: http://www-
03.ibm.com/innovation/us/watson/
IDC, 2014. U.S. Wearable Computing Device 2014–2018: Forecast and Analysis, s.l.: s.n.
IDC, 2016. Worldwide Internet of Things Forecast Update: 2015 – 2019, s.l.: s.n.
Iera, A., Morabito, G. & Atzori, L., 2010. The Internet of Things: 20th Tyrrhenian Workshop on
Digital Communications. s.l.:Springer.
Internet of Things Russian research center, 2013. What is holding up the IoT. [Online] Available
at: http://internetofthings.ru/issledovaniya/26-v-chjom-sila-interneta-veshchej
IPSO alliance, n.d. Enabling IoT devices' interoperability. [Online] Available at:
http://www.ipso-alliance.org/
James Payne, Begining Python- Using Python 2.6 and Python 3.1 . [Online]
PwC, 2014. PwC Global State of Information Security Survey 2015, s.l.: s.n.
49
Vermesan, O., Friess, P., Guillemin, P. & Gusmeroli, S., 2011. Internet of things strategic
research roadmap. In: Internet of Things: Global Technological and Societal Trends. s.l.:s.n., pp.
9-52.
Wei, W. & Toenjes, R., 2012. A Comprehensive Ontology for Knowledge Representation in the
Internet of Things, s.l.: IEEE 11th International Conference on Trust, Security and Privacy in
Computing and Communications.
Zeinab Kamal Aldein Mohammeda, Elmustafa Sayed Ali Ahmed ,Electrical and Electronic
Engineering Department, Red Sea University, Sudan, Internet of Things Applications,
Challenges and Related Future Technologies
https://www.link-academy.com/cursul-python-limbaj-de-programare
https://ro.wikipedia.org/wiki/Python
OpenCV: https://opencv.org
DrawIO: https://draw.io
smtplib: https://docs.python.org/3/library/smtplib.html
Email.mime: https://docs.python.org/2/library/email.mime.html
NumPy: https://www.numpy.org
49