(va fi atasata dupa coperta) [629791]
(coperta)
UNIVERSITATEA “LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE INGINERIE
DEPARTAMENTUL DE CALCULATOARE ȘI INGINERIE ELECTRICĂ
PROIECT DE DIPLOMĂ
Conducator științific : c.d. cu grad și titlul de doctor
Îndrumător: c.d. ce s -a ocupat de s tudent
Absolvent:
(Nume Prenume )
Specializarea ………………………….
– Sibiu, 20…. –
(va fi atasata dupa coperta)
UNIVERSITATEA “LUCIAN BLAGA” DIN SIBIU
FACULTATEA DE INGINERIE
DEPARTAMENTUL DE CALCULATOARE ȘI INGINERIE ELECTRIC Ă
TITLUL TEMEI
(se scrie denumirea temei mentionata in planul tematic ; dupa aceasta pagina
se ataseaza planul tematic si lucrarea )
Conducător științific: c.d. cu grad și titlul de doctor
Îndrumător: c.d. ce s -a ocupat de student: [anonimizat]:
(Nume Prenume )
Specializarea ……………………………..
1. Introducere
1.1 Tema și scopul lucrării
1.2 Obiective propuse
1.3 Structura documentului
2. Noțiun i introductive și teoretice
2.1 Sisteme încorporate
Inainte de a vorbi despre noțiunea de sistem încorporat, trebuie sa ne referim la noțiunea
de sistem. C e este un sistem? Ce reprezintă un sistem?
Un sistem reprezintă un aranjament, în care toate eleme ntele componente ale acestuia
funcționează impr eună pe baza unui set de reguli bine definit. Un sistem poate fi deasemenea
definit ca un mod de a lucra, organiza sau de a îndeplini una sau mai multe sarcini în
conformitate cu un plan fix, pe baza unui set de reguli bine definite. De exemplu, un ceas
reprezintă un sistem de afișare a timpului. Componentele acestuia urmează un set de reguli bine
definite pentru a afișa timpul. Dacă una din piesele componente ale ceasului se defecteaza, ceasul
va înceta să fun cționeze. Deci putem spune că într -un sistem toate elementele componente ale
sale depind unul de altul.
Noțiunea de încorporat ( embedded ), după cum sugerează și numele , este ceva care este
atașat de un al lucru sau integrat în acel lucru, parte din acel lu cru.
Astfel, revenind la noțiunea de sistem încorporat (embedded system), poate fi privit ca un
mini-computer din punct de vedere hardware, având un program(software), încorporat sau
integrat in el.
Un sistem încorporat poate fi un sistem independent sau de cele mai multe ori, este parte
a unui sistem mai mare.
Un sistem încorporat(embedded system) este un sistem bazat pe un microcontroller sau
un microprocesor, proiectat pentru a îndeplini o sarcină specifică.
De exemplu, o alarmă de incendiu este un s istem încorporat, care va detecta numai
fumul.
Un sistem încorporat este alcătuit din trei componente principale :
▪ sistemul hardware sau simplu, hardware
▪ programul sau aplicația software
▪ sistem de operare în timp real sau RTOS(Real -Time Operating System)
Sistemul de operare în timp real (RTOS) supravegheaza aplica ția software, deasemenea
definește modul în care funcționează sistemul încorporat per amsamblu si stabileste regulile de
execție a aplicație software(programului), chiar in timpul exectiei program ului(aplicației). Unele
sisteme incorporate de scara mica(având o dimensiune foarte mica), pot să nu conțină un sistem
de operare în timp real(RTOS).
Avantaje ale sistemelor încorporate:
▪ ușor de personalizat
▪ consum redus de putere
▪ cost scăzut
▪ performanță înbunătățită
Dezavantaje ale sistemelor încorporate:
▪ efort de dezvoltare foarte mare
▪ disponibil pe piață un timp îndelungat
2.1.1 Caracteristici ale unui sistem încorporat
Unele dintre cele mai importante caracteristici ale unui sistem încorporat/dedic at sunt
următoarele :
▪ Au func ționalitate singulară – un sistem încorpora t/dedicat, este proiectat pentru a
efectua o operație specializată pe care o execută în mod repetat, ex . un pager va func ționa
ca un pager.
▪ Constrângeri de proiectare foarte mari – toate sistemele de calcul au constrângeri în
ceea ce privește valorile de proiectare (metrici) , însă la sistemele incorporate, aceste
constrângeri pot fi foarte mari și stricte . Prin intermediul valorilor de proiectare sau
metricilor de proiectare, este măsurat ă o implementare a unor caracteristici cum ar fi
costul cip -ului, dimensiune, putere și performanță. Acesta (sistemul încorporat), trebuie
sa fie de dimensiune mică sau foarte mică, pentru a se potrivi pe un singur cip, trebuie să
fie suficient de rapid pe ntru a procesa datele în timp real și consumul de energie trebuie
să fie cât mai scăzut (consum de energie cât mai mic), pentru a prelungi durata de viață a
bateriei.
▪ Reactiv și în timp real – marea majoritate a sistemelor încorporate trebuie să reacționez e
în mod continuu la schimbările din mediul în care se află sistemul și în același timp
trebuie să proceseze anumite date în timp real fără nici o întârziere.
▪ Sisteme îcorporate bazate pe microprocesoare – cipul trebuie să fie alcătuit dintr -un
microproces sor sau microcontroller (bazat pe microprocessor sau microcontroller).
▪ Memoria – acesta trebuie să aibă o memorie, deoarece programul sau software -ul lui este
încorporat(scris) în memoria ROM(read -only memory), neavând nevoie de alte memorii
incorporate/in tegrate în propriul cip.
▪ Conectat – acestea trebuie să aibă periferice conectate astfel încât să se poată conecta cu
alte dispositive de intrare și de ieșire.
▪ Sisteme hardware -software(HW/SW) – Software -ul(programul) este folosit pentru
funcționalități și flexibilitate, iar hardware -ul este folosit pentru performanță și securitate.
2.1.1.1 Structura de bază a unui sistem incorporat
Următoarea figură ilustrează structura de bază a unui sistem încorporat :
Figura I
Elemente componente:
▪ Senzori – aceștia măsoară cantitatea fizică și o transformă într -un semnal electric care
poate fi citit de către un observator sau prin orice intrument electronic cum ar fi un
convertor anal og-digital sau ADC(analog to digital converter).
▪ Convertoare analog -digitale – un convertor analog -digital sau analog -numeric,
cunoscut sub denumirea generică de ADC sau analog to digital converter, convertește
semnalul analogic transmis de un senzor într -un semnal digital(semnal numeric).
▪ Procesoare și ASIC -uri(ASICs) – procesoarele prelucrează sau procesează datele
măsurate de către dispozitivele externe(ex. senzori), iar apoi rezultatele prelucrării sunt
stocate în memorie.
▪ Convertoare digital -analogice – un convertor digital -analogic sau numeric -analogic,
cunoscut sub denumirea ge nerică de DAC sau digital to analog converter , convertește
datele digitale(numerice) transmise de către procesor în date analogice.
▪ Dispozitive de acționare sau actuator – un dispozitiv de acționare sau actuator compară
ieșirea dată de un convertor digital -analogic(DAC) cu valoarea care provine de la un
dispozitiv extern(senzori), iar daca valoarea primită este în intervalul de valori date de
convertorul analog -digital, atunci valoarea primită este aprobată.(to check).
2.1.2 Diferența dintre un microproce sor și sistem încorporat
Procesorul este inima unui sistem încorporat. Este unitatea de bază care preia datele de
intrare și produce date de ieșire după procesarea acestora.
Tipuri de microprocesoare :
▪ microprocesoare
▪ microcontrollere
▪ procesoare integra te sau încorporate
▪ procesoare de semnal(DSP)
▪ procesoare media
Un microprocesor es te alcătuit dintr -un singur cip de tip VLSI (Very -Large -Scale –
Integration) sau integrare pe scară foarte mare a circuitelor electronice, având integrat în
interiorul acestuia un procesor . Deasemenea un microprocesor poate avea și alte unități cum ar fi
unitate aritmetico -logică(ALU) și unități de procesare pipeline care ajută la procesarea rapidă a
instrucțiunilor.
Un microcontroller sau microcomputer este alcătuit dintr -un singur cip de tip VLSI(Very –
Large -Scale -Integration) sau integrare pe scară foarte mare a circuitelor electronice , care deși au
capacități de procesare limitată, au capacitatea de a efectua calcule sau procesări limitate,
deasemenea au capacitatea de a proc esa date de intrare -ieșire foarte rapid și un număr de unități
funcționale integrate în cip foarte mare și îmbunătățite.
Principalele unități integrate în cip -ul unui microcontroller sunt :
Microcontroller -ele sunt utilizate în special în domeniul sis temelor încorporate pentru
aplicații de control în timp re al, având memorie și alte dispozitive integrate în cip cum ar fi CPU,
RAM, ROM, etc.
Principalele diferențe dintre un microprocesor și un microcontroller sunt:
Microprocesor Microcontroler
Microp rocesoarele sunt multitasking în
general. Pot executa sarcini multiple la un
moment dat. De exemplu un computer poate
reda muzica în timp ce scrie într -un editor text Este in general single task. De exemplu, o
mașină de spălat este proiectată doar pentru a
spăla haine.
RAM,ROM,porturi I/O, și cronometrele pot fi
adăugate extern si pot varia ca și număr. RAM,ROM porturi I/O, si cronometrele nu
pot fi adăugate extern. Aceste componente
sunt integrate împreună într -un cip și sunt în
număr fix.
Proiectanții p ot decide numărul de memorii
sau porturi I/O necesare. Un număr fix pentru memorii sau I/O face un
microcontroler ideal pentru o cerință limitată
dar specifică.
Suportul extern al memoriei externe si al
porturilor I/O face un sistem bazat pe
microprocesor mai greu si mai costisitor. Microcontrolerele sunt mai facile și mai
ieftine decât un microprocesor.
Dispozitivele externe necesita mai mult spațiu
iar consumul lor este mai ridicat. Un sistem bazat pe microcontroler consuma
mai puțină energie si ocupă m ai puțin spațiu.
2.2 Conceptul “Internet of Things – IoT”
Internetul tuturor lucrurilor sau în limba engleză “Internet of Things – IoT”, este un
concept care define ște o lume în care toate obiectele cum ar fi mașini, electrocasnice, sisteme de
iluminat, dispozitive mobile, dispozitive portabile sunt conectate între ele cu ajutorul
internetului.
Sistemele “Internet of Things – IoT”, permit utilizatorilor să beneficieze de sisteme foarte
bine automatizate, analiza și integrarea lor cu ușurință al ături de alte sisteme. Sistemele “Internet
of Things – IoT” utilizează tehnologii existente și emergente pentru detecție, rețele și robotică.
Elementele noi și avansate ale sistemelor ”Internet of Things” aduc schimbări majore în livrarea
de produse, bunur i și servicii.
2.2.1 Caracteri sticile ”Internet of Things – IoT”
Unele dintre cele mai importante caracteristici ale sistemelor “Internet of Things – IoT”,
includ inteligența artificeală, conectivitate, senzori, implicare activă și utilizarea de dispozit ive
de dimensiune redusă .
O descriere amănunțită a acestor caracteristici este detaliată mai jos:
▪ Inteligență artificială – IA – sistemele “Internet of Things – IoT”, fac practic
orice lucru inteligent, îmbunătățesc fiecare aspect al vieții prin puterea f oarte
mare de colectare și procesare rapidă a datelor, prin folosirea de algoritmi de
inteligență artificeală și a rețelelor de calculatoare.
▪ Conectivitate – prin intermediul noilor tehnologi ge nerice pentru crearea de rețele
și în mod special în crearea d e rețele cu ajutorul sistemelor Internet of Things –
IoT, numite rețele Internet of Things – IoT, astfel rețelele medii nu mai sunt legate
în mod exclusiv de furnizorii majori, care dețin majoritate, monopol. Astfel
rețelele pot exista la o scară mult mai mică și ieftină, în timp ce pot deveni tot mai
practice. Prin intermediul c onceptul ui “Internet of Things – IoT”, sunt create
rețele de dimensiuni mici între dispozitivele care sunt conectate între ele.
▪ Senzori – sistemele “Internet of Things” își pierd d istincția fără existența
senzorilor. Senzorii acționează ca instrument definitoriu care transformă sistemele
“Internet of Things – IoT”, dintr -o rețea pasivă de dispozitive într -un sistem activ
capabil să integreze dispozitivele din rețea să proceseze date în timp real.
▪ Implicare activă – o mare parte din interacțiunea de azi cu tehnologia conectată
se întâmplă printr -un mediu cu implicare pasivă. Conceptul “Internet of Things –
IoT”, introduce o nouă paradigmă pentru conținut activ sau în timp real, produs e
sau servicii.
▪ Dispozitive de dimensiune redusă – dispozitivele, după cum a fost predicționat,
au devenit mai mici sau au o dimensiune redusă, mai ieftine și mai puternice de -a
lungul timpului. Conceptul ”Internet of Things – IoT”, exploatează dispoziti ve
care au o dimensiune redusă special construite pentru a oferi precizie, scalabilitate
și versatilitate.
Avantajele dispozitivelor “Internet of Things – IoT” sunt urm ătoarele :
▪ Optimizare tehnologică – aceleași tehnologii și date care îmb unătățesc
experi ența clienților, deasemenea îmbunătățesc și utilizarea dispozitivelor, iar
toate aceste îmbunătățiri duc la dezvoltatea de noi tehnoogi mai rapide și mai
puternice.
▪ Consum redus de deșeuri – sistemele “Internet of Things – IoT”, prin faptul
că oferă inform ații din mediul înconjurător în timp real, această caracteristică
poate să conducă la o gestionare mai eficientă și inteligentă a resurselor.
▪ Colectare eficientă a datelor – sistemele actuale de colectare a datelor în
unele cazuri sunt ineficiente din cauz a limitărilor datorate modului de
implementare și a utilizării pasive . Sistemele ”Internet of Things – IoT”,
colectează datele mult mai eficient deoarece le plasează exact unde oamenii le
caută sau au nevoie de ele, astfel cu ajutorul acestor sisteme este realizată o
selecție mult mai corectă și mai precisă a datelor.
Dezavantajele dispozitivelor “Internet of Things – IoT”, sunt urm ătoarele :
▪ Securitate – prin intermediul sistemelor “Internet of Things – IoT”, sunt create
ecositeme de dispositive conecta te între ele prin intermediul unei rețele, care
comunică între ele, astfel în ciuda oricăror măsuri de securitate, sistemele IoT
oferă control redus din partea utilizatorilor, astfel acest lucru lasă utilizatorii să
fie expuși la diferite tipuri de atacuri .
▪ Intimitate – un dezavantaj major al dispozitivelor “Internet of Things – IoT”, îl
reprezintă faptul că colectează date din mediul înconjurător inclusiv date despre
utilizatorii care folosesc aceste dispositive, astfel sunt colectate date cu
character personal foarte detaliate fără înștințarea activă a utilizatorului.
▪ Complexitate – unele sisteme “Internet of Things – IoT”, pot fi considerate
complicate în ceea ce privește proiectarea, impleme ntarea și întreținerea
deoarece sunt interconectate mai mu lte tehnologii între ele și un set larg de
tehnologii generice.
▪ Flexibilitate – principala îngrijorare în legătură cu flexibilitatea a unui sistem
“Internet of Things – IoT”, o reprezintă integrarea cu ușurință alături de alte
sisteme, altfel în noul s istem pot apărea conflicte în ceea ce privește integrarea
iar acestea pot duce la blocarea sistemului.
▪ Conformitate – dispozitivele “Internet of Things – IoT”, ca orice altă
tehnologie expusă spre comercializare trebuie să respecte anumite reglementări
în ceea ce privește punerea pe piață a unor produse. Complexitatea acestor
sisteme face ca reglementarea lor pe piață, pentru a fi expuse spre
comercializare să reprezinte o provocare, atunci când conformitatea software –
ului cu sistemul reprezintă o adevăr ată bătălie.
2.2.1.1 Internet of Things – Hardware
Hardware -ul utilizat în cadrul sistemelor “Internet of Things – IoT”, poate include
dispozitive pentru control la distanță, dispozitive pentru control al proceselor, servere, routere și
senzori. Aceste d ispozitive gestionează sarcini și funcționalități cheie cum ar fi activarea
anumitor sisteme în funcție de specificații, securitate sau să sprijine anumite obictive și acțiuni.
Senzori “Internet of Things – IoT”
Unul dintre cele mai importante piese hard ware din cadrul sistemelor de tip “Internet of
Things – IoT”, îi reprezintă senzorii. Alte dispozitive pot fi din cadrul sistemelor “Internet of
Things – IoT”, pot fi modulele de înmagazinare a energiei, modulele de gestionare a energiei,
modulele de radio -frecvență, modulele Blutooth, modulele Wireless și modulele senzorilor
folosiți folosiți in detecția diferitelor cantități fizice.
O listă cu cei mai des folosiți senzori și dispozitive, în cadrul sistemelor “Intrnet of
Things – IoT”, sunt:
Nr.Crt. Dispozitive
1. accelerometre senzori de temperatură
2. magnetometre – senzori magnetici senzori de proximitate
3. giroscoape senzori de lumină
4. senzori acustici senzori RFID pentru detecția gazului metan
5. senzori de presiune senzori de umidit ate
Dispozitive “wearables” – ”Wearables electronic ”
Dispozitivele electronice de purtat – “wearables electronic”, sunt dispozitive mici care pot
fi purtate atât la gât, pe cap, cât și la mâini și picioare.
Figura II
“Ceasurile inteligente, nu numai că ne ajută să rămânem conectați, ci ca parte a unui sistem de tip IoT, ele permit
accesul necesar la anumite aplicații pentru îmbunătățirea productivității.”
Printre dispozitivele inteligente “de purtat”, cunoscute sub numele de “smart wearables”,
se nu mără :
▪ Pentru cap(head) – căști de protecție, ochelari
▪ Pentru gât(neck) – bijuterii, gulere
▪ Pentru brațe, mâini, degete(arm) – ceasuri, brățări, inele
▪ Pentru corp(body) – îmbrăcăminte, rucsacuri
▪ Pentru picioare(feet) – șosete, pantofi
Dispozitive standard
Desktop -ul, tableta, telefonul mobil sau smart phone -ul, rămân parte integrată din cadrul
sistemelor “Internet of Things – IoT”, ca și dispozitive de comandă și control a acestora.
▪ Desktop -ul – oferă utilizatorului cel mai înalt nivel de control asupra si stemului și a
setărilor acestuia.
▪ Tableta – oferă acces la caracteristicile cheie ale sistemului într -un mod asemănător
desktop -ului și de asemenea se comportă ca un dispozitiv de comandă și control de la
distanță(remote).
▪ Telefon mobil sau smart phone – permit efectuarea de modificări esențiale asupra unor
setări și oferă deasemenea funcționalitatea de control de la distanță(remote).
Alte dispozitive cheie, la care sunt conectate dispozitivele “Internet of Things – IoT”, includ
dispozitivele standard de re țea cum ar fi routere și switch -uri.
2.2.1.2 Internet of Things – Software
Software -ul sau aplicațiile utilizat e în cadrul sistemelor “Internet of Things – IoT”,
reprezintă o piesă vitală a sistemelor “Internet of Things – IoT”, care le îmbunătățesc pe acestea
prin adăugarea de caracteristici și funcționalități dorite. Aplicațiile sau soft -urile folosite în
cadrul acestor sisteme sunt responsabile de colectarea datelor, integrarea dispozitivului în rețea
alături de alte dispositive, preluarea și analiza datelor în timp real, de întreținerea aplicaților
existente și extindrea proceselor existente în cadrul rețelei de dispositive “Internet of Things –
IoT”. Prin intermediul acestor caracteristici, în cadrul rețelei de dispozitive IoT, pot fi integrate
diferite sisteme critice conectate cu alte sisteme pentru a executa anumite sarcini sau task -uri.
▪ Colectarea datelor – prin intermediul soft -ului sau aplicației de colectare a datelor, sunt
gestionate datele care vin de la senzori conectați în sistem , filtra rea datelor după anumite
reguli care vin de la senzori sau alte dispozitive conectate în sistem, securitatea datelor
din cadrul sistemului și agregarea datelor din sistem. Deasemenea sunt folosite diferite
protocoale de comunicație pentru a conecta senzori existenți alături de alte dispozitive
din rețea , pentru ca comunicarea să se desfășoare în timp real. Apoi sunt colectate date de
la diferite dispozitive conectate în rețea, iar aceste date sunt distribuite, în conformitate cu
anumite setări, unui server central sau altor dispozitive conectate în rețea.
▪ Integrarea dispozitivelor în rețeaua IoT – software -ul sau aplicațiile de integrare leagă
între ele toate dispozitivele existente în rețea pentru a crea un nou sistem , care să facă
parte din conceptul ”Inte rnet of Things – IoT”, acesta devenind un sistem de tipul
”Internet of Things – IoT”, deasemenea acestea asigură cooperarea necesară și crearea de
rețele stabile între dispozitive , astfel, fără existența acestor aplicații, care sunt elementele
definitorii ale unui sistem de tip “Internet of Things – IoT”, nu mai putem vorbi de un
sistem de tip “Internet of Things – IoT”.
▪ Preluarea și analiza datelor în timp real – aceste aplicații preiau date de la diferite
dispozitive, iar aceste date sunt transformate pe baza unor algoritmi de prelucrare a
datelor, în modele clare pentru a fi analizate de către oameni. Aceste aplicații analizează
datele pe baza unor setări sau modele definite de către algoritmi de prelucrare a datelor,
cu scopul de a executa anumite sarcin i în mod automat sau de a furniza datele cerute de
către sistem prin intermediul intervenției umane.
▪ Înreținerea aplicațiilor existente și extinderea proceselor – acest tip de aplicații
îmbunătățesc caracteristicile sau funcționalitățile sistemului , acestu ia adăugându -se
funcționalități noi sau îmbunătățindu -se cele existente, făcând sistemul să aibă o utilitate
mai mare și să devină mult mai eficient, astfel este îmbunătățită productivitatea, iar
colectarea datelor devine mai eficientă.
2.2.2 Defecte d e securitate si vulnerabil ități în Internet of Things – IoT
Defectele de securitate și vulnerabilitățile sistemelor “Internet of Things – IoT”, și
capacitatea acestora de a îndeplini anumite sarcini deschide ușa către orice tip de vulnerabilitate.
Figura III
“Acest termostat inteligent poate permite accesul persoanelor neautorizate, de la distanță să controleze termostatul și
alte dispoz itive conectate în rețea, dacă rețeaua nu este securizată corespunzător ”
Cele trei mari și principale vulnerabilități ale sistemelor “Internet of Things – IoT”, sunt
reprezentate de defecțiune a dispozitivului sau sistemului( device malfunction ), atacuri
cibernetice (cyber attacks ) și furtul de date (data theft ), aceste defecțiuni putând duce la
probleme foarte grave.
▪ Defecțiunea dispozitivului (device malfunction ) – prin intermediul sistemelor de tip
“Internet of Things – IoT”, se introduce un nivel mai profu nd de automatizare și control
asupra sistemelor critice precum și sistemelor cu impact asupra vieții și a proprietății
individului. Când aceste sisteme se defectează pot cauza daune substanțiale asupra vieții
indivizilor, astfel forțând producătorii de ast fel de sisteme să i -a măsuri împotriva acestui
tip de defecțiune.
▪ Atacuri cibernetice(cyber attacks) – dispozitivele “Internet of Things – IoT”, conectate
într-o rețea cu acces la internet, dacă nu sunt securizate corespunzător, dau posibilitatea
persoanel or neautorisate sau hackerilor să acceseze și să controleze dispozitivele
conectate în aceea rețea. Măsurile cele mai eficiente împotriva atacurilor cibernetice pot
fi următoarele:
➢ Securizarea dispozitivului din fabric ă(built -in security) – indivizii și
organizațiile care folosesc astfel de dispozitive, ar trebui să caute și să
folosească dispozitivele a căror securitate este integrată în hardware -ul sau
firmware -ul dispozitivului.
➢ Criptare( encryption) – criptarea trebie implementată de către
producătorul s istemului .
➢ Analiza riscului(risk analysis) – indivizii sau organizațiile trebuie să
analizeze posibilele amenințări , în momentul proiectării acestor sisteme
sau în momentul în care sunt cumpărate.
➢ Autorizare(authorization) – astfel de dispoz itive trebuie s ă fie supuse,
ori de câte ori este nevoie unor politici și metode de acces care să include
anumite privilegii, dând access doar anumitor persoane autorizate sau
având anumite privilegii de acces.
Figura IV.
Bitdefender Box – securizează toate dispozitivele
“Internet of Things – IoT”, conectate în interiorul unei
case
▪ Furtul de date (data theft ) – datele, reprezintă atât puterea cât și s lăbiciunea sistemelor
“Internet of Things – IoT” ,iar aceast ă breșă de securitate se dovedește a fi irezistibilă
pentru mulți indivizi, astfel furtul datelor cu caracter personal, pote fi folosit în scopuri
precum marketing, furtul identității, folosirea id entității individului în comiterea de acte
ilegale. Măsurile luate împotriva acestor atacuri pot fi eficiente în gestionarea acestui tip
de amenințare.
2.3 Platforma Raspberry Pi
Raspberry Pi este un SBC(Single -Board Computer) sau un computer pe un sing ur
PCB(Printed Circuit Board) , de dimensiunile unui card de credit, produs în Marea Britanie de
către Raspberry Pi Foundation(Fundația Raspberry Pi), cu scopul de a promova învățarea
noțiunilor de bază din domeniul informaticii în școli.
2.3.1 Istoric
În anul 2006, primele concepte ale platformei Raspberry Pi, erau bazate pe un
microcontroller Atmel ATmega 644. Reprezentantul fundației Raspberry Pi, Eben Upton, a
strâns un grup de profesori, academicieni și pasionați de computere și informatică, cu scopul de a
concepe un computer pentru a -i inspira pe copii și a -i motiva să învețe conceptele informatici și a
computerelo r. Computerul a fost inspirat după BBC M icro sau BBC Microcomputer System , o
serie de mini -computere, proiectate și dezvoltate de către co mpania Acorn Computer în anul
1981 pentru “BBC Computer Literacy Project”, proiect deținut și finanțat de către BBC(British
Broadcasting Corporation).
Figura V.
BBC Microcomputer System sau BBC Micro Model A/B
– configurația standard produsă de Acorn Computer pentru BBC în
anul 1981
Figura VI.
Raspberry Pi Model B, Mini -Computer -ul, produs de către Raspberry
Pi Foundation
Primul prototip de computer bazat pe un procesor ARM a fost asamblat într -o carcasă de
dimensiunea unui stick USB de memorie. Avea la un capăt un port USB și la celălalt capăt un
port HDMI.
Fundația Raspberry Pi(The Raspberry Pi Foundation), este o fundație de caritate fondată
în anul 2009 de către un grup de profesori și academicieni alături de reprezentantul fundației
Eben Upt on, creată pentru a promova sudiul științei calculatoarelor și a informaticii în școli, iar
deasemenea fundația este responsabilă de dezvoltarea mini -computer -ului(SBC -ului), care poartă
numele de Raspberry Pi, unul din cele mai bine vândute computere din toate timpurile în Marea
Britanie.
Misiunea fundației, conform raspberrypi.org, este aceea de a pune în mâinile oamenilor,
peste tot în lume, cunoștiințe necesare pentru a înțelege conceptele digitale din jurul nostru,
oferind mini -computere performante l a un preț foarte mic și resursele necesare pentru a învăța, a
rezolva probleme și a se distra învățând conceptele digitale și informatice folosindu -se de
platforma Raspberry Pi.
2.3.2 Caracteristici
La o distanță de câțiva ani și câteva generații, de când Raspberry Pi, a apărut pe piață, de
la prima variantă comercializată, adresată publicului larg, prima generație fiind Raspberry Pi 1
Model B, lansată oficial în Februarie 2012, de atunci platforma Raspberry Pi a câștigat
notorietate foarte mare , având o d imensiune mică, fiind relativ ieftin și suficient de puternic
pentru un mini -computer. Toate modelele sunt dotate cu un sistem Broadcom pe un singur cip
sau Sistem on Chip(SoC) , care include un procesor ARM și o placă grafică integrată în cip, un
GPU Video Core IV. Viteza procesorului(CPU), variază între 700 MHz până la 1.2 GHz, iar
memoria RAM(random -access memory), variază între 256 MB până la 1 GB.
Cardurile de memorie SD(Secure Digital Cards) sunt folosite ca să stocheze sistemul de
operare(SO) și progr amele în memorie, cadurile SD, fiind ca un fel de hard disk(HDD) pentru
Raspberry Pi. Deasemenea cele mai multe plăci au între unu și patru sloturi USB , un port
HDMI(High -Definition Multimedia Interface), o ieșire video, o ieșire audio și o serie de pini, de
intrare -ieșire de tip GPIO(General -Purpose Input/Output), prin care placa poate comunica cu
diverse dispozitive externe, atașate acesteia cum ar led -uri, senzori, etc suportând protocoale de
comunicație precum SPI și I2C. Raspberry Pi Model B, au în plu s și un port Ethernet, iar
Raspberry Pi 3 are integrat WiFi și BLE(Bluetooth Low Enargy).
Avantaje
– este de dimensiune foarte mic ă, de mărimea unui card de credit aproximativ
– funcționează aproape ca un computer normal, având un preț relativ mic
– poate fi folosit ca și server web
– grupând un set de plăcuțe Raspberry Pi să funționeze ca un server de sine stătător, este cu
mult mai ieftin față de un server normal, astfel se poate obține un server relativ bun și
stabil, cu un buget foarte mic
Deza vantaje
– chiar dacă Raspberry Pi , poate să execute diferite sarcini, există unele limitări din
cauza hardware -ului său
– datorită procesorului, acesta nu poate rula sisteme de operare pe 32 de biți(x86), astfel
unele distribuții de Windows și Linux nu sunt compatibile cu acesta
– unele aplicații care necesită resurse de procesare foarte mari sunt în afara limitelor
suportate de către Raspberry Pi
– se poate apropia ca performanțe de un computer personal dar nu -l poate înlocui
2.3.3 Raspberry Pi 2 Model B Specificații Hardware
Raspberry Pi 2 Model B are un procesor de tip Broadcom BCM2836 îmbunătățit, care
este bazat pe o arhitectură de tip ARM Cortex -A7 quad -core processor, care rulează la 900 MHz,
deasemenea o altă caracteristică este aceea că capacitatea memo riei RAM a cres cut până la 1
GB(Gbyte).
Figura VII.
Raspberry Pi 2 Model B, produs de către Raspberry Pi Foundation
Specificații
• Dimensiuni : 85mm x 56mm x 17mm
• Procesor : Broadcom 900 MHz BCM2836 ARMv7 Quad Core Processor SoC
• Placă grafică(video) : Broadcom VideoCore IV GPU
• Memorie RAM : 1 GB RAM
• Porturi USB : 4 x USB 2.0 Ports with up to 1.2A output
• Pini GPIO : Expanded 40 -pin GPIO Header
• Alte porturi : Video/Audio Out via 4 -pole 3.5mm connector, HDMI, or Raw LCD (DSI)
• Card de memorie : microSD
• Port Ethernet : 10/100 Ethernet (RJ45)
• Periferice Low -Level :
▪ 27 x GPIO
▪ UART
▪ I2C bus
▪ SPI bus with two chip selects
▪ +3.3V
▪ +5V
▪ Ground
• Tensiune de alimentare : 5V @ 600 mA via MicroUSB or GPIO Header
• SO suportate : Windows 10, Debian GNU/Linux, Raspbian, Fedor a, Arch Linux, RISC OS.
Porturile GPIO
Pini GPIO pot fi configurați ca pini de intrare, ca pini de ieșire sau ca pini cu setări
alternative, dependenți de alți pini.
Maparea porturilor de intrare -ieșire de uz general(GPIO)
Figura VIII.
Maparea porturilor GPIO și semnificția acestora pe interfața hardware Raspberry Pi
Figura IX.
Maparea porturilor GPIO și descrierea detaliată a acestora din punct de vedere hardware
2.3.4 Sistemul de operare Raspbian
Generalități SO
Un sistem de operare(SO), reprezintă în fapt, un pachet de programe(produs software)
care gestionează resursele unui sistem de calcul și le pune la dispoziția utilizatorului, gestionarea
resurselor este funcționalitatea de bază deoarece, ea este cea care “dă viață ” hardware -ului,
această funcție fiind responsabilă de gestionarea tuturor resurselor sistemului de calcul.
Princicalele resurse pe care sistemul de operare le gestionează sunt:
▪ memoria principal ă
▪ spațiul de intrare -ieșire(I/O)
▪ unitatea centrală(CPU – central processing unit)
Punerea re surselor la dispoziția utilizatorilor, prin utilizatori, înțelegem programele de
aplicație sau programatorii de aplicații, astfel gestionarea resurselor reprezintă o problemă
internă a sistemului de operare sau a proiec tanților SO , iar problema punerii la dispozitie a
resurselor este problema principala a utilizatorilor unui SO .
Figura X.
Nivele de acces la resursele unui sistem de calcul – nivelul fizic , presupune
cunoașterea hardware -ului și
programarea la nivel de adrese și
porturi, ne bazăm numai pe
resursele hardware .
– nivelul BIOS , constă în servicii
implementate în ROM -BIOS,
specifice mașinii respective,
asigurând funcții specific pentru
accesul la fiecare resursă,
obținându -se portabilitate .
– nivelul (D)OS sau API ,
reprezintă interfața SO cu
programel e de aplicații, astfel
obținându -se programare ușoară
și productivitate mare .
– nivelul obiectual(aplicație) ,
asigurat de ierarhiile de obicte
specializate, ascunde
programatorului api -ul SO,
crescându -se productivitatea
programatorului în crearea de
aplicaț ii.
Sistemul de operare Raspbian – Generalități
Raspbian este sistemul de operare recomandat de către Raspberry Pi Foundation,
pentru a fi utilizat pe platforma Raspberry Pi.
Raspbian este un sistem de operare gratuit care este bazat pe o distribuț ie de Linux,
numită Debian, optimizat pentru hardware -ul Raspberry Pi.
Sistemul de operare Raspbian vine cu peste 35.000 de pachete de programe(software),
precompilate într -un format ușor de instalat pe hardware -ul Raspberry Pi.
Raspbian este un proiect , ai comunității de dezvoltatori Raspberry Pi Foundation, a cărei
dezvoltare este activă, cu accent pe îmbunătățir ea stabilității și a performanței cât și de crearea a
cât mai multor pachete de programe(software), pentru Raspbian.
Versiunea inițială a sist emului de operare Raspbian, a fost creată de Mike Thompson și
Peter Green, ca un proiect de sine stătător(independent), aceasta fiind finalizată în Iunie 2012.
Pentru a instala Raspbian este nevoie de un card de memorie SD, a cărei dimensiune a
spațiului d e stocare disponibil , să fie de minim 8 GB, care va conține fișierul de imagine(.img), a
sistemului de operare Raspbian a cărui dimensiune este de 4 GB, fișier care poate fi descărcat de
pe raspberrypi.org, ultima versiune fiind apărută în Ianuarie 2017.
Pentru a instala, actualiza și a șterge pachete de programe(software), se folosește
opțiunea APT(Advanced Packaging Tool), din Debian, iar pentru a efectua aceste operații,
utilizatorul trebuie să aibă privilegii de administrator, fiind logat ca “root”, sau având opțiunea
sudo în fața acestor operații.
sudo apt-get install something
▪ comandă folosită la instalarea unui pachet de programe, unde “something ” reprezintă
pachetul pe care dorim să -l instalăm.
sudo apt-get remove something
▪ comandă folosită la ște rgerea/dezinstalarea unui pachet de programe, unde “something ”
reprezintă pachetul pe care dorim să -l dezinstalăm/ștergem.
sudo apt-get update
sudo apt-get dist-upgrade
▪ comenzile sunt folosite pentru actualizare a tuturor pachetelor preinstalate , aducerea
acestora la ultima versiune sau instalarea de noi pachete, disponibile pe versiunile mai
noi de Raspbian
Pentru configurarea hardware -ului Raspberry Pi, pentru ceea ce avem nevoie, putem folosi
“Raspberry Pi Configuration tool” acces ând comanda “raspi -config”.
sudo raspi-config
Figura XI .
Meniul raspi -config
Din cadrul meniul -ul raspi -config, putem să configurăm hardware -ul Raspberry Pi să
folosească diferite interfețe cum ar fi SPI, I2C, să activăm diferite module compatibile cu
Raspberry Pi, cum ar fi “Pi Camera”, s ă schimbăm parola utilizatorului “pi”, care este
utilizatorul default al Raspberry Pi sau să configurăm alte setări disponibile pentru hardware -ul
nostru, Raspberry Pi.
2.3.5 Limbajul de programare Python
Generalități – Limbaje de programare
Un limbaj de programare este un set bine definit de expresii și reguli (sau tehnici)
valide de formulare a instrucțiunilor pentru un computer. Un limbaj de programare are definite
un set de reguli sintactice și semantice. El dă posibilitatea programatorului să specifice în mod
exact și amănunțit acțiunile p e care trebuie să le execute calculatorul, în ce ordine și cu ce date.
Specificarea constă practic în întocmirea/scrierea programelor necesare ("programare").
Limbajele de programare sunt de două tipuri :
▪ de nivel înalt (high -level) – independente de mașin a pe care se procesează –
microarhitectura hardware (C – destinat manipulări hardware a calculatoarelor cum
ar fi regiștri memorie, porturi ; Fortran – rezolvarea calculelor științifice ; Lisp și
Prolog – folosite în aplicții de inteligență artificială și de proiectare a sistemelor
expert ; Pascal – dezvoltat pentru a învăța studenții să programeze).
▪ de nivel scăzut(low -level) – are dependențe de mașina pe care procesează, există
un astfel de limbaj specific fiecărei famili de procesoare(limbajul de asamblare) .
Limbajul de programare Python
Python este un limbaj de programare dinamic multi -paradigmă, creat în 1989 de
programatorul olandez Guido van Rossum. Van Rossum este și în ziua de astăzi un lider al
comunității de dezvoltatori de software care lucrează l a perfecționarea limbajul Python și
implementarea de bază a acestuia, CPython, scrisă în C .
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.
Python pune accentul pe curățenia și simplitatea codului, iar sintaxa sa le permite
dezvoltatorilor să exprime unele idei programatice într -o manieră mai clară și mai concisă decât
în alte limbaje de programare ca C. În ceea ce privește paradigma de programare, Python poate
servi ca limbaj pentru software de tipul ob ject-oriented, dar permite și programarea imperativă,
funcțională sau procedurală. Sistemul de tipizare este dinamic iar administrarea memoriei
decurge automat prin intermediul unui serviciu „gunoier” (garbage collector). Alt avantaj al
limbajului este exi stența unei ample biblioteci standard de metode.
Implementarea de referință a Python este scrisă în C și poartă deci numele de CPython.
Această implementare este software liber și este administrată de fundația Python Software
Foundation.
Limbajele dinamice sunt deseori caracterizate prin tipizare dinamică, sunt interpretate, au
management de memorie automatizat (garbage collecting) și au un nivel înalt de abstractizare.
Tipul variabilelor nu este fixat la momentul declarării acestora (de fapt, declararea
variabilelor nu este necesară ca în C), ci este determinat de interpretator după conținutul lor sau
după operațiile efectuate. Într -un asemenea caz se vorbește de tipizare dinamică.
a = 10 # a va fi consider un număr întreg (integer)
b = 11.5 # b va fi cons iderat un număr rațional (double sau float)
c = "un rând de text" # c va fi considerat un șir (string)
În ciuda tipizării dinamice, Python este puternic tipizat, adică interpretatorul nu permite
operații cu obiecte de tip diferit dacă acestea nu sunt bine definite, cum ar fi operațiile de tip cast
din limbajul C.
Python oferă tipuri tradiționale de date, cum ar fi numărul întreg ( integer , int) sau cel
rațional ( float), dar introduce totodată și concepte noi.
De exemplu, un grad mare de flexibilitate îl ofer ă listele (tablourile) în Python. Acestea
nu sunt statice, ci pot conține orice tipuri de date (în cadrul aceleiași liste) și pot fi modificate pe
loc adăugând și eliminând elemente fără a declara sau utiliza funcții de manipulare a memoriei.
lista_mea = [10, "șir de caractere" , variabil ă, ["altă", "listă"],
chiar_și_o_func ție]
Alt concept important în Python este cel al tipurilor mutabile și nemutabile . Așa cum
implică și numele, datele cu un tip mutabil pot fi alterate du pă inițializare, în vreme ce, la datele
nemutabile lucrul acesta este imposibil.
Din punctul de vedere al sintaxei, Python are un număr de contrucții și cuvinte cheie
cunoscute oricărui programator, dar prezintă și un concept unic: nivelul de indentare are
semnificație sintactică. Blocuri le de cod sunt delimitate prin simplă indentare.
Figura XII și Figura XIII
Modul de indentare în c adrul limbajului Python și sigla
Limbajului Python
2.3.6 Software Open Source
Programele (software -ul) cu sursă deschisă(open source software) sunt programe
(software) dezvoltate de către o comunitate, de către o companie sau de către o persoană și
oferi te spre folosire sub o licență liberă, care garantează accesul tuturor utilizatorilor la codul –
sursă.
Exemple de programe open source: qBittorrent (client bittorrent), Blender (grafică
3D), Pidgin (client pentru mesagerie instantanee), o mulțime de distrib uții GNU/Linux, Mozilla
Firefox (browser), OpenOffice.org (suită office) etc .
Sistemul de operare GNU/Linux este alcătuit integral din programe libere (open source),
unele distribuții GNU/Linux fiind gratuite, altele contra cost (comerciale).
Software -ul liber e caracterizat de libertatea acordată utilizatorilor săi de a -l utiliza, copia,
redistribui, studia, modifica și /sau îmbunătăți. Mai exact, este vorba de următoarele patru forme
de libertate pentru utilizatorii săi:
▪ libertatea de a utiliza programul, în orice scop (se mai numește „libertatea 0”).
▪ libertatea de a studia modul de funcționare a programului, și de a -l adapta nevoi lor
proprii („libertatea 1”). „o pen source” asigură accesul la tot codul -sursă.
▪ libertatea de a redistribui copii, în scopul aju torării aproapelui tău („libertatea 2”).
▪ libertatea de a îmbunătăți programul, și de a pune îmbunătățirile la dispoziția publicului,
în folosul întregii societăți („libertatea 3”). Necesită accesul la codul -sursă.
Un program (o apl icație) este s oftware lib er dacă întrunește toate aceste libertăți.
Softwar e liber nu înseamnă necomercial (gratis). Un program liber trebuie să fie utilizabil
și în scop comercial, și să fie disponibil pentru dezvoltare și distribuție comercială. Dezvoltarea
comercială a software -ului liber nu mai este ceva neobișnuit, devenind chiar foarte importantă.
Un program care nu permite folosirea și modificarea în scopuri comerciale nu poate fi considerat
„liber” în acest sens.
Figura XIV.
Sigla mișcării “open source initiative” , care se află în spatele inițiativei de software cu sursă deschisă.
2.4 Hardware
Această secțiune conține informații și specificații tehnice despre componentele hardware,
cum ar fi senzori, led -uri, etc., componente folosite în etapa de realizare a aplicației practice.
2.4.1 Senzor atmosferă – BME280
Senzorul de atmosferă BME280, poate măsura combinat umiditatea, presiunea
barometrică și temperatura.
Modulul senzorului este integrat într -o carcasă metalică compactă, având dimensiunea de
numai 2,5 x 2,5 mm², având o înălțime de 0,93 mm. Dimensiunile sale foarte mici și consumul
de energie redus, permite implementarea acestuia în dispozitive bazate pe baterii cum ar fi
telefoane mobile, module GPS sau ceasuri. Senzorul BME280, atinge performanțe ridicate, în
toate aplicațiile care necesită măsurarea umidității, presiunii și temperaturii.
Senzorul de umiditate are un timp de răspuns extrem de rapid, fiind potrivit pentru
aplicații critice având o acuratețe foarte ridicată într -un interval larg de temperaturi.
Senzorul de presiune, măsoară cu o precizie extrem de ridicată pres iunea barometrică, iar
erorile care pot să apară sunt foarte mici.
Senzorul de temperatură integrat, a fost foarte bine optimizat, pentru cel mai scăzut
zgomot și cea mai mare rezoluție, astfel valorile returnate de acesta, fiind de o acuratețe foarte
mare, acesta fiind utilizat și pentru compensarea temperaturii senzorilor de presiune și umiditate
și este foarte bun în determinarea temperaturii ambientale.
Senzorul BME280, poate opera în trei moduri :
▪ modul adormit(sleep mode)
▪ modul normal(normal mode)
▪ modul for țat(forced mode)
Specificații
• Tensiune de alimentare : 3,3 V
• Comunica ție: I2C sau SPI
• Interval de temperatură : de la -40 °C la 85 °C
• Interval de umiditate : 0 – 100% RH
• Presiune :
30,000Pa la 110,000Pa, precizie relativă de 12Pa, acuratețea absolută a 100Pa
• Altitudine :
de la 0 până la 30.000 d e ft (9,2 km), precizie relativă de 3,3 ft (1 m) la nivelul
mării, 6,6 (2 m), la 30.000 ft.
Schema bloc
Diagrama de măsurare(mesur ement flow)
La senzorul BME 280, perioada de măsurare a temperaturii, presiunii și umidității
se realizează printr -un prag de supraeșantionare ales.
După perioada de măsurare, datele măsurate de către senzorii de temperatură și presiune,
sunt trecute print r-un filtru IIR(Infinite Impulse Response sau Filtre cu răspuns infinit la impuls)
opțional, prin care sunt eliminate fluctuațiile presiuni. Pentru senzorul de umiditate nu avem
nevoie de un astfel de filtru, iar pentru acesta nu a fost implementat.
▪ dacă filtrul IIR este activat, rezoluția(reprezentarea) temperaturii este pe 20 biți, altfel
rezoluția este pe 16 biți plus valoar ea care vine de pe ADC minus 1 (osrs_t [2:0] – 1)
▪ dacă filtrul IIR este activat, rezoluția(reprezentarea) presiunii este pe 20 biți, altfel
rezoluția este pe 16 biți plus valoar ea care vine de pe ADC minus 1 (osrs_p[2:0] – 1)
Filtrul IIR este calculat după formula :
▪ data_filtered_old , repre zintă datele care provin de la filtrul de curent
▪ data_ADC , reprezintă datele care provin de la ADC
▪ data_filtered , reprezintă valoarea de ieșire a filtrului care va fi trimisă regiștrilor
Valorile de ieșire(output), la diferite setări ale filtrului IIR
2.4.2 Alte componente hardware folosite
Led Bicolor Brick
20×4 LCD Brick pentru Raspberry Pi
LCD -ul poate sa afiseze 20 de caractere pe 4 randuri, are backlight de culoare
albastra, si dispune de un backpack care permite ajustarea luminozitatii si conectarea la
Raspberry Pi utilizand 8 fire mamă -mamă .
Alte accesorii
Fire de conexiune mamă -mamă Fire de conexiune tată -tată
2.4.3 Hardware Open Source
Hardware -ul cu sursă deschisă ( Open source hardware sau Hardware open source ) este
hardware -ul, care este proiectat și oferit în același fel ca și programele cu sursă deschisă (sau ca
software -ul liber). Hardware -ul cu sursă deschisă face parte din cultura "open source" și aplică
conceptul sursei deschise ( open source) la hardware. De obicei termenul înseamnă că informația
despre acel hardware este disponibilă tut uror. Acest lucru include diferite elemente despre
proiectarea hardware -ului, cum ar fi , scheme, liste de materiale și date priv ind schema circuitului
imprimat, precum și un statut de software liber pentru softwa re-ul, care vine odată cu hardware –
ul respec tiv.
De la apariția dispozitivelor programabile reconfigurabile, partajarea proiectelor logice a
fost o formă a hardware -ului cu sursă deschisă. În loc să se partajeze schemele (ca în limbajele
de descriere a hardware -ului), se partajează codul HDL (Hardwa re Description Language).
Figura XV.
Logoul “Open source hardware”, propus de
către OSHWA(Open Source Hardware
Association), una dintre principalele
organizații care definesc standard ele pentru
Hardware -ul cu sursă deschisă.
2.5 Tehnologii WEB
Unul dintre cele mai dinamice și mai de succes, dintre servicile internet îl reprezintă
World Wide Web -ul(WWW) sau simplu Web -ul.
Web -ul reprezintă un spatiu informațional alcătuit din resurse, situate in locații cunoscute
sub numele de noduri, utilizate p rin intermediul unui sistem hypertext, folosind modul de
identificare denumit URI (Uniform Resource Identifier). Resursele web -ului sunt organizate în
pagini web și livrate utilizatorilor de către un program denumit “server Web”.
Utilizatorii folosesc pen tru vizualizarea paginilor Web un program -client cunoscut sub
numele de browser sau navigator Web.
Tim Bernes -Lee a scris primul browser(cunoscut sub numele de WorldWideWeb) și
primul server Web(denumit httpd, fiind acronimul pentru Hyper Text Transfer Pr otocol
Daemon),elaborând totodată și specificaț iile inițiale pentru URL -uri, HTTP ș i HTML.
Primul sit e Web a fost realizat la CERN și plasat online î n data de 6 august 1991 .
2.5.1 Caracteristici
O colecție de pagini web înrudite și interconectate, aflate în proprietatea unei instituții,
organizații, companii sau a unei persoane, găzduite pe unul sau mai multe calculatoare care
rulează un server web, având asociată o adresă vizibilă utilizatorilor din internet se numește site
sau website.
O aplicație web r eprezintă o colecție interconectată de pagini web având conținut generat
dinamic, determinat parțial de opțiunile utilizatorului, creată cu scopul de a oferi o funcționalitate
specifică, cum ar fi magazin virtual, motor de căutare, client de e -mail, etc.
Sucesul înregistrat, de serviciul “World Wide Web ”, constă în posibilitatea personalizării
interacțiunii utilizatorului cu aplicația web, aceasta însemnând generarea unui anumit conținut în
funcție de datele de intrare/opțiunile furnizate de acesta, acest tip de interacțiuni nu ar fi putut fi
implementat fără folosirea tehnologiilor web pentru server.
Aplicațiile web au devenit deosebit de populare odată cu răspândirea clienților pe diverse
platform cum ar fi Windows, Linux/Unix, Mac OS, iar odată cu popul aritatea foarte mare
acestora, a apărut necesitatea ca aplicațiile web să prezinte măcar partial, caracteristicile
aplicațiilor desktop.
În acest scop au fost dezvoltate tehnologii web atât pentru client cât și pentru server,
funcționalitățiile aplicațiil or web fiind oferite în cea mai mare parte de server, fiind livrate
utilizatorilor prin intermediul unei rețele(internet sau intranet).
Cea mai recent ă tehnologie web este aceea de creare a unor sisteme de management al
conținutului sau CMS. Aceste CMS -uri pot fi făcute de la zero, open source sau private. În
termeni generali CMS acționează ca un pod între baza de date și utilizator prin intermediul
browser -ului. Beneficiul major al unui CMS este că permite oamenilor care nu au cunoștințe
tehnice să facă m odificări pe website -urile lor.
Figura XVI. Arhitectura generală a unei aplicații web
2.5.2 Limbaje de programare specifice dezvoltării aplicatiilor WEB
HTML
Acromimul HTML, provine de la “Hyper Text Markup Language”, care este un
“limbaj de marcar e”, fiind cel mai utilizat pe scară largă pentru a crea pagini web.
Cuvântul cheie “Hypertext”, di n cadrul denumirii, se referă la modul în care paginile
web(documentele html), sunt legate între ele, astfel link -urile disponibile într -o pagină web sunt
numite “Hypertext ”.
Inițial HTML, a fost dezvoltat cu cu intenția de a defini o structură simplă de documente,
pentru a facilita schimbul rapid de informații ștințifice între cercetători.
După cum sugerează și numele, HTML reprezintă un “ limbaj de marcare ”, ceea ce
înseamnă că limbajul este folosit pur și simplu pentru a “marca” un document text, cu tag -uri,
tag-uri care spun unui browser web cum să le interpreteze pentru a le afișa.
Aceste tag -uri sunt formate din niște cuvinte cheie, în interiorul unor p aranteze
unghiulare, care se deschid și se închid, de exemplu tag -ul <html> care se închide cu tag -ul
</html>, definește un document a cărei structură este de tip HTML. Tag -ul <body> care
definește conținutul unui document html, se închide cu tag -ul </body >. Alte tag -uri sine
stătătoare care nu au tag -uri de închidere sunt <br>, care înseamnă trecerea la un rând nou.
Structura de bază a unui document html, este următoarea :
Document declaration tag
<html>
<head>
Document header related tags
</head>
<body>
Document body related tags
</body>
</html>
HTML 5
Limbajul HTML5 reprezintă rezultatul efortului de cooperare dintre “World Wide Web
Consorțium(W3C) ”, care reglementează standardele în cee ace privește tehnologiile de
dezvol tarea a aplicațiilor web în general și a limbajului HTML, în special, și asociația “ Web
Hypertext Application Technology Working Group (WHATWG) ”.
Cele mai recente versiuni de browser cum ar fi Apple Safari, Google Chrome, Mozilla
Firefox și multe altele, toate oferă suport pentru standardul HTML5, deasemenea și browser -ele
web mobile care vin pre -instalate pe dispozitive cum ar fi IPhone, Ipad și telefoane android, toate
au suport excelent pentru HTML5.
Deasemenea HTML5, introduce o serie , de noi elemente și atribute care sunt foarte utile
în construirea rapidă de aplicații web moderne și stabile, cum ar fi :
▪ Noi elemente semantice – cum ar fi <header>, <footer> sau <section>
▪ Formulare 2.0(Forms 2.0) – au fost introduse îmbunătățiri semnificative, a
formula relor HTML prin adăugarea de noi atribute pentru tag -ul <input>
▪ Socket -uri web(Web sockets) – reprezintă o tehnologie de comunicare
bidirecțională de ultimă generație, prin intermediul browser -ului, folosită pentru
diverse aplicații web.
▪ Server -Sent Events (Evenimente venite de la server) – HTML5 introduce
evenimentele trimise de server -ul web către browserele web, numite evenimente
trimise de server(SSE).
▪ Canvas – reprezintă o interfață, care crează in interiorul paginii web o suprafață
2D, pe care se poate desena , interfață programabilă cu ajutorul limbajului
JavaScript.
▪ Audio și Video – prin HTML5, pot fi încorporate în paginile web, fișiere audio
sau video fără a decurge la alte plugin -uri.
▪ Geolocație(Geolocation) – vizitatorii aplicaților web pot alege s ă împartă locația
fizică cu aplicațiile web.
▪ Microdate(Microdata) – acest lucru permite dezvoltatorilor să creeze proprile
vocabulare în HTML5, astfel aplicațiile web sunt îmbunătățite cu semantică
personalizată(ex : aplicații web în diferite limbi).
▪ Glisar e și Fixare(Drag and Drop) – acest lucru ne permite să glisăm și să fixăm
anumite elemente din pagină de la o locație la alta, în cadrul aceleiași pagini web.
HTML 5 este deasemenea proiectat pentru a fi compatibil cu browser -ele
existente și browser -ele mai vechi, pastrându -și compatibilitatea în jos, adică
aproape orice construcție , într -o versiune mai veche de HTML, este valabilă pe
cât posibil și în HTML 5.
CSS
CSS a fost dezvoltat pentru prima oară în 1997, ca o modalitate pentru dezvoltatorii Web
pentru a defini aspectul paginilor lor web. Acesta a fost destinat să permită dezvoltatorilor să
separe conținutul de design, astfel încât în HTML să se poate efectua operațiile legate de
conținut lăsând astfel la o parte grijile legate de aspect.
CSS nu a câștigat popularitate, până în jurul anului 2000, când browserele Web au
început să folosească mai mult decât font și culoare.
Și acum, toate browserele moderne suportă CSS Level 1, cele mai multe CSS Level 2,
precum și unele aspecte ale CSS nivel 3.
Avantajele utilizării CSS -ului:
▪ CSS economisește timp – poți scrie CSS o dată și apoi refolosi aceeași foaie în mai
multe pagini HTML. Puteți defini un stil pentru fi ecare element HTML și aplicându -l cât
mai multor pagini web, după cum doriți.
▪ Paginile se în carcă mai repede – dacă utilizați CSS, nu trebuie scrise atributele pentru
fiecare etichetă d e fiecare dată. Este suficient să se scrie o singur ă regulă CSS unei
etichete și să se aplice la toate aparițiile acelei etichete. Astfel încât mai puțin cod
însea mnă mai rapid de descărcat.
▪ Întreținere ușoară – pentru a face o schimbare la nivel global, pur și simplu se schimbă
stilul, și toate elementele din toate paginile web vor fi actualizate automat.
▪ Stiluri superioare HTML -ului – css-ul are o gamă mult mai la rgă de atribute decât
HTML, astfel încât puteți da un aspect mult mai bun la pagina HTML în comparație cu
utilizarea atributelor HTML
▪ Compatibilitate multipl ă – foile de stil permit ca un conținut să fie optimizat pentru mai
multe tipuri de dispozitive. Pr in utilizarea aceluiași document HTML, versiuni diferite ale
unui site pot fi prezentate pentru dispozitive portabile, cum ar fi PDA -uri si telefoa ne
mobile.
▪ Standarde web globale – acum atributele HTML sunt depreciate și este recomandat să
utilizați CSS. Așa că este o idee bună pentru a începe să utilizați CSS în toate paginile
HTML pentru a le face compatibile pentru browsere viitoare.
▪ Navigare offline – css poate stoca aplicații web la nivel local, cu ajutorul unui cache. De
asemenea, cache -ul asigură, , o încărcare mai rapidă și o mai bună performanță generală a
site-ului. [6]
PHP
PHP este un limbaj de programare sau scripting folosit pentru a crea pagini web
dinamice .
Numele PHP provine din limba englez ă și este un acronim recursiv pentru PHP
Hypertex t Preprocessor.
Folosit inițial pentru a produce pagini web dinamice, este folosit pe scară largă în
dezvoltarea paginilor și aplicațiilor web. Se folosește în principal înglobat în codul HTML, dar
începând de la versiunea 4.3.0 se poate folosi și în mod „linie de comandă” (CLI), permițând
crearea de aplicații independente. Este unul din cele mai importa nte limbaje de programare web
open -source și server -side, existând versiuni disponibile pentru majoritatea web serverelor și
pentru toate sistemele de oper are. Conform statisticilor este instalat pe 20 de milioane de site -uri
web și pe 1 milion de servere web . Este disponibil sub Licen ṭa PHP ṣi Free Software Foundation
îl consider ă a fi un software liber.
Inițial, limbajul a fost dezvoltat de inventatorul s ău, Rasmus Lerdorf. Odată cu creșterea
numărului de utilizatori, dezvoltarea a fost preluată de o nouă entitate, numită The PHP Group
(Grupul PHP).
Limbajul PHP poate fi folosit pentru o muțime de chestii, dintre care cele mai importante
sunt:
▪ Lucrul cu f ișiere – pot fi create fișiere, pot fi citite sau scrise fișiere, sau pot fi
șterse fișiere.
▪ Pot fi manipulate formulare – datele introduse de utilizatori în formulare pot fi
stocate în baza de date sau pe baza informațiilor furnizate de utilizatori prin
formulare, pot fi aduse alte informații din baza de date
▪ Manipularea bazelor de date – pot fi adăugate, modificate sau șterse date sau
elemente din baza de date prin intermediul PHP
▪ Alte utilizări – se pot accesa diferite variabile special cum ar fi variabi le de
sesiune sau variabile cookies, deasemenea prin PHP se poate restricționa accesul
utilizatorilor la diferite pagini ale website -ului sau se pot cripta date, etc.
Printre cele mai importante caracteristici ale limbajului PHP se numără următoarele:
▪ Sintaxă simplă și ușor de învățat – sintaxa limbajului PHP, este
asemănătoare cu cea a limbajului C
▪ Alte caracteristici – simplitate, eficiență, securitate, flexibilitate,
familiaritate.
JavaScript, Jquery , Ajax și Json
JavaScript (JS) este un limbaj de pr ogramare orientat obiect bazat pe conceptul prototipurilor.
Este folosit mai ales pentru introducerea unor funcțion alități în paginile web, codul j avascript din
aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în
construirea site -urilor web, dar este folosit și pen tru acesul la obiecte încorporate (embedded
objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape
Communications Corporation sub numele de Mocha, apoi LiveScript, și den umit în tr-un final
JavaScript.
În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu
există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C .
Cea mai des întâlnită utilizare a JavaScri pt este în cadrul paginilor web. Programatorii
web pot îngloba în paginile HTML script -uri pentru diverse activități cum ar fi verificarea
datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.
Printre avantajele limbajului javascr ipt se numără :
▪ Mai puțină interacțiune cu serverul – validarea, a ceea ce au introdus
utilizatorii se poate face înainte de a trimite datele la server, mai puțin
trafic pe server.
▪ Feedback rapid către utilizatori – utilizatorii, nu trebuie să aștepte să se
încarce pagina, pentru a vedea dacă au uitat să introducă ceva.
▪ Interactivitate crescută – se pot crea interfețe care reacționează atunci
când utilizatorul trece peste ele cu mouse -ul sau le activează prin
intermediul tastaturii.
▪ Inerfețe mai bogate și i nteractive – puteți utiliza JavaScript pentru a
include elemente cum ar fi componente ”drag -and-drop”, “slidere ” și
multe altele pentru a îmbogății interfața site -ului și experiența
vizitatorilor.
Printre limitările JavaScript se numără :
▪ Prin intermediul l imbajului JavaScript, nu este permi să citirea și
scriere fișierelor, din motive de securitate.
▪ Limbajul JavaScript nu poate fi utilizat pentru aplicații de rețea,
deoarece nu există suport disponibil pentru astfel de aplicații.
▪ Limbajul JavaScript nu benef icează de capabilități pentru programare
concurentă sau distribuită.
jQuery este o platformă de dezvoltare JavaScript, concepută pentru a ușura și a
îmbunătăți procese precum traversarea arborelui DOM (Document Object Model) în HTML,
managementul inter -browser al evenimentelor, animații și cereri de tip AJAX. jQuery a fost
gândit să fie cât mai mic posibil și să fie disponibil în toate versiunile de browsere importante
existente . Biblioteca a fost lansată in 2006 de către John Resig , a cărei sintagmă a fost și este
“write less do more”, adic ă să permită utilizatorilor care folosesc platforma jQuery, să facă
chestii interesante și interactive în pagini web, cu foarte puține lini de cod, care ar fi fost în
număr mai mare dacă s -ar fi făcut doar folosind JavaSc ript, în fapt jQuery fiind o librărie bogată
de JavaScript .
Printre caracteristicile platformei jQuery se numără:
▪ selecții de elemente în arborele DOM , folosind propriul motor de selecții open
source care se numește Sizzle, un proiect născut din jQuery.
▪ parcurgere a și modificarea arbo relui DOM, inclusiv suport pentru selectori CSS 3
și XPath simpli.
▪ înregistrarea și modificarea evenimentelor din browser
▪ manipularea elementelor CSS
▪ efecte și animații
▪ cereri tip AJAX
▪ adăugarea de extensii sau plugin -uri
jQuery UI reprezintă un set sau o colecție de extensii interactivitate de bază,
având efecte mai complexe decât cele din bibl ioteca de bază și multe teme pe care
utilizatorii le pot personaliza . Avantajul jQuery UI față de alte extensii este că
dezvoltarea ș i testarea acestor componente se face în paralel cu dezvoltarea bibliotecii
principale, minimizând riscul de incomptibilitate .
Orice prog ramator poate crea o extensie pentru jQuery , oferindu -se publicare în
catalogul de pe pagina proiectului , în diversele categorii disponibile .
jQuery UI este alcătuit din patru mari extensii pe care utilizatorii poate să le
folosească pentru personalizarea propriilor aplicații web :
▪ Extensii de interacțiune – acestea sunt extensii interactive, care dau
posibilitatea utiliza torului de a interacționa cu diferite elemente DOM,
pentru a le muta dintr -o parte în alta(drag -and-drop), sau pentru a le
redimensiona.
▪ Widget -urile(Widgets) – reprezintă o categorie de extensi special a
JQuery -ului, prin care pot fi create cu ușurință el emente de interfață cu
utilizatorul, cum ar fi meniul “accordeon” sau alte elemente cum ar fi
elementele “datepicker”.
▪ Efecte – acestea sunt construite pe efecte din librăria jQuery, conținând o
suită de animații personalizate și tranziții pentru elementel e DOM.
▪ Utilități(unelte) – acestea reprezintă un set de instrumente modulare pe
care biblioteca JQuery UI le folosește intern.
jQuery și jQuery UI este un software liber, open -source licențiat sub licența MIT și GNU
General Public License , disponibil gratu it spre descărcare de pe jquery.com și jqueryui.com.
O altă tehnică de construire a paginilor web , tot mai întâlnită în ultimul timp este AJAX ,
abreviere de la „Asynchronous JavaScript and XML”. Această tehnică constă în executarea de
cereri HTTP în funda l, fără a reîncărca toată pagina web, și actualizarea numai anumitor porțiuni
ale paginii prin manipularea DOM -ului paginii. Tehnica AJAX permite construirea unor interfețe
web cu timp de răspuns mic, întrucît operația (costisitoare ca timp) de încărcare a unei pagini
HTML complete este în mare parte eliminată.
JSON este un acronim care provine de la JavaScript Object Notation, și este un format de
reprezentare și interschimb de date între aplicații informatice.
Este un format text, inteligibil , utilizat p entru reprezentarea obiectelor și a altor structuri
de date complexe, mari și este folosit în special pentru a transmite date structurate prin rețea,
procesul purtând numele de serializare. Eleganța formatului JSON provine din faptul că este un
subset al l imbajului J avaScript , fiind utilizat alături de acest limbaj. Formatul JSON a fost creat
de Douglas Crockford și standardiz at prin RFC 4627. Extensia fișierelor JSON este .json.
2.5.3 Baze de date
O bază de date , abreviat BD , reprezintă o modalitate de stocare a unor informații și date
pe un suport extern (un dispozitiv de stocare), cu posibilitatea extinderii ușoare și a regăsirii
rapide a acestora.
La prima vedere sarcina poate părea banală. Totuși, în condițiile în care este vorba de a
lucra cu mili oane de elemente, fiecare putând consta din mari cantități de date care trebuie
accesate simultan prin i nternet de către mii de utilizato ri răspândiți pe întreg globul, și în
condițiile în care disponibilitatea aplicației și a datelor trebuie să fie perma nentă.
De obicei o bază de date este memorată într -unul sau mai multe fișiere. Bazele de date
sunt manipulate cu ajutorul sistemelor de gestiune a bazelor de date.
Cel mai răspândit tip de baze de date este cel relațional, în care datele sunt memorate în
tabele. Pe lânga tabele, o bază de date relațională mai poate conține: indecși, proceduri stocate,
declanșatori, utilizatori și grupuri de utilizatori, tipuri de date, mecanisme de securitate și de
gestiune a tranzacțiilor etc.
Alte tipuri de baze de date s unt modelul ierarhic, modelul orientat pe obiecte și, mai nou,
modelul XML.
Sistemul de gestiune a bazelor de date MySQL
MySQL este un sistem de gestiune a bazelor de date relaționale, produs de
compania suedeza MySQL AB și distribuit sub Licența Publică Generală GNU. Este cel mai
popular SG BD open -source la ora actuală, fiind o componentă cheie a stivei LAMP (Linux,
Apache, MySQL, PHP).
MySQL a devenit foarte popular din următoarele motive :
▪ MySQL este lansat sub licen ță ”open -source”, putând fi descărcat și
folosit în mod gratuit de pe www.mysql.com .
▪ MySQL este un program foarte puternic în sine, având un set foarte larg
de funcționalități, asemănătoare celor mai scumpe și mai puternice sisteme
de gestiune a bazelor de date.
▪ MySQL folosește pentru gestion area și manipularea datelor, limbajul
SQL(Structured Query Language).
▪ MySQL funcționează foarte bine pe mai multe sisteme de operare și cu
mai multe limbaje de programare cum ar fi PHP, Pearl, C/C++, Java, C#,
iar ca să se folosească cu un anumit limbaj de programare trebuie să se
descarce API -ul, corespunzător limbajului de programare respectiv.
▪ MySQL funcționează foarte bine la o viteză destul de mare și cu seturi de
date foarte mari .
▪ MySQL funcționează foarte bine alături de limbajul PHP, această
combina ție fiind cea mai apreciată pentru dezvoltarea de aplicații web
dinamice.
▪ MySQL este foarte personalizabil, licența “open -source”, permite
programatorilor să modifice software -ul MySQL, pentru a corespunde
propriilor nevoi.
2.5.4 WEB Servers
Un server este un dispozitiv, combinatie de hardware și softwa re, care ofera servicii
și/sau informații utilizatorilor (clienț ilor).
Serverul web sau web server este serverul care stochează (găzduiește) pagini web și le
pune la dispoziția utilizatorilor(clienților) prin intermediul protocolului HTTP. Astfel, relația
server -client se bazează pe o aplicație care este instalată pe server și care este programată să
transfere paginile web găzduite. Putem observa aici că ideea de web server presupune și noțiunea
de hostin g (găzduire), asta deoa rece serverul trebuie să dețină undeva, datele pe care urmează să
le returneze la cerere.
Pot exista și alte servere web care pot stoca diferite aplicații web cum ar fi aplicații web
pentru : jocuri, stocare de fișiere(FTP), căsuță de e-mail, etc.
Serverele web, răspund cererilor clienților prin oricare din următoarele două moduri :
– să trimită clientului ceea ce a solicitat, conform cererii care a făcut -o prin
intermediul URL -ului.
– generarea unui răspuns prin invocarea unui script ș i comunicarea cu baza
de date.
Figura XVII. Modul de fucționare a unui server web
▪ Atunci când un client trimite cereri pe ntru o pagină web, serverul web
caută pagina solicitată, iar în cazul în care pagina solicitată este găsită,
atunci acesta va trimite la client un răspuns de tip HTTP(HTTP Response)
▪ În cazul în care pagina web solicitată nu a fost găsită, serverul va răspu nde
cu un mesaj de eroare de tip “404 Not Found”, însemnând faptul că pagina
solicitată nu a fost găsită.
▪ În cazul în care clientul alte resurse cum ar fi diferite da te, atunci serverul
se va uita în baza de date, iar dacă datele solicitate sunt găsite, ac esta va
trimite un răspuns clientului.
Arhitectura serverelor web este de două feluri :
▪ Bazate pe abordarea concurent ă – care permite serverului web să se ocupe de
mai multe cereri de la clienți în același timp.
▪ Bazate pe un process și evenimente – este cre at un singur process, iar cererile de
la clienți sunt soluționate prin crearea mai multor fire de execuție .
Figura XVIII. Modelu l clasic, arhitectural al unui server web
2.5.5 WEB Services (folosirea metodelor get pentru transmisia de date din sisteme incorporate)
Un serviciu web este un serviciu pus la dispoziție utilizatorilor pe Internet.
Multitudinea de protocoale și stand arde disponibile începând de la sfârș itul secolului
trecut în sfera i nternetului au dat posibilitatea comunicării între aplicații pe sisteme aflate la
distanțe mari, cu acces la i nternet. Astfel, există sisteme ce oferă servicii de informare și
procesare a informațiilor care în general sunt independente de platforma hardware; accesul la
acestea se face prin servicii web.
Exemple clasice de servicii web de informare sunt aflarea cursului de bursă momentan al
unei acțiuni anume sau aflarea condițiilor climate rice intr -un anumit punct de pe glob. Serviciile
de prelucrare de informații pornesc de la cele mai banale servicii, cum ar fi execuția de operații
aritmetice asupra unor numere, și până la servicii complexe cum ar fi serviciile de autentificare.
Un servic iu web este o colecție de protocoale și standarde folosite pentru schimbul de
date între aplicații sau sisteme. Aplicațiile software scrise în limbaje de programare diferite și
care rulează pe diverse platforme pot folosi serviciile web pentru a face sc himb de date pe rețea ,
într-o manieră oarecum asemănătoare comunicării între procesele de pe un singur calculator.
Interoperabilitatea se datorează folosirii unor standarde publice adecvate.
Metoda GET
Metoda get trimite informatiile catre server codate in URL, separate de url prin
semnul ? . Informatiile trimise cu ajutorul acestei metode se pot recupera cu variabila globala
$_GET (care este un array asociativ ce contine toate informatiile trimise prin GET .
Metoda GET produ ce un ș ir de caractere lung c e apare in logurile serverului ș i in casuta
de adrese a browserului. Metoda GET este restricționată la 1024 caractere. Nu folosiț i metoda
GET pentru parole sau alte informaț ii importante. Metoda GET nu poate trimite date binare (ex:
imagini, documente, etc) c ătre server.
Exemplu :
url_request =
"http://192.168.0.100/weatherWebsite/get_info_hardware.php?command=0&id=" +hardware_id
2.5.6 RSS Feed
RSS este o familie de formate de fluxuri web, realizate în format XML și folosite pentru
știri, weblog -uri și podc asting. Abreviația este folosită pentru a face referință la următoarele
standarde:
▪ Really Simple Syndication (RSS 2.0)
▪ Rich Site Summary (RSS 0.91, RSS 1.0)
▪ RDF Site Summary (RSS 0.9 și 1.0)
Web feed -urile oferă conținut web sau sumare de conținuturi web împreună cu legături către
conținutul complet al respectivei surse de informații și alte metadate. RSS oferă această
informație sub forma unui fișier XML numit feed RSS, webfeed, stream RSS sau canal RSS.
În paginile web, feed -urile web (RSS sau Atom) sunt de obicei legate de c uvântul
"subscribe" , un pătrat portocaliu,
, sau de literele
sau
.
Utilizare
În timp ce partea cea mai importantă a mass -mediei încă încearcă să înțeleagă potențialul
RSS, redactorii de știri folosesc RSS ca să ocolească sursele de ș tiri tradiționale. Prin sistemul
RSS, utilizatorii și jurnaliștii au la dispoziție surse constante de știri, fără să mai fie nevoiți să
petreacă timp căutând.
Un program cunoscut sub numele de "feed reader" poate să verifice o listă de surse de
știri în nu mele utilizatorului și să afișeze știrile pe care le găsește. Deseori site -urile cunoscute au
feed-uri, dar și site-urile mai mici au adoptat ac eastă tehnologie. Anumite site -uri, chiar le permit
utilizatorilor să aleagă între feed -uri formatate RSS sau fo rmatate Atom; altele oferă numai feed –
uri RSS sau numai Atom.
2.6 Protocoale de comunicație
Un protocol reprezintă, în general un set de reguli și norme, care trebuie urmat în anumite
situații speciale din viața de zi cu zi.
În informatică și telecomun icații, un protocol de comunicație reprezintă un set de reguli
și norme care permit ca două sau mai multe entități dintr -un sistem de comunicații să comunice
între ele prin transmiterea de informație printr -un mediu de orice tip , prin variația unei mărimi
fizice.
Protocolul de comunicație, deasemenea reprezintă o convenție, sau un standard care
controlează sau validează o conexiune, comunicație și transfer de date între cel puțin două
dispozitive sau mai poate reprezenta o serie de pași implicând două sau mai multe dispozitive,
proiectate pentru a îndeplini o anumit ă sarcină(task) .
2.6.1 Caracteristici
Prin intermediul unui protocol de comunicație sunt definite reguli pentru a trimite, date în
cadrul unei rețele, de la un nod la altul. Protocoalele de comu nicație trebuie definite în așa fel
încât, să respecte regulile modelului OSI ISO.
Prin intermediul specificațiilor protocolului, sunt definite specificațiile pe care acesta le
va îndeplini și modul în care acesta va fi implementat. Pentru definirea și pr oiectarea unui
protocol de comunicație, trebuie să se i -a în considerare următoarele aspecte :
▪ Definirea inform ațiilor, iar pe baza acestora construirea pachetelor de date(PDU –
Protocol Data Unit ), care vor folosi protocolul de comunicație.
▪ Definirea proce durilor de transmisie și recepție a pachetelor de date(PDU)
▪ Definirea servicilor furnizate de către protocolul de comunicație
Figura XIX. Structura unui pachet de date, alcătuită dintr -un antet(header) care conține informații
despre pachetul de date cum ar fi diferite flag -uri și datele(payload), care sunt transmise.
Deasemenea, când este proiectat un pro tocol trebuie să ne gândim, ce proceduri să aplicăm
asupra pachetelor de date atât la transmisie cât și la recepție.
Procedurile definite, în protocoa lele de comunicație, pot fi printre altele folosite pentru :
recuperarea datelor eronate (error recovery), sume de control, segmentarea
pachetelor(segmentation), etc.
2.6.2 Protocolul UART
Interfața serială asincronă este dispozitivul de bază în comunicați a dintre
sisteme.
Se numește asincronă pentru că nu există nici un semnal de sincronizare sau de ceas,
astfel încât caracterele pot fi trimise la orice interval de timp ( ca atunci când operatorul
introduce date de la tastatură).
Fiecare caracter transmi s printr -o linie serială este încadrat de un semnal de start și unul
de stop. Un singur bit(bitul 0) , numit bit de start, precede fiecare caracter, pentru a anunța
sistemul destinatar că următorii opt biți constituie un octet de date. Caracterul este urmat de unu
sau doi biți de stop, care anunță terminarea transmiterii lui. La recepție, caracterele sunt
recunoscute după semnalele de start și de stop, și nu după temp orizarea sosirii lor. Interfața
asincronă este orientată spre caracter și are o suprasarcină (un e xcedent de date) de aproximativ
20% datorită informaților suplimentare necesare identificării fiecărui caracter.
Atributul serial se referă la datele transmise pe o linie, biții succedându -se în serie pe
măsură ce sunt transmiși. Acest tip de comunic ație, se folosește la sistemul telefonic, deoarece el
furnizează câte o linie de date pentru fiecare direcție.
2.6.3 Protocolul SPI
Serial Peripheral Interface(SPI), sau “Interfa ța periferică serială ”, este o interfață frecvent
utilizată pentru a trimite date între microcontrolere și periferice de dimensiuni mici cum ar fi
registrele de deplasare, senzori și carduri de memorie.
Interfața SPI, este în esență, o magistrală de date sincronă, cee ace înseamnă că folosește
lini separate pentru date și o linie pentru un semnal de ceas(clock), care face ca interfața SPI, să
fie în sincronizare perfecta.
Semnalul de ceas(clock), este un semnal oscilant, care spune receptorului momentul când
trebuie să eșantioneze biți pe linia de date.
Deoarece semnalul de cea s(clock), este trimis împreună cu datele, specificarea vitezei de
transmisie devine inutilă, deoarece dispozitivele vor avea o viteză maximă la care pot funcționa.
În cadrul protocolului de comunicație SPI, doar o anumită parte generează semnalul de
ceas( clock), acesta având numele de “master” sau “stăpân” , iar cealalt ă parte care primește date
se numește “slave” sau “sclav”. De obicei există un singur master care este reprezentat de
microcontroller, dar pot exista mai multe dispozitive conectate la acesta , acestea fiind dispositive
slave.
Când datele sunt trimise de la master la slave, acestea sunt trimise pe o linie care poartă
numele de “MOSI – Master Out, Slave In”. Dac ă un dispozitiv slave, vrea să trimită un răspuns
către master, masterul va continua să genereze semnale de ceas(clock), către slave, iar acesta
trebuie să trimită datele pe o linie care poartă numele de “MISO – Master In, Slave Out”.
O alt ă linie de transmisie importantă este linia de “Slave Select(SS)”, care îi zice unui
dispozitiv sla ve să se trezească și să se pregătească să transmit sau să primească date.
Linia “Select Slave(SS)”, este ținută în starea “high”, care ține toate dispozitivele slave,
deconectate de la magistrala SPI, iar când un dispozitiv slave, vrea să trimită sau să primească
date pe magistrala SPI, atunci linia se comută în starea “low”, dispozitivul slave fiind astfel
conectat pe magistrala SPI. Astfel, pentru a comunica cu toate dispozitivele conectate, pe
interfața SPI, se folosește un registru de deplasare(shift) , care conectează sau deconectează
dispozitivele de la interfața SPI.
Figura XX. Schema bloc a protocolului SPI
Avantaje
▪ foarte ușor de programat
▪ mai rapidă decât interfața UART
▪ hardware -ul care primește date poate fi un simplu registru de deplasare
▪ suportă mai multe dispozitive slave în același timp
Dezavantaje
▪ necesită mai multe lini(fire), pentru semnale, față de orice alt protocol
▪ protocolul de comunicație și datele care se transmit trebuie să aibă un format bine
definit, nu se pot trimite date aleat oriu
▪ master -ul controlează tot protocolul de comunicație, dispozitivele slave nu pot
vorbi unele cu altele direct, doar prin intermediul master -ului.
▪ trebuie să existe linii separate de tip slave select(SS) pentru fiecare dispozitiv
slave, reprezintă o pro blemă dacă avem multe dispozitive slave
2.6.4 Protocolul I2C
Protocolul “Inter -Integrated Circuit, prescurtat IIC sau I2C”, este un protocol destinat să
permită mai multor dispozitive digitale integrate de tip slave, să comunice cu unul sau mai multe
dispozitive master.
La fel cași interfața SPI, interfața I2C, este destinată să comunice pe distanțe scurte, cu
un singur dispozitiv, iar asemănător cu interfața serială(UART), are nevoie de doar două lini de
semnal pentru a comunica și a schimba informați i.
Comunicația prin intermediul protocolului I2C, este mult mai complexă față de
comunicația prin intermediul protocoalelor SPI sau UART.
Dispozitivelor conectate pe magistrala I2C -ului, trebuie să cunoască anumite semnale,
trebuie să li se adauge anumit e semnale ca să poată să recunoască, o comunicație validă prin
intermediul protocolului I2C.
Comunicația prin intermediul protocolului I2C, funcționează prin schimb de mesaje.
Astfel, fiecare mesaj este alcătuit din două tipuri de cadre, un cadru în care se memorează
o adresă, prin care masterul specifică, către ce slave trimite mesajul, iar celălalt cadru specifică
conținutul mesajului(datele), care sunt trimise de la master la slave sau vice -versa.
Datele sunt aduse pe linia SDA, după ce linia SCL, int ră în low, apoi când datele sunt
pregătite spre a fi trimise, linia SCL se pune pe high.
Pentru a iniția transferul de date pe I2C, dispozitivul master, pune linia SCL în high și
linia SDA în low, această operație anunțând dispozitivele slave că o transmi sie de date e pe cale
să înceapă. În cazul în care două dispozitive master doresc să preia controlul liniei în același
timp, primul dispozitiv care pune linia SDA în low preia controlul magistralei.
Înainte de a trimite un pachet de date pe magistrala I2C , prima dată se trimite cadrul care
conține adresa destinatarului, iar apoi sunt trimise datele.
După ce cadrele de adrese au fost trimise, începe transmisia datelor, masterul generând
semnale de ceas(clock), până când acestea sunt trimise, pachetele de d ate fiind puse pe linia de
SDA, fie de master, fie de slave, în funcție de operațiile solicitate, de citire sau scriere.
După ce toate datele sunt transmise, masterul va opri comunicația , după o tranziție a
liniilor SDA și SCL din low în high.
2.6.4.1 Avantajele utilizarii protocolului I2C fata de protocolul SPI
Cel mai mare dezavantaj la protocolul SPI, îl reprezintă numărul mare de pini necesari,
pentru a conencta multe dispozitive.
Conectând un singur master și un singur slave pe SPI, avem nevo ie de patru linii(fire), iar
încă un dispozitiv slave în plus, necesită un cip -select suplimentar pentru master. Deasemenea
interfața SPI, acceptă doar un singur master conectat pe magistrală, dar suportă un număr
arbritrar de dispozitive slave conectate l a magistrală, însă un număr foarte mare de dispozitive
conectate, fiecare dispozitiv ducând la încărcarea foarte mare a magistralei, aceasta ne mai
putând ruta unde trebuie toate semnalele.
Protocolul I2C, necesită două fire, conenctate în serie și asincr on, însă pe aceste două fire
pot suporta până la 1008 dispozitive slave conectate simultan.
Deasemenea față de protocolul SPI, protocolul I2C, poate să suporte un sistem multi –
master, prin care permite mai multor dispozitive master să comunice cu dispozit ivele slave de pe
bus, însă dispozitivele master nu pot comunica unele cu altele, iar pentru folosirea magistralei,
trebuie să -și dea rând, nu o pot folosi toți odată.
Ratele de transfer a datelor sunt mult mai mari, pentru protocolul I2C, față de protoco lul
SPI, fiind situate undeva între 100 kH și 400 kH.
Hardware -ul necesar pentru a implementa protocolul I2C este mult mai complex, față de
hardware -ul necesar pentru implementarea protocolului SPI, deasemenea și implementarea
acestuia în software poate f i mult mai complexă, față de SPI.
3. Cadrul practic
2.7 Statie meteo de referinta
2.7.1 Caracteristici
2.7.2 Comparatie
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: (va fi atasata dupa coperta) [629791] (ID: 629791)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
