FACULTATEA TRANSPORTURI
PROIECT
SISTEME DE DIRIJARE A
TRAFICULUI FEROVIAR
Îndrumător Student
București
Anul 2020
Cuprins
1. Tema proict.............................................................................2
2. Schema bloc............................................................................4
3. Aplicatie calatori.....................................................................5
4. Apicatie control......................................................................6
5. Validator................................................................................10
6. Server....................................................................................16
7. Codare...................................................................................18
8. Schema logica........................................................................19
9. Bibliografie............................................................................23
1
1. Tema proiect
Sa se proiecteze un sistem de taxare compus din sistem de stocare a datelor la utilizator, sistem
automat de validare si control si o component centrala cu baza de date pentru inregistrarea
informatiilor. Sunt oligatorii urmatoarele:
Pe baza notatiilor:
- Validarea se va face de pe shartphone, daca nn este par sau de pe dispozitive dedicate, daca nn
este impar
Validarea se va face de pe shartphone
- Controlul validarii biletului se va face de pe shartphone, dca np este par sau de pe dispozitive
dedicate daca np este impar
Controlul se va face de pe dispozitive dedicate
- Numarul de calatorii definite este egal cu (nn + np + ng)%3+2 = 4
- Viteza de circulatie intre statii este cuprinsa intre min (nn, np)*10km/h si (nn + np)*10Km/h.
Pentru comunicatii se va tine cont de specificul circulatiei feroviare, incluzand tuneluri, sau zone
fara acoperire GSM
Viteza minima = 80 km/h
Viteza maxima = 160 km/h
- Tensiunea de alimentare pentru toate echipamentele noi introduse in sistem este de nn*10
volti. Daca nn este impar alimentare disponibila este de c.c. ,iar daca nn este par, alimentarea
disponibila este de c.a.
Tensiunea de alimentare este de 80 V curent alternativ C.A.
2
Continutul proiectului
- Prezentarea schemei bloc propuse cu explicarea blocurilor componente si definirea functiilor
acestora
- Prezentarea schemei de amplasament a echipamentelor utilizate
- Descrierea solutii alese pentru realizarea fizica a fiecarui bloc din cele prezentate anterior:
schema electrica, calcule pentru dimensionarea elementelor componente, prezentarea datelor
de intrare si iesire necesare, elemente de fiabilitate
- Proiectarea interfetelor dintre blocurile functionale – daca este cazul
- Prezentarea programului software (limbaj de asamblare, C, pseudocod, schema logica etc.)-
daca seutilizeaza microcontrolar/microprocesor/placa de dezvoltare
- Prezentarea schemei complete rezultate pentru realizarea temei.
3
2. Schema bloc
Control
Dispozitiv
utilizator
2. Dispozitivul utilizatorului este un telefon mobil cu comunicatie NFC care este folosit pentru a
cumpara biletul de pe aplicatia companiei. In momentul cumparari biletului datele
utilizatorului sunt stocate in baza de date, pe telefon stocandu-se numai un numar de
rezervare, iar telefonul se va folosi pentru a trimite numarul rezervari clientului la sistemul
de validare.
3. Sistemul de validare este prezent la intrare pe fiecare peron. Validarea se face cu telefonul
mobil prin intermediul comunicatiei NFC. Pe ecranul dispozitivului se va afisa mesajul „Bilet
validat” in cazul in care biletul a fost validat cu succes, iar in cazul in care nu exista un bilet
va aparea mesajul „Nu avet niciun bilet” . In cazul in care calatorul are un abonament lunar
acesta trebuie validat o singura data , la prima calatorie. Dispozitivul de validare primeste de
la telefonul mobil numarul rezervari utilizatorului si cu ajutorul acestuia cauta in baza de
date daca exista sau nu biletul.
4. Dispozitivul de control este telefonul care se afla la fiecar controlor. In cazul in care biletul a
fost validat apare mesajul „bilet valid”, iar in cazul in care biletul nu a fost validat sau nu a
fost deloc cumpara va aparea mesajul „bilet nevalidat”.
4
3. Blocul de alimentare
5
4. Cumpararea biletelor
1. Primul pas pentru a putea cumpara un bilet este crearea unui cont pe site-ul companiei
6
3. Dupa conectarea pe aplicatia companiei se alege tipul de bilet si introducem ruta pe care
dorim sa calatorim, iar apoi ne vom alege locurile.
7
Aplicatie control.
Pentru control fiecare controlor va avea alocat un nume de utilizator si o parola pentru a se
conecta pe aplicatie.
8
Dupa realizarea conectiuni intre cele doua telefoane aplicatia controlorului va afisa mesajul „bilet
valid” daca exista un biletul si este validat sau mesajul „bilet nevalidat” daca nu a fost niciun bilet
validat pe telefonul calatorului.
9
5. Blocul de validare
Pentru blocul de validare se folosesc un modul NFC RC522 un modul WIFI ESP8266 un afisor si o
placa arduino.
Comunicatie Validator-Server
Modulul WIFI trimite informatia la un router aflat in statie prin intermediul undelor
electromagnetice. De la router informatia este trimisa la server prin ethernet. Serverul decodeaza
informatia, apoi cauta numarul rezervari in baza de date pe care o marcheaza ca fiind validata. Dupa
ce rezervarea este validata servarul trimite inapoi la validator daca a reusit sau nu validarea.
Informatia este trimisa la router prin ethernet iar de la ruter ajunge la modulul WIFI. De la modulul
WIFI aceasta este trimisa la placa arduino care va afisa pe ecran mesajul „bilet valid” in cazul in care
biletul a fost validat cu succes, iar in cazul in care biletul nu a fost gasi „bilet nevalidat”
Principiul de functionare
Modulul RFID cu chip RC522 este un cititor NFC, ușor de utilizat, cu costuri reduse și se aplică
dezvoltării de echipamente și de aplicații avansate. Acest modul poate fi încărcat direct în diferite
forme de cititoare. Utilizează o tensiune de 3.3V, iar comunicarea se poate face prin intermediul
interfeței SPI.
10
Caracteristici tehnice RC522:
Comunicatii:
Comunicarea SPI este de tip Master/Slave, masterul fiind de obicei microcontrollerul ce controleaza
un shield.
Pentru comunicarea SPI sunt utilizati o serie de pini dedicati si care au roluri clar definite:
1. MISO (Master In Slave Out) - este de fapt pinul 12 al Arduino-ului. Asa cum sugereaza si
denumirea, aceasta este linia utilizata de slave pentru a trimite date catre master.
2. MOSI (Master Out Slave In) - pinul 11 al Arduino, este utilizat pentru ca masterul sa
poata trimite date catre slave.
3. SCK (Serial Clock) - pentru ca cele doua dispozitive sa poata comunica sincron (dupa cum
spuneam mai sus, comunicarea este una sincrona), este nevoie ca masterul sa pulseze la
o anumita frecventa reprezentand o cuanta de timp. Slaveul va asculta aceasta pulsatie
si va sti ca incepe un nou capitol al comunicarii dintre el si master. SCK in cazul nostru
este implementat de pinul 13 al Arduino.
4. SS (Slave Select) - Este utilizat de master pentru a selecta diversi slave.
Arduino UNO este o platforma de procesare open-source, bazata pe software si hardware flexibil
si simplu de folosit. Consta intr-o platforma de mici dimensiuni (6.8 cm / 5.3 cm – in cea mai des
intalnita varianta) construita in jurul unui procesor de semnal si este capabila de a prelua date din
mediul inconjurator printr-o serie de senzori si de a efectua actiuni asupra mediului prin intermediul
luminilor, motoarelor, servomotoare, si alte tipuri de dispozitive mecanice. Procesorul este capabil
sa ruleze cod scris intr-un limbaj de programare care este foarte similar cu limbajul C++.
11
Specificatii :
1. Microcontroler: ATmega328
2. Tensiune de lucru: 5V
3. Tensiune de intrare (recomandat): 7-12V
4. Pini digitali: 14 (6 PWM output)
5. Pini analogici: 6
6. Curent 3.3V: 50 mA
Modulul WiFi ESP8266 este un SOC cu protocol TCP / IP integrat care ii poate da acces la reteaua
WiFi oricarui microcontroler. ESP8266 este capabil de hosting pentru o aplicatie sau sa preia toate
functiile de retea Wi-Fi de la un alt procesor de aplicatie. Acest modul are o capacitate de procesare
si stocare suficient de puternica, care ii permite sa fie integrat cu senzori si dispozitive specifice prin
intermediul pinilor GPIO. ESP8266 suporta APSD pentru aplicatii VoIP si interfete cu Bluetooth si
contine un RF auto-calibrat care ii permite sa lucreze in toate conditiile de functionare si nu necesita
piese RF externe.
12
Caracteristici tehnice:
Comunicatii
Modulul WIFI ESP 8266 comunica cu placa arduino prin intermediul comunicatiei seriale
Comunicarea seriala este o comunicare de tip digital, in sensul ca pe fir se transmit biti (ca la fel
cum se intampla intr-o retea de calculatoare, doar ca folosind un protocol mult simplificat). Aceasta
comunicare seriala se intampla intotdeauna intre Arduino si calculator, atunci cand Arduino este
programat. O comunicare seriala se intampla intotdeauna la o anumita rata de transfer, care
determina viteza cu care se transmit bitii pe fir. Rate comune de transfer sunt 9600, 19200, 57600,
115200.
SoftwareSerial este tot o modalitate de comunicare seriala, doar ca in loc de a utiliza pinii RX si TX
ai microcontroller-ului (care sunt dedicati pentru o astfel de comunicare), utilizam o librarie software
care emuleaza comunicarea folosind (aproape) oricare doi pini digitali ai placii Arduino. Avantajul
imediat este faptul ca in acest mod putem conecta placa Arduino cu mult mai multe dispozitive
seriale.
13
Afisor
S-a folosit un afisor TFTM050-3 deoarece este suficient de mare si se poate conecta foarte usor la
placa arduino
Caracteristici:
Comunicatii
Acronimul I2C vine de la “Inter-Integrated Circuit”. Acest tip de comunicare a fost definit de Philips în
1970 din dorinţa de simplificare şi standardizare a liniilor de date din produsele lor. Prin această
soluţie s-a redus numărul de linii la două (SDA – date şi SCL – ceas). Popular această interfaţă este
cunoscută şi sub numele de „comunicare pe doua fire” sau „two wire interface”.
14
I2C presupune:
Controlul
Dispozitivul de control este reprezentat de un telefon care se afla la fiecare controlor. Aceste
comunica cu telefonul calatorului prin comunicatie NFC.
Comunicatia NFC
NFC sau Near Field Communication (comunicare în câmp apropiat) este un set de standarde de
comunicare fără fir, pe distanțe foarte scurte. Tehnologia permite dispozitivelor electronice să
stabilească linii de comunicare radio între ele, în ambele direcții, folosind alte tehnologii
complementare precum Bluetooth sau WiFi. NFC funcționează prin atingerea a două dispozitive sau
prin alăturarea lor, la o distanță mai mică de 10 centimetri.
NFC este o tehnologie similară cu RFID, dar cu diferența crucială că, cipurile RFID pot doar să fie
citite. NFC îi permite dispozitivului să transmită și să primească informații de la alte dispozitive cu
NFC. Drept urmare, deși NFC și RFID sunt similare, aceste tehnologii nu sunt același lucru. Cea mai
mare slăbiciune a tehnologiei NFC este că nu oferă niciun fel de securitate și protecție în afara
faptului că astfel de conexiuni se realizează doar pe o rază de câțiva centimetri. NFC este vulnerabilă
la multe tipuri de atacuri informaționale precum și susceptibilă la modificarea datelor transmise
între două terminale.
15
6. Serverul
In momentul in care calatorul a finalizat rezervarea datele sunt trimise la server si memorate intr-o
baza de date, iar serverul va trimite inapoi utilizatorului un numar de rezervare care este memorat in
aplicatie. In momentul in care calatorul valideaza biletul, validatorul trimite numarul rezervari la
server care bifeaza rezervarea respectiva ca fiind validate, iar apoi va trimite inapoi la validator daca
rezervarea a fost sau nu validata.
Un server este un program de calculator sau un dispozitiv care oferă funcționalitate pentru alte
programe sau dispozitive, numite „ clienți ”. Această arhitectură se numește modelul client-server și
un singur calcul general este distribuit pe mai multe procese sau dispozitive. Serverele pot oferi
diferite funcționalități, adesea numite „servicii”, cum ar fi partajarea de date sau resurse între mai
mulți clienți sau efectuarea de calcul pentru un client. Un singur server poate servi mai mulți clienți
și un singur client poate utiliza mai multe servere. Serverele deservesc resurse hardware care sunt
partajate și pot uneori fi comandate de către calculatoarele-client, cum ar fi imprimante (atunci
serverul se numește print server) sau sisteme de fișiere (atunci el se numește file server). Această
partajare permite un acces și o securitate mai bune; ea poate reduce cheltuielile pentru dispozitivele
periferice. De obicei, aplicația server așteaptă conexiuni din partea aplicațiilor client. Se mai
numește server și calculatorul pe care rulează una sau mai multe asemenea aplicații. Deseori soluția
pentru mari aplicații cu mulți utilizatori se bazează tocmai pe arhitectura client-server, care constă
din cel puțin 2 aplicații (și deseori cel puțin 2 computere).
16
Baza de date
Tabela Preturi
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.
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 sunt modelul ierarhic, modelul orientat pe obiecte și, mai nou,
modelul XML.
17
7. Codarea mesajului
Algoritmul caută în fereastră cea mai lungă potrivire cu începutul buffer-ului lookahead şi oferă la
ieşire un pointer către acea potrivire. Deoarece este posibil să nu fie găsită nici măcar o potrivire de
caracter, ieşirea nu poate fi formată doar din pointer-i. Algoritmul LZ77 rezolvă această problemă în
felul următor: după fiecare pointer, furnizează la ieşire primul caracter din buffer-ul lookahead după
potrivire. Deci, dacă apare nici o potrivire, la ieşire va rezulta un pointer nul şi caracterul de la poziţia
de codare.
Pasul 2. Se caută cea mai lungă potrivire în fereastră pentru buffer-ul lookahead.
Pasul 3. Se furnizează la ieşire perechea (P,C) – P este pointer-ul către potrivirea din fereastră, iar C
este primul caracter din buffer-ul lookahead care nu se mai potriveşte.
Pasul 4. Dacă buffer-ul lookahead nu este gol, se mută poziţia de codare şi fereastra cu L+1 caractere
înainte şi se reia Pasul 2 (L este numărul de caractere al potrivirii).
Pasul 2. Se execută L deplasări, în timp ce se încarcă conţinutul din poziţia P a buffer-ului în ultima
poziţie n – Ls.
18
8. Schema logica
Aplicatie calatori
Start
NU DA
Exista cont? Start
Start
Trimitere la baza de
date
Trimite la aplicatie
Alegere data
numrul de rezervare
Memorare in baza de
Alegere ruta si tren
date (alocare numar)
19
Aplicatie control
Start
Exista cont?
Conectare in aplicatie
Conectare NFC cu
telefonul calatorului
NU
Primeste numar
rezervare
DA
NU DA
Trimite raspuns la Rezervarea este Trimitere raspuns la
aplicatie validate? aplicatie
20
Validator
Start
NU
S-a conectat
telefonul?
DA
Primire mesaj la
Trimite mesaj la Arduino pe
modulul WIFI pinii Rx si Tx
21
Server
Start
Primeste informatia de
la router prin ethernet
Decodare informatie
NU
Trimite la router “nu S-a gasit numarul de
exista rezervare”. rezervare?
DA
Trimite la router
“bilet validat”
22
9. Bibliografie
1. https://eu.mouser.com/ProductDetail/Diodes-
Incorporated/ZSR1000GTA?qs=GBLSl2AkirswktLieU4Zqw==
2. https://www.buydisplay.com/default/5-inch-tft-lcd-module-800x480-display-
controller-i2c-serial-spi
3. https://ro.wikipedia.org/wiki/Server
4. https://ro.wikipedia.org/wiki/Arduino
5. https://ro.wikipedia.org/wiki/Baz%C4%83_de_date
23