Specializarea Medii Virtuale Multi-Modale Distribuite [621908]

Ministerul Educa ției Naționale și Cercetării Științifice
Universitatea “OVIDIUS” Constan ța
Facultatea de Matematic ă și Informatic ă
Specializarea "Medii Virtuale Multi-Modale Distribuite"

Arhitectura, Proiectarea și Dezvoltarea unui
Sistem de Gestiune a Activit ății Porturilor Lumii

Lucrare de diserta ție

Coordonator științific,
Conf. dr. Christian Manca ș

Absolvent: [anonimizat]
2018

Rezumat
Administrarea unei activit ăți portuare este o continu ă lupta intre titani: este vorba atat
despre legislatia in vigoare nationala și internaționala, cat si despre tehnologiile existente la
un moment dat iar în cele din urm ă găsirea celei mai bune solu ții informatice care s ă satisfacă
exigențele utilizatorilor.
Pentru activit ăți ce implic ă gestiunea porturilor lumii, v ăzute că un sistem planetar
pus la dispozi ția tuturor factorilor interesa ți, prezen ța lucrare intitulat ă “Arhitectura,
proiectarea și dezvoltarea unui sistem de gestiune a activit ății porturilor lumii”, ofer ă un prim
pas în drumul c ătre utilizarea pe scar ă largă a navelor f ără echipaj uman.

Abstract
Managing a port activity is a constant challenge: on the one hand, the local and
international legal system, on the other hand, the stage of technical development and ultimately the finding of the best IT solutions that satisfy the users' demands.
For activities involving the management of world’s harbours, seen as a planetary
system made available to all stakeholders, the present work titled "Architecture, Design and Development of a World Ports Management System" provides a first step on the way to widespread use the ship without human crew.

Cuvinte cheie: management portuar, nave f ără echipaj uman, internet of things, cloud.
Domeniul principal: SGBD
Domenii adiacente: IoT, Big Data
Tipul lucrarii: sinteza si cercetare


 
Cuprins

Lista figurilor …………………………………………………………………………………………………………… 4
Lista tabelelor …………………………………………………………………………………………………………… 6
Introducere ……………………………………………………………………………………………………………… 7

Capitolul 1. Considerente teoretice ……………………………………………………………………………. 9
1.1. Interac țiunea om-sistem de calcul …………………………………………………………………… 9
1.2. Tehnologiile omniprezente …………………………………………………………………………….. 9
1.3. Concepte de baz ă ale sistemului …………………………………………………………………….. 11
1.4. Calcul omniprezent ………………………………………………………………………………………. 12

Capitolul 2. Implementare si mod de func ționare …………………………………………………… 1 5
2.1. Configura ția fizică a sistemului …………………………………………………………………….. 15
2.2. Implementare ……………………………………………………………………………………………….. 16
2.3. Securitate cibernetic ă ……………………………………………………………………………………. 23

Capitolul 3. Descrierea aplica ției software ……………………………………………………………….. 25
3.1. Dotări hardware și software ………………………………………………………………………….. 25
3.2. Instalare și dezinstalare ………………………………………………………………………………… 26
3.3. Administrare ………………………………………………………………………………………………… 29
Concluzii ……………………………………………………………………………………………………………… .. 41
Bibliografie …………………………………………………………………………………………………………….. 42
Anexe ……………………………………………………………………………………………………………… ……… 43


 Lista figurilor
Figura 1.1. Schema sistemului de management al navelor independente
Figura 1.2. Abordarea economic ă a vaselor f ără pilot uman
Figura 1.3. Condi țiile pe care trebuie s ă le îndeplineasc ă interfețele omniprezente
Figura 1.4. Concepte de baz ă ale sistemului
Figura 1.5. Pa șii realizării sistemului bazat pe tehnologii omniprezente
Figura 1.6. Tipurile de tehnologii omniprezente in calcul ubicuu Figura 2.1. Specifica ții placa Arduino Mega
Figura 2.2. Specifica ții termistor
Figura 2.3. Conectori electrici Figura 2.4. Prima etap ă de implementare: conectarea
Figura 2.5. Prima etap ă de implementare: testarea
Figura 2.6. Versiunea de IDE Arduino folosit ă
Figura 2.7. Ecran IDE Arduino cu rezultatul testului Figura 2.8. A doua etap ă de implementare
Figura 2.9 Plan de securitate digital ă
Figura 2.10 Sisteme vulnerabile la bordul navelor Figura 3.1. Baza de date din SQL Server Management Studio Figura 3.2. Visual Studio 2017, componentele sistemului Figura 3.3. Configurare ASP.NET 4.7 Figura 3.4. Configurare servicii IIS Management


 Figura 3.5.. Crearea unui cont Temboo
Figura 3.6. Furnizarea cheii secrete Figura 3.7. Set ări privind securitatea datelor
Figura 3.8. Confirmarea set ărilor privind securitatea datelor
Figura 3.9. Configurare mediu de stocare a datelor Figura 3.10. Exemplu de foaie tabelar ă de colectare a datelor
Figura 3.11. Pagin ă de înregistrare user
Figura 3.12. Captura de ecran SQL Database Mana gement a tabelei de stocare a useri-lor
Figura 3.13. Verificare corectitudine completare formular Figura 3.14. Pagin ă Login
Figura 3.15. Confirmare prin email a cre ării contului
Figura 3.16. Trimiterea codului securizat de confirmare creare cont Figura 3.17. Pagin ă de confirmare a logarii
Figura 3.18. Meniul principal


 Lista tabelelor
Tabelul 1.1. Componente principale sistem omniprezent
Tabelul 2.1. Companii care investesc în industria IoT
Tabelul 2.2. Tipuri de atacuri informatice


 Introducere

Managementul portuar interna țional integrat și transportul maritim autonom este
viitorul industriei maritime și va revolu ționa peisajul construc ției și operațiunilor navelor.
Se estimeaz ă că începând cu anul 2020 reducerea echipajelor de la bord se va
transform ă în locuri de munc ă de coordonare și asistare situate pe uscat. Pân ă în 2025, se
estimează că vor fi nave maritime de coast ă fără pilot uman și până în 2035, nave cu
autonomie maxim ă.
Prezența lucrare descrie modul în care se poate implementa preluarea de date,
transmiterea, prelucrarea și stocarea securizat ă a informa țiilor de la bordul navelor iar c ă
domeniu viitor de cercetare propune folosirea inteligen ței artificiale prin integrarea sistemelor
inteligente de con știentizare a obstacolelor.
Un astfel de sistem func ționează prin fuziunea datelor dintr-o serie de senzori,
inclusiv camere de vizionare de noapte, termice și normale, cu informa ții despre radar și
sisteme de senzori bazate pe înv ățare.

Figura 1.1. Schema sistemului de management al navelor independente

În prima faza, prin colectarea datelor, sistemul înva ță. În a dou ă fază i se da controlul
parțial asupra sistemul de conducer e al navei, ceea ce înseamn ă că procesul de detectare și
observare a navei poate controla nava.
Senzori
•C a m e r e  de vizionare,  
termice, informatii  radar
•S i s t e m e  de senzori bazate 
pe invatare
Colectarea  datelor
•I n v a t a r e
•T e s t a r e
Controlul  sistemului  
de conducere
•S i s t e m de detectare
•S i s t e m de observare
Om
• Inregistrare/monitorizare  
abateri


 În această etapă rolul oamenilor va fi de înregistrare și monitorizarea abaterilor. Dup ă
această, al treilea pas va implic ă trecerea la opera țîi mai autonome, în care echipajul va
monitoriza ceea ce se întâmpl ă și mașina va face cea mai mare parte a muncii.
Inteligență artificiale și la navele existente este fezabil ă din cauza num ărului de incidente
pe care le au, incidente adesea legate de erori umane, cum ar fi un oboseal ă sau lipsa
cunostințelor echipajului.
Deși există probleme comune privind securitatea cibernetic ă în general, industria marin ă
are provoc ări unice. O provocare provine din natur ă diferitelor sisteme de la bordul unei
nave. Aceste sisteme sunt adunate de la diver și furnizori în timpul construc ției inițiale și sunt
fragmentate în continuare pe durata de via ță a unui vas. Acest fapt duce la lipsa unui plan
cuprinzător de securitate digital ă care să ia în considerare toate sistemele aflate la bord, c ă un
singur activ securizat.
O altă provocare se datoreaz ă neînțelegerilor între furnizorii de solu ții și operator.
Furnizorii de solu ții cred că, în cele din urm ă, operatorul este responsabil pentru securitatea
informatic ă, în timp ce operatorul presupune c ă responsabilitatea îi revine furnizorului de
servicii.
Operatorii presupun adesea c ă echipamentele, de obicei instalate de ter ți, sunt sigure și că
furnizorii au avut în vedere securitatea informatic ă în numele lor. Aceast ă nu se întâmpl ă
întotdeauna și duce la un sentiment fals de securitate.

Figura 1.2. Abordarea economica a vaselor f ără pilot uman la bord

Un interes aparte din sfera preocup ărilor rezultatelor economice pentru navele f ără pilot:
cine răspunde perntru securitatea echipamentelor, cine asigura nava precum și ce costuri
inițiale și respectiv finale implic ă navele fără echipaj uman la bord. Răspunderea
furnizorilor de  
sisteme
Asigurarea
inițialaAbordare  
economica
Costuri 
inițiale pentru 
echipament


 Capitolul 1. Considerente teoretice
1.1. Interacțiunea om-sistem de calcul

În viață de zi cu zi asist ăm la mutarea în mediul virtual a activit ăților din mediul real.
În perspectiva dezvolt ării societății, interac țiunea dintre realitate și virtual reprezint ă,
atât pentru industrie, cât și pentru îmbun ătățirea calității vieții. Interac țiunea omului cu
mediul virtual, interac țiunea dintre oameni și sistemul de calcul s-a dezvoltat prin apari ția și
utilizarea de noi tehnologii.
Interacțiunea utilizatorului cu mediile virtuale și reale fiind un domeniu
interdisciplinar care se afl ă la granița dintre științele umaniste și științele exacte incluzând și
contribuții din partea artelor.
Între utilizatori și calculatoare se desf ășoară schimburi prin interfa ța cu utilizatorul,
care include atât parte software, cât și hardware: informa țiile sunt afi șate pe monitorul unui
calculator personal, iar intr ările aplica ției sunt primite de la utilizatori prin intermediul
dispozitivelor periferice de tip hardware, cum ar fi tastatur ă și mouse.

1.2. Tehnologiile omniprezente

În prezent, s-au înregistrat schimb ări substan țiale, și anume integrarea calculatorului
în diferite obiecte indispensabile vie ții omului datorit ă tehnologiilor nou ap ărute.
Un calculator este portabil, poate fi cu u șurință pus în buzunar, birouri, case, ma șini și
în orice obiect folositor vie ții și profesiei. Ceea ce permite acestei ma șini electronice de
calcul, calculatorul, s ă fie încorporat în obiecte sunt aceste tehnologii denumite tehnologii
omniprezente.
Prin folosirea anumitor dispozitive, cum ar fi tastatur ă, mouse-ul ori telecomenzile,
interacțiunea omului cu mediul virtuale se poate realiza complet și coerent.
Actorul principal este utilizatorul și acesta are un rol important în tehnologia
omniprezent ă.
Senzorii de monitorizare și de înregistrare a r ăspunsului pot fi de mai multe tipuri de
tehnologii1[1] sis t ău la baza colect ării de date din mediu.

                                                            
1[1] Vision, IR (Infrared),  GPS (Global Positioning  System), Ultraband  radio, Ultrasonic,  RFID (Radio‐frequency  
identification),  Bluetooth,  Wi‐Fi, telefonie mobilă (Smartphone  3G/4G/5G).

10 
 
Utilizabil este cel mai important în interfe țe omniprezente. Acestea trebuie s ă
îndeplineasc ă anumite condi ții:

Figura 1.3. Condi țiile pe care trebuie s ă le îndeplineasc ă interfețele omniprezente

Functional
•sistemul trebuie s ă aibă funcțiile bine definite, astfel încât acestea s ă fie clare
utilizatorului (func țiile sistemului sunt cele care îl ajut ă pe utilizator s ă își
realizeze sarcinile;
Ușurință in 
utilizare
•operațiile realizate cu ajutorul sistemului s ă nu necesite prea mult efort
intelectual și fizic;
Ușurință în 
învățare 
•dialogul dintre utilizator și mediu să fie unul predictibil;
Flexibil 
•să existe o multitudine de posibilit ăți de schimbare a informa țiilor între utilizator
și mediu;
Robust
•permita utilizatorului posibilitatea de a-si evalua st ările sistemului prin
reprezentările pe care le percepe pe interfa ță,
•să aibă posibilitatea de a-si atinge un anumit scop dup ă recunoașterea unei
greșeli în interac țiune,
•timpul de r ăspuns care m ăsoară rata comunic ării dintre utilizator și mediul cu
care interac ționează să fie cât mai mic.

11 
 Deoarece exist ă plusuri și minusuri pe care le ofer ă tehnologiile omniprezente,
prezenta lucrare are în vedere urm ătoarele direc ții:
1. Proiectarea și implementarea prin intermediul tehnologiilor omniprezente de sisteme
inteligente
2. Înregistrarea și punerea la dispozi ția utilizatorului în orice moment datele necesare.

1.3. Concepte de baz ă ale sistemului

Atunci când este vorba despre un sistem inteligent integrat, trebuie avute în vedere cele
două faze în care acesta exist ă, precizând pentru fiecare dintre acestea detaliile de
funcționare:
1. Modul de organizare a sistemului când func ționează offline – salvarea parametrilor și
monitorizarea lor local, prin prelucrarea și procesarea datelor offline dintr-o baz ă de
date;
2. Modul de organizare a sistemului când func ționează în timp real (on-line) – salvarea pe
web a datelor culese în timp real precum și identificarea posibilelor surse de risc și
trimitere de alarme.

Figura 1.4. Concepte de baz ă ale sistemului

• Inregistrare
•S a l v a r e• Monitorizare  
parametri
Off‐line
• Pastrare  date
• Prelucrare  date
Baza de date 
•S a l v a r e pe Web
• Identificare  surse de 
risc
•T r i m i t e r e a  de alarme
On‐line

12 
 În cele dou ă faze atât când activitatea este offline, cât și în timp real, se împarte în dou ă
mari părți principale:
b) Înregistrarea și comunicarea nivelelor ob ținute, cu ajutorul mediilor de stocare.
a) Senzorii de electronici de receptare a parametrilor, utiliza ți pentru urm ărirea continue;
Implementarea unui sistem de asistare bazat pe tehnologii omniprezente cuprinde
integrarea modul cu modul și ulterior în subsisteme care compune sistemul.
Această presupune integrarea, configurarea și sincronizarea grupei de senzori folosi ți
pentru urm ărirea datelor.

Figura 1.5. Pasii realizarii sistemului bazat pe tehnologii omniprezente
 
 1.4. Calcul omniprezent
Ideea de „ubiquitous computing” este proprie oamenilor de stiint ă d e l a X e r o x
Research Center; acest colectiv a devenit apreciat prin viziunea unic ă despre calculatoarele
viitorului. Impreun ă cu Mark Weiser2 au concluzionat c ă în cazul domeniului extrem de vast
al calculului omniprezent, în cadrul interac țiunii proprii, a realitatii palpabile, acesta este
exact inversul realit ății virtuale.
Lumea virtual ă dorește să introduc ă omul în lumea artificial ă generată de
dispozitivele electronice. Ceea ce pune mai departe o intrebare serioas ă este legat ă de puterea
                                                            
2 Mark Weiser este numit și părintele calculului  ubicuu: a prezis a treia generație, a rețelelor complexe,  
formate dintr‐o multitudine  de dispozitive  integrate,  cu interfețe inteligente.  Extragerea  
valorilor 
inregistrate  pe 
baza senzorilor  Informare  
asupra valorilor 
inregistrate  
dintr‐un anumit 
interval de 
timp;Implementarea  
sistemului  de 
alarmare si 
raportare  finala

13 
 de calcul necesar ă pentru crearea și întreținerea lumii artificiale3 și pentru interpretarea
semnalelor primite de la utilizator. Calculul ubicuu se vrea o continuare cu mers în sens contrar: asimilarea dispozitivelor electronice de calcul în lumea real ă, naturală.
Impactul asupra utilizatorilor este total diferit: dac ă în realitatea virtual ă are acces
doar cine dore ște acest lucru, re țelele omniprezente înconjoar ă utilizatorul indiferent dac ă
asta își dorește sau nu. Urmeaz ă apoi problemele legate de securitate a datelor și protecția
intimității personale.
Multe și diverse domenii ale activit ății umane folosesc aplica ții bazate pe tehnologii
omniprezente Acestea sunt diferite și se regăsesc integrate în medii și obiecte ce ne
înconjoar ă.

Figura 1. 6. Tipurile de tehnologiile omni prezente prezente in calcul ubicuu
Noțiunile despre calculul omniprezent s-au r ăspândit în lume, atât între speciali ști cât și în
domeniile vie ții de zi cu zi cum ar fi cel comercial sau la intersec ția celor dou ă.
O rețea omniprezent ă înseamnă oriunde și întotdeauna conectat. Pentru aceast ă, la birou,
în trafic, în institu ții publice, chiar și acasă, tehnologiile omniprezente sunt integrate în multe
aspecte ale existen ței noastre.
                                                            
3 Cu cât lumea artificială se dorește a fi mai realistă, cu atât mai multă putere de calcul este necesară. 
 Tehnologie  software
Tehnologie  de interacțiune om‐mașina
Telecomunica ții in rețele globale fără fir pentru voce și transmisii  de date
Dispozitive  legate în rețea, senzori, instrumente  și interfețe
(i)Resurse  informaționale și computaționale, grila de servicii organizate  și accesibile
Servicii de rețea cu lățime de banda mare
Informații omniprezente  și instrumente  de analiza

14 
 Într-un mediu omniprezent, sunt incluse urm ătoarele componente principale minimale:
Nr.
crt. Denumire component Descriere Actiune
1 Microprocesoare cu
memorie Incorporate în
obiecte/dispozitive Interacțiune om-
dispozitiv
2 Server Gazduieste baza de date Salvare de date
3 Tehnologii f ără fir4 Comunica cu mai multe
dispozitive Comunicare pachete de
date si informatii
4 Senzori de monitorizare5 Detectarea modific ărilor din
mediu Preluare date din mediu

Tabelul 1.1. Componente principale ale unui sistem omniprezent

Un interes aparte îl prezint ă sistemele de tip robot, care utilizeaz ă calculul
omniprezent sub numele de ”Ubibot” – robot omniprezent
6. Termenul de robot ubiqoutous
este utilizat în analogie cu calcul omniprezent.
Aplicațiile integreaz ă tehnologiile robotizate cu tehnologiile din domeniul de calcul
omniprezent, re țele de senzori și inteligen ță artificială.
Ubibot este un termen general pentru toate tipurile de robo ți care incorporeaz ă
aplicația software a robotului numit ă de unii cercet ători ” Sobot ”.
Că o trăsătură generală, tehnologiile omniprezente au puterea de a u șura viața omului
prin aplica țiile și sistemele care se pot dezvolt ă cu ajutorul lor.
                                                            
4 WiFi, RFID, Bluetooth  etc. 
5 Senzorii sunt incorpora ți în obiecte sau dispositive.  
6 H. Kim, K.‐H. Lee, Y.‐D. Kim, N.‐S. Kuppus”, J. Jo, “Ubiquitous  Robot: A New Paradigm  for Integrated  Services .

15 
 Capitolul 2. Implementare și mod de func ționare

Acest capitol debuteaz ă prin prezentarea configura ției fizice a sistemului.
Se implementeaza și configureaza senzorii utiliza ți. Implementarea sistemului se face pe
baza unor algoritmi de configurare și sincronizare a setului de senzori iar primul pas este
implementarea subsistemului de extragere a valorilor.

2.1. Configura ția fizică a sistemului
Placa Arduino Mega se conecteaz ă la portul USB al calculatorului folosind un
cablu de tip USB A-B. Poate fi alimentat ă extern (din priz ă) folosind un alimentator extern.

Figura 2.1. Specifica ții placa Arduino Mega

Senzori: Termistor7
Modulul senzorului termistor este utilizat pentru a detecta temperatura și a
transforma semnalul de ie șire. Este asociat atât cu pinul de ie șire analogic, cât și cu pinul de
ieșire digital etichetat ca AO și respectiv DO pe plac ă. Modulul senzorului termistor este
fabricat din materiale semiconductoare. În principiu, senzorii termistorului sunt în cea mai mare parte coeficien ți de temperatur ă negativă (NTC), ceea ce înseamn ă că termistoarele
NTC vor sc ădea rezisten ța electric ă atunci când sunt supuse unei cre șteri a temperaturii
corpului. Acest modul are un buton de poten țiometru care poate fi reglat pentru a schimba
sensibilitatea termistorului la temperatur ă.
                                                            
7 Sursele se pot consulta la adresa oficiala a  producatorului  placii Arduino

16 
 

Figura 2.2. Specifica ții termistor
Conectori Fire electrice de 5-10 cm lungime, prev ăzute cu capete specializate, în vederea
conexiunii între diferitele componente electrice.

Figura 2.3. Conectori electrici

Sursa de alimentare

2.2. Implementare
În vederea realiz ării scopului declarat, acela de a implementa o interfa ță
omniprezent ă bazată pe o plac ă Arduino care trimite date în mod automat în cloud, trebuie s ă
fie urmați mai mul ți pași.
În prima etap ă se conecteaz ă senzorii și alimentarea la placa Arduino și se testează
conexiunile și integritatea sistemului.

17 
 
Figura 2.4. Prima etapa de implementare: conectarea

Deși se pot folosi diver și senzori în vederea colect ării datelor, pentru acest proiect, am
folosit senzorul termistor8 în vederea m ăsurării temperaturii.
Înainte de a face orice lucru legat de Web, ne vom asigura mai întâi c ă hardware-ul
nostru func ționează corect. Vom face conexiunile hardware corecte între diferitele
componente și vom fișiere de test individual pentru senzori.
Conexiunile hardware necesare pentru proiectul nostru sunt: surs ă 5v și
impamantarea modulului la 5v de la Arduino, pinii analogici și digitali la A0 și pinul 3 al lui
Arduino. Pentru a cre ște valoarea setat ă pentru ie șirea digital ă, se deplaseaza partea
superioară a potențiometrului cu șurubul. Dac ă LED-ul este stins, se rote ște în sens orar pân ă
când led-ul se aprinde.

                                                            
8Sursele bibliotecilor  se pot gasi la adresa www.create.arduino.cc

18 
 
Figura 2.5. Prima etap ă de implementare: testarea
Dupa realizarea conexiunilor hardware, urmeaza testarea senzorilor f ără a încărca
nimic pe Web. Pentru testare se foloseste un script al IDE-ului Arduino
9, versiunea
1.8.610(vezi Anexa).

Figura 2.6. Versiunea de IDE Arduino folosit ă
Definim pinul senzorului și tipul senzorului, alimentarea în vol ți, și rezisten ță
capacitiva, dup ă cum urmeaz ă:

                                                            
9 https://www.arduino.cc/en/Main/Software  
10 https://create.arduino.cc/projecthub/Marcazzan_M/how ‐easy‐is‐it‐to‐use‐a‐thermistor ‐e39321

19 
 Declarăm câteva variabile care vor stoca m ăsurătorile:

În setup() initializam conexiunea serial ă și convertim datele:

În buclă, loop(), se vor efectua diferite calcule:

La sfâr șitul calculelor, se vor afi șa datele de pe monitorul serial, dup ă cum se arat ă
în următorul cod:

Se repet ă măsurătorile, calculul și afișarea rezultatelor la fiecare 2 secunde, cu
ajutorul func ției delay():

Dup ă salvarea fi șierului, se încarc ă script-ul în vederea test ării plăcii Arduino.
Monitorul serial pus la dipozi ție de IDE-ul Arduino va afi șa datele care provin de la senzori
după cum se arat ă în următoarea captura de ecran:

20 
 

Figura 2.7. Ecran IDE Arduino cu rezultatul testului

În a dou ă etapă se asigura c onectarea, inserarea de date, creare de alerte și
publicare informa ții.
În a două etapă se asigura conexiunea pl ăcii Arduino cu serviciile mediului Temboo
folosind bibliotecile Temboo dedicate.

Cu ajutorul acestora, se înregistreaz ă datele colectate într-o foaie de calcul Google
Docs și se crează alerte automate de po ștă electronic ă pe care le publicăm pe un cont
dedicat de pe o alt ă platforma.

Figura 2.8. A doua etap ă de implementare

21 
 
Proiectul este versatil și adaptabil iar mediul oferit de Temboo permite combinarea
altor părți în acest proiect,ad ăugarea multor pl ăci Arduino la proiect, de exemplu, în dou ă
diferite zone. Se vor putea folosi op țiunile Temboo pentru a trimite datele colectate pe Web,
astfel încât s ă poată fi monitorizate de la distan ță.
A plicatia are nevoie de servicii complexe de cloud și de aceea urm ătorul pas este de
a crea și a configura un cont pe serviciul web Temboo, astfel încât s ă se poată utiliza o parte
din serviciile oferite de acesta, s ă încarce de date c ătre documente Google și să utilizeze
bibliotecile lor Gmail.
O interfa ță omniprezent ă simplă bazată pe placă Arduino Mega 2560 care trimite
datele înregistrate în mod automat în cloud. Pentru aceast ă este necesar a se conecta senzori
simpli (termorezistor) la plac ă Arduino Mega, și existența unui modul de testare pentru plac ă
Mega pentru a ne asigura c ă atât senzorii, plac ă Arduino dar și conexiunile func ționează
corect.
Placa Arduino poate interfa ță fie cu serviciile Temboo folosind bibliotecile acestuia
fie cu sistemul on-line Neptunus Management. Cu ajutorul acestor biblioteci, se înregistreaz ă
datele într-o foaie de calcul Google Docs, se pot crea alerte automate de po ștă electronic ă pe
baza măsurătorilor iar datele pot fi p ăstrate sau transmise mai departe. Se pot conecta mai
multe plăci Arduino, amplasate în zone diferite.
Mediul de programare integrat Temboo se poate folosi pentru a trimite datele
înregistrate de c ătre senzori Web, astfel încât parametri urm ăriți să poată fi monitoriza ți de la
distanță.
Costurile legate de Amazon AWS IoT Core, Google IoT Core și Microsoft Azure IoT
Hub sunt structurate atât de diferit încât compararea costurilor este aproape imposibil ă. În
scopul de a u șura aceast ă provocare, se poate folosi inteligen ța artificial ă pentru platformele
de tip cloud și a găși cele mai ieftine op țiuni pentru diferite scenarii.
Microsoft este cel mai ieftin furnizor atunci când dimensiunea mesajului, num ărul de
dispozitive și numărul de mesaje trimise sunt relativ ridicate, dar utilizatorul trebuie s ă-și
cunoască necesarul de memorie. Între timp, AWS Amazon este cel mai ieftin furnizor de IoT
pentru acele mici implement ări tipice: implement ări cu mai pu țîn de 20.000 de dispozitive, în

22 
 care fiecare trimite în medie mai pu țin de trei mesaje pe minut, sub 6 KB fiecare, AWS este
cel mai ieftin.

Internet of Things este o industrie atât de vast ă și la început de drum, dar a suscitat
interesul multor companii.
În tabelul de mai jos sunt prezentate câteva companii care au investit în viitorul acestei
industrii.
 
Honeywell Hitachi T-Mobile Comcast
GE AT&T Cisco IBM
Amazon Skyworks Apple Sierra Wireless
Google Iridium
Communications Ambarella ARM Holdings
Texas Instruments PTC Fitbit ORBCOMM
Garmin Blackrock InvenSense Microsoft
Control4 Silicon Laboratories CalAmp LogMeIn
InterDigital Ruckus Wireless Linear Technology Red Hat
Nimble Storage Silver Spring
Networks Zebra Technologies Arrow
Electronics

Tabelul 2.1. Companii care investesc in industria IoT

23 
 
2.3. Securitatea cibernetic ă
Nici o conversa ție pe rețeaua navei nu ar fi complet ă fără factorizarea riscurilor asociate
securității informatice. Pe m ăsură ce navele devin mai conectate, automate și cu autonomie
reală, industria de transport maritim pune un accent mai mare pe securitatea informatic ă.
Există probleme comune privind securitatea cibernetic ă în general dar industria marin ă
are provoc ări unice.
Prima dintre acestea vine din natur ă diferitelor sisteme de la bordul unei nave. Aceste
sisteme sunt adunate de la o varietate de furnizori în timpul construc ției inițiale și sunt
fragmentate în continuare pe durata de via ță a unui vas, cum ar fi în timpul unui eveniment
repornire sau al schimb ării echipamentelor electronice. Acest fapt duce la lipsa unui plan
cuprinzător de securitate digital ă care să ia în considerare toate sistemele aflate la bord, c ă un
singur activ securizat.

Figura 2.9. Plan de securitate digital ă
Furnizorii  de 
echipamente
Declarații de asigurare a 
produsului  pe care operatorul  se 
poate baza 
Certificarea  și instruirea  
integratorilor  terți
Validarea  echipamentelor  de 
către terți pentru securitatea  
informatic ăOperatorii
Solicitare declarații de asigurare 
de la furnizorul  de servicii 
Înțelegerea limitărilor și 
vulnerabilit ăților sistemelor  
Solicitare și validare segregarea  
rețelelor de la bord

24 
 Cyber-atacurile sunt în forme multiple și nesuspectante, incluzând, dar f ără a se limita la
următoarele practici:
Denumire Descriere
Ingineria
socială Atac care se bazeaz ă în mare m ăsură pe interac țiunea uman ă și implică de cele
mai multe ori în șelarea oamenilor si în a sparge procedurile normale de
securitate.
Waterholing Un atac în care atacatorul caut ă să compromit ă un anumit grup de utilizatori
finali prin infectarea site-urilor pe care membrii grupului sunt cunoscu ți pentru
a le vizita. Scopul este de a infecta computerul utilizatorului vizat și de a avea
acces la re țeaua navei.
Phishing Un e-mail care îi va direc ționa în mod obi șnuit pe utilizatori s ă viziteze un site
web în care sunt ruga ți să actualizeze informa țiile personale, cum ar fi o parol ă,
un card de credit sau numere de cont bancar, pe care organiza ția legitim ă le are
deja.
Atacul de tip
phishing Un e-mail care pare a fi de la o persoan ă cunoscuta dar în realitate nu este. În
schimb, un hacker caut ă informații vitale din sistem, cum ar fi loca ția actuală a
navelor, înc ărcătura pe care o transport ă și la ce port și la ce moment va ajunge.
Scanare Un atacator lanseaz ă o scanare port pentru a vedea ce porturi sunt deschise, cu
un serviciu de ascultare.
Un atac de scanare port apare atunci când un atacator trimite pachete de date
nesolicitate, variind portul de destina ție
Ransomware Tip de software proiectat s ă blocheze accesul la un sistem informatic pân ă la
plata unei sume de bani
Implementarea
de botneturi O rețea de computere private infectate și controlate de un grup f ără cunoștințele
proprietarilor

Tabelul nr.2.2. Tipuri de atacuri

Vulnerabilit ățile sistemelor de la bordul navelor pot include, dar nu se limiteaz ă la:

Figura 2.10. Sisteme vulnerabile la bordul navelor

Sisteme de 
control al 
accesului
Dispozitive  
computerizat
e distribuite  
Sisteme 
administrativ
e și de 
asistență 
pentru 
echipaj
Sisteme de 
deservire  și 
gestionare  a 
pasagerilor
Sisteme de 
gestionare  a 
puntilor
Sisteme de 
manage‐
ment al 
mărfurilor
Sisteme de  
comunica ții

25 
 Capitolul 3. Descrierea aplica ției software
3.1. Dotari hardware și software

1. Visual Studio 2017
Condiții hardware:

Condiții software:

2.SQL Server Management Studio 2017

26 
 
Figura 3.1. Baza de date din SQL Server Management Studio
3.2. Instalare și dezinstalare

Dezvoltarea aplica ței web Neptunus a presupus utilizarea urn ătoarelor elemente:
1. Framework-ul aplica ției: ASP.NET – înglobeaz ă toate librariile și funcțiile
folosite la dezvoltarea aplica ției web.
2. Serverul Web: IIS – elementul prin care se execut ă aplicația și se transmit
informațiile HTML catre browser.
3. Baza de date: SQL SERVER – utilizată pentru a stoca toate inforna țiile care se
regăsesc în aplica ția web sau care sunt introduse ulterior de c ătre utilizatorii
aplicației

27 
 4. Pentru dezvoltarea aplica ției web folosim Visual Studio – programul în care a
fost scris codul aplica ției web și cu ajutorul c ăruia s-au realizat teste de
verificare a func ționalității programului.
După instalarea aplica ției Visual Studio Professional 2017, am instalat extensiile
utilizate la dezvoltarea aplica ției web: Microsoft Visual C# 2017, ASP.NET AJAX Control
Toolkit, ASP.NET Web Frameworks and Tools 2017, NuGet Package Manager , SQL Server
Data Tools, Microsoft SQL Server Data Tools.

Figura 3.2. Visual Studio 2017, componentele sistemului NEPTUNUS

Figura 3.3. Configurare ASP.NET 4.7

28 
 Pentru configurarea serviciilor web, ulterior instal ării programului IIS, am accesat
meniul Control Panel -> Turn Windows Features On and Off , unde am activat serviciile “IIS
Management Service” (Web Management Tools), “ASP.NET 4.7” (Application Development Features) si “Common HTTP Features” . Pentru ca modific ările să se aplice, a fost necesar ă
restartarea sistemului.

Figura 3.4. Configurare servicii IIS Management

După instalarea programului SQL Server Management Studio, a urmat setarea
serviciilor de Sql și crearea bazei de date AdmitereFacultate.
Ulterior, în fi șierul web.config din proiectul de tip website din Visual Studio 2017, s-
au adăugat setările :

29 
 

În cazul în care se dore ște dezinstalarea aplica ției, se vor inactiva serviciile
menționate mai sus și se vor dezinstala programele folosite la dezvoltarea aplica ției web.

3.3 Administrare

Pagina de Administrator și opțiunile aferente
a. Crearea unui cont Temboo
Pentru a face acest lucru, primul pas este accesarea site-ul Temboo11.
În pagina principal ă, trebuie doar ca administratorul s ă introduca adresa de e-mail
pentru a înregistra a șa cum se arat ă în următoarea imagine:

Figura 3.5. Crearea unui cont Temboo

Apoi ni se va cere s ă introducem câteva informa ții de bază despre contul nostru, cum
ar fi numele contului.
Apoi se va solicita s ă creați prima aplica ție.
                                                            
11 http://temboo.com/

30 
 Este foarte important a se retine detaliile semnificative: numele aplica ției și cheia.
Acum putem s ă începem s ă folosim bibliotecile Temboo create special pentru placa Arduino
și să încărcam datele în cloud.

Figura 3.6. Furnizarea cheii secrete

b. Trimiterea de date c ătre Google Docs și afișarea acestora
Pentru aceasta sectiune, se foloseste biblioteca speciala Temboo (numit ă Choreo) la
încărcarea măsurătorilor placii Arduino pe Web și înregistrarea datelor într-o foaia de calcul
Google Docs.
La pagina principal ă Temboo, putem alege dintre diferite platforme și limbi, cum ar fi
Arduino, JavaScript sau Pyton. Fiecare dintre aceste link-uri permite selectarea unui Choreo
12, care este o biblioteca dedicata pentru platforma pe care am ales-o și care poate
interfața cu un anumit serviciu web cum ar fi Google Docs.
                                                            
12 Choreo vine de la cuvantul “choreograf”

31 
 
Figura 3.7. Detalii privind securitatea datelor

Figura 3.8. Confirmarea set ărilor privind securitatea datelor

Pentru Platforma Arduino, Temboo ofer ă posibilitatea de a genera întregul cod aferent
proiectului.
Se face clic pe pictograma Arduino de pe site -ul Temboo; astfel putem avea acces la o
interfață pentru a genera codul pas cu pas. Deoarece vrem s ă obținem controlul complet al
dispozitivului nostru și să scriem propriul cod, nu voi folosi aceast ă caracteristic ă pentru acest
proiect.

32 
 Google Docs este foarte convenabil, deoarece este o versiune on-line ( și gratuită) a
popularului software de birou de la Microsoft. Principala diferen ță este că, pentru c ă se afla în
cloud, nu este necesar s ă stocam fi șiere la nivel local sau s ă le salvam periodic, deoarece totul
se face online. Pentru proiectul nostru, avantajul este c ă putem accesa aceste fi șiere de la
distanță de pe orice web browser, chiar dac ă nu suntem pe computerul utilizat in mod
obișnuit. Este suficient sa stim numele contului13 Google14 și parola și pot accesa toate
fișierele.
Sunt foarte importante numele de utilizator și parola Google Docs.
Înainte de a începe s ă scriem orice cod Arduino, se afla stocata in Google Docs o foaie de
calcul ce va g ăzdui datele.
Se initializeaza o aplicatie noua in contul G oogle Docs. Aceasta este in pagina principal ă
a Documentelor Google, f ăcând clic pe butonul Create.

Figura 3.9. Configurare mediu de stocare a datelor

În foaia de calcul, trebuie s ă setam numele coloanelor pentru datele care vor fi stocate:
Data, Temperatura. Acest lucru este afi șat în următoarea captur ă de ecran:
                                                            
13 Un cont Google, se poate crea în mai puțin de cinci minute 
14 Adresa: https://drive.google.com/

33 
 
Figura 3.10. Exemplu de foaie tabelara de colectarea datelor
c. Scriptul Arduino din interiorul IDE-ului Arduino.
Pentru realizarea programului care va permite colectarea si transmiterea datelor, trebuie
să importam toate bibliotecile necesare, dup ă cum urmeaz ă:
Biblioteca TembooAccount.h va con ține toate informa țiile referitoare la contul Temboo.
Accesați acest fișier pentru a introduce informa țiile corespunz ătoare dvs.cont. Acest lucru
este prezentat în urm ătorul cod:

În script trebuie s ă introducem informa țiile Google Docs: numele de utilizator și
parola Google împreun ă cu numele foii de calcul unde se vor înregistra datele:

In vederea înregistrarii datelor si orei aferente fiecarei m ăsurari, se foloseste secventa
de cod:

34 
 
Se va obtine data va fi în formatul: data zilei urmat ă de timp.
In loop() trimitem m ăsurătorile în mod continuu utilizând urm ătoarea func ție:

Să intrăm în detaliile acestei func ții. La inceput se declara Choreo (Serviciul Temboo) pe care
îl vom folosi:

Funcția15 este specific ă foilor de calcul Google Docs și funcționează prin trimiterea unui set
de date separate prin virgule pe un rând dat.
După declararea lui Choreo, trebuie s ă adăugăm diferiți parametri ai Choreo-ului ca
intrări. De exemplu, numele de utilizator Google, dup ă cum se arat ă în următoarea linie de
cod:

Același lucru se face și cu ceilal ți parametri necesari, a șa cum se arat ă în codul urm ător:

Datele trebuie delimitate utilizând virgule astfel încât s ă fie atașat la coloanele corecte
din foaia de calcul, a șa cum se arat ă în următorul cod:
                                                            
15 Există Choreos pentru fiecare serviciu la care se conecteaz ă Temboo, cum ar fi Dropbox și Twitter

35 
 
Choreo este apoi executat cu urm ătoarea linie de cod:

Funcția este apoi repetat ă16 la fiecare 10 minute.
Numărul de apeluri c ătre Temboo este limitat în func ție de planul pe care il alegem17. Aceasta
se face folosind func ția de întârziere, dup ă cum urmeaz ă:

Se incarca scriptul pe placa Arduino și se deschide in documentul Google Docs foaia
de calcul pentru a vedea ce se întâmpl ă. Nu trebuie s ă reîmprosp ătam nimic deoarece totul
este sincronizat live cu serverul Google Docs.
Pentru a compila anumite date, se poate folosi optiunea “Introduce ți diagrame” din
Google Docs. Aceste grafice pot s ă fie plasate automat în foile respective din interiorul foii
de calcul și, bineînțeles, vor fi actualizate automat, pe m ăsură ce apar noi date. De asemenea,
se pot utiliza func țiile de distribuire a documentelor Google pentru a le permite accesul la
aceste foi, astfel încât s ă poată urmari m ăsurătorile facute.
Crearea de alerte automate de po ștă electronic ă

Transmiterea de date de Arduino pe tweeter este pasul urmator . In cazul in care se apleleaza
la securizare, se transmit datele intr-o baza de date SQL, iar ulterior, pe baza datelor
utilizatorilor, se pot analiza sau urmari in timp real toate informatiile transmise de catre senzori.
Pagina de User și opțiunile aferente
Pagina de Înregistrare
                                                            
16 Fluctuatiile  parametrilor  inregistrati  sunt minore în cursul unei zile iar datele care se înregistreaz ă continuu 
17 1000 de apeluri pe lună pe un plan gratuit al Temboo reprezinta  1 apel pe oră

36 
 

Figura 3.11. Pagina de inregistrare USER

Figura 3.12 Captura de ecran din SQL Database Management a tabelei de
stocare a useri-lor

37 
 
Figura 3.13 Verificare corectitudine completare formular

38 
 Pagina de login

Figura 3.14. Pagina Login

Figura 3.15. Confirmarea prin email a crearii contului

39 
 
Figura 3.16. Trimiterea codului securizat de confirmare creeere cont

Figura 3.17. Pagina ce confirmare a logarii

40 
 Pagina de Ad ăugare/Selectare date

Figura 3.18. Meniul principal

41 
 
Concluzii
O interfata omniprezenta simpl ă bazata pe placa Arduino Mega 2560 poate trimite datele
inregistrate în mod automat în cloud. Pentru aceasta este necesar a se conecta senzori simpli (termorezistor) la placa Arduino Mega si existenta unui modul de testare pentru placa Mega pentru a ne asigura c ă atat senzorii, placa Arduino dar si conexiunile func ționează corect.
Cu ajutorul aplicatiei Web Neptunus Management se pot colecta, pastra si transmite in
mod securizat datele preluate de la senzorii plasa ti in diverse locuri de pe corpul navei sau in
marfa incarcate la bord.
Pentru o nava complet autonoma, senzorii plasati in punctele cheie ii ofera operatorului
aflat pe uscat datele necesare pentru a o coor dona dar si baza de cunostinte pentru a putea
invata in mod autonom si in siguranta.
Viitorul industriei de navigatie se va baza pe inteligenta artificiala chiar daca in prima
faza coordonarea umana este esentiala.
Rămân barierele la automatizarea complet ă, mai ales reglementarea. Când o nav ă
pornește in mars, se ține cont de o serie de legi na ționale, interna ționale și private.
Pentru viitor se pot imagina si alte metode de autonomizare a traficului maritim, de
exxemplu prin intermediul satelitilor. Ramane o provocare in continuare securitatea datelor si comunicatiilor, atacurile rau intentionate ale echipamentelor coordonatoare si ale
comunicatiilor dintre acestea fiind extrem de periculoase.

42 
 
Bibliografie:
[1] Christian Mancas, Conceptual Data Modeling and DB Design. A Fully Algorithmic
Approach. Vol. I: The Shortest Available Path, Apple Academic Press / CRC Press /
Francis & Taylor, NJ, USA, 2015 [2] Popovici D. M. coord., Bogdan C., Rusu A., Chelai O. , Nicola A., Ed.Universitaria –
ISBN: 978-606-14-0833-7 / 978-606-14-0834-4 Ed.ProUniversitaria, ISBN: 978-606-26-0049-5 / 978-606-26-0050-1, 2014 .Medii Virtuale Multimodale Distribuite – Vol. I-IV, [3] Yngve Dahl: Modeling Human-Computer Interaction in Smart Spaces: Existing and Emerging Techniques, ISBN 978-953-7619-14-5, Publisher: InTech, October 2008, [4] Mark Weiser, "Some Computer Science Problems in Ubiquitous Computing," Communications of the ACM , July 1993.
[5] Tomoo Misaki, Ubiquitous Society Vision Panel Discussion, APEC, 31st Meeting, 3-
8 April 2005, Bangkok, Thailand.
[6] Faraz Rasheed, Programmer’s Heaven C#. Fuengirola., Editura Spain, 2006.
[7]Jennifer Greene, Andrew Stellman- Head First C, O'Reilly Media, 2015.
[8] Tony Northrup, Microsoft .NET Framework, Application Development Foundation,
Ed. Microsoft Press, 2009.
[9] http://www.businessinsider.com/what-is-the-internet-of-things-definition-2016-8

Similar Posts