Specializarea Medii Virtuale Multi-Modale Distribuite [621910]

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

2

Rezumat
Administrarea unei activități portuare este o continuă provocare: pe de-o parte sistemul
legislativ local și internațional, pe de altă parte stadiul dezvoltatii tehnice 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

3

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

4
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

5
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 Management 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

6
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

7
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 conducere al navei, ceea ce înseamnă că procesul de detectare și
observare a navei poate controla vasul.
Senzori
•Camere de vizionare,
termice, informatii radar
•Sisteme de senzori bazate
pe invatare
Colectarea datelor
•Invatare
•Testare
Controlul sistemului
de conducere
•Sistem de detectare
•Sistem de observare
Om
•Inregistrare/monitorizare
abateri

8
Î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

9
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. Cee ace 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:
– 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;
– 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
• Salvare
• Monitorizare
parametri
Off-line
•Pastrare date
•Prelucrare date
Baza de date
• Salvare pe Web
• Identificare surse de
risc
• Trimiterea 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
Termenul „ubiquitous computing” a devenit cunoscut prin presupunerilor asupra
calculatoarelor viitorului enunțate de către cercetătorii de la Xerox Palo Alto Research Center,
supervizați de către cercetătorul Mark Weiser2. Principala noutate pe care o aduce calculul
omniprezent în interacțiunea omului cu mediul virtual este chiar opusul realității virtuale.
Realitatea virtuală urmărește să introducă omul în lumea artificială generată de
calculatoare. Problema majoră este legată de puterea de calcul necesară pentru crearea și

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
întreținerea lumii artificiale3 și pentru interpretarea semnalelor primite de la utilizator. Calculul
ubicuu se dorește o dezvoltare în sens invers: integrarea calculatoarelor în lumea 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 omniprezente 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
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 omniprezent6. 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. Kuppuswamy and J. Jo, “ Ubiquitous Robot: A New Paradigm for Integrated
Services,” in Proc. of IEEE Conf. on Robotics and Automation, Roma, Italy.

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 http://www.instructables.com/id/Thermistor-Sensor-Module-Interface-With-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 sunt9: 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.

8[1]https://create.arduino.cc/projecthub/LightPro/monitor-temperature-with-google-sheets-
0e694f?ref=userres pected &ref_id =1674& offset=8
9[2] http://microcontrollerslab.com/thermistor-arduino-temperature-meter/

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 Arduino10, versiunea
1.8.611(vezi Anexa).

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

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

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

19

Î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():

20
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:

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

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ă

21
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ță.
Aplicatia 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ță.

22
Costurile legate de AWS12 IoT Core, Google13 IoT Core și Microsoft Azure14 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 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 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 IoT15

12 https://aws.amazon.com/iot-core/
13 cloud.google.com/
14 aws.amazon.com/iot
15 http://www.businessinsider.com/what-is-the-internet-of-things-definition-2016-8

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 nave i.
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 tran sportă ș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

Capitolul 3. Descrierea aplicației software
Sisteme de
control al
accesului
Dispozitive
computeriza
te 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
Sistemede
comunicații

25
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 datae 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 Temboo16.
Î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.

16 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 Choreo17,
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.

17 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 contului18 Google19 ș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 Google 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:

18 Un cont Google, se poate crea în mai puțin de cinci minute
19 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ția20 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:

20 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ă21 la fiecare 10 minute.
Numărul de apeluri către Temboo este limitat în funcție de planul pe care il alegem22. 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

21 Fluctuatiile parametrilor inregistrati sunt minore în cursul unei zile iar datele care se înregistrează continuu
22 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 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. Confirmare 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 plasati 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 coordona 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,
Telecommunications and Information Working Group, 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