Master Medii Virtuale Multi-Modale Distribuite [621911]
Ministerul Educației Naționale și Cercetării Științifice
Universitatea “OVIDIUS” Constanța
Facultatea de Matematică și Informatică
Master "Medii Virtuale Multi-Modale Distribuite"
Arhitectura, Proiectarea si Dezvoltarea unui
Sistem de Gestiune a Activitatii Porturilor Lumii
Lucrare de disertatie
Coordonator stiintific,
Prof. Univ. Dr. Christian Mancas
Absolvent: [anonimizat]
2018
2
Rezumat
Administrarea unei activitati portuare este o continua provocare: pe de-o parte sistemul
legislativ local si international, pe de alta parte stadiul dezvoltatii tehnice iar in cele din urma
gasirea celei mai bune solutii informatice care sa satisfaca exigentele utilizatorilor.
Pentru activitati ce implica gestiunea porturilor lumii, vazute ca un sistem planetar pus la
dispozitia tuturor factorilor interesati, prezenta lucrare intitulata “Arhitectura, proiectarea si
dezvoltarea unui sistem de gestiune a activitatii porturilor lumii”, ofera un prim pas in drumul catre
utilizarea pe scara larga a navelor fara 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 fara 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 functionare …………………………………………………………1 5
2.1. Configuratia fizica a sistemului …………………………………………………………………………..15
2.2 Implementare ………………………………………………………………………………………………………16
2.3. Securitate cibernetică ………………………………………………………………………………………….23
Capitolul 3. Descrierea aplicației software …………………………………………………………………….. 25
3.1. Dotari 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 economica a vaselor fara pilot
Figura 1.3. Conditiile pe care trebuie sa le indeplineasca interfetele omniprezente
Figura 1.4. Concepte de baza ale sistemulu
Figura 1.5. Pasii realizarii sistemului bazat pe tehnologii omniprezente
Figura 1.6. Tipurile de tehnologiile omniprezente prezente in calcul ubicuu
Figura2.1. Specificatii placa Arduino Mega
Figura 2.2. Specificatii termistor
Figura 2.3. Fire electrice
Figura2.4. Prima etapa de implementare: conectare
Figura2.5. Prima etapa de implementare: testare
Figura2.6. Versiunea de IDE Arduino folosita
Figura 2.7. Ecran IDE Arduino cu rezultatul testului
Figura 2.8. A doua etapa de implementare
Figura 2.9 Plan de securitate digitala
Figura 2.10 Sisteme vulnerabile la bordul navelor
Figura 3.1. Baza de datae din SQL Server Management Studio
Figura 3.2. Visual Studio 2017, componentele sistemului
Figura 3.3. Configurare ASP.NET 4.7
5
Figura 3.4. Configurare servicii IIS MAnagement
Figura 3.5.. Crearea unui cont Temboo
Figura 3.6. Furnizarea cheii secrete
Figura 3.7. Setari privind securitatea datelor
Figura 3.8. Confirmarea setarilor privind securitatea datelor
Figura 3.9. Configurare mediu de stocare a datelor
Figura 3.10. Exemplu de foaie tabelara de colectarea datelor
Figura 3.11. Pagina de inregistrare 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. Pagina Login
Figura 3.15. Confirmare prin email a crearii contului
Figura 3.16. Trimiterea codului securizat de confirmare creeere cont
Figura 3.17. Pagina 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 in industria IoT
Tabelul 2.2. Tipuri de atacuri
7
Introducere
Managementul portuar international integrat si transportul maritim autonom este viitorul
industriei maritime și va revoluționa peisajul construcției și operațiunilor navelor.
Se estimeaza ca incepand cu anul 2020 reducerea echipajelor de la bord se va transforma
in locuri de munca de coordonare si asistare situate pe uscat. Până în 2025, se estimeaza ca vor fi
nave maritime de coastă fără pilot uman și până în 2035, nave cu autonomie maxima.
Prezenta lucrare descrie modul in care se poate implementa preluarea de date, transmiterea,
prelucrarea si stocarea securizata a informatiilor de la bordul navelor iar ca domeniu viitor de
cercetare propune folosirea inteligentei 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 invatare.
Figura 1.1. Schema sistemului de management al navelor independente
In prima faza, prin colectarea datelor, sistemul invata. În a doua fază i se da controlul partial
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
In aceasta etapă rolul oamenilor va fi de inregistrare si monitorizarea abaterilor. După aceasta,
al treilea pas va implica trecerea la operații mai autonome, în care echipajul va monitoriza ceea ce
se întâmplă și mașina va face cea mai mare parte a muncii.
Inteligenta artificiale si la navele existente este fezabila din cauza numărului de incidente pe
care le au, incidente adesea legate de erori umane, cum ar fi un oboseala 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 natura diferitelor sisteme de la bordul unei nave. Aceste sisteme sunt
adunate de la diversi 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, ca un singur activ securizat.
O altă provocare se datorează neînțelegerilor între furnizorii de solutii ș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. Aceasta nu se intampla
intotdeauna și duce la un sentiment fals de securitate.
Figura 1.2. Abordarea economica a vaselor fara pilot
Un interes aparte din sfera preocupărilor rezultatelor economice pentru navele fără pilot: cine
raspunde perntru securitatea echipamentelor, cine asigura nava precum si ce costuri initiale si
respectiv finale implica navele fara 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
In viata de zi cu zi asistam la mutarea in mediul virtual a activitatilor din mediul real.
In perspectiva dezvoltarii societatii, interactiunea dintre realitate si virtual reprezintă, atât
pentru industrie, cât și pentru îmbunătățirea calitatii vieții. Interacțiunea omului cu mediul virtual,
interacțiunea dintre oameni și sistemul de calcul s-a dezvoltat prin aparitia si 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.
Intre 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
In prezent, s-au inregistrat schimbări substanțiale, și anume integrarea calculatorului în
diferite obiecte indispensabile vieții omului datorita tehnologiilor nou aparute.
Un calculator este portabil, poate fi cu usurinta pus în buzunar, birouri, case, mașini și în
orice obiect folositor vietii si profesiei. Cee ace permite acestei masini electronice de calcul,
calculatorul, să fie încorporat în obiecte sunt aceste tehnologii denumite tehnologii omniprezente.
Prin folosirea anumitor dispositive, cum ar fi tastatura, mouse-ul ori telecomenzile,
interacțiunea omului cu mediul virtuale se poate realiza complet si coerent.
Actorul principal este utilizatorul si acesta are un rol important in tehnologia omniprezentă.
Senzorii de monitorizare si de inregistrare a răspunsului pot fi de mai multe tipuri de
tehnologii1 sis tau la baza colectarii de date din mediu.
1 Vision, IR (Infrared), GPS (Global Positioning System), Ultraband radio, Ultrasonic, RFID (Radio-frequency
identification), Bluetooth, Wi-Fi, telefonie mobila (Smartphone 3G/4G/5G).
10
Utilizabil este cel mai important in interfete omniprezente. Acestea trebuie sa indeplineasca
anumite conditii:
Figura 1.3. Conditiile pe care trebuie sa le indeplineasca interfetele omniprezente
Deoarece exista plusuri si minusuri pe care le oferă tehnologiile omniprezente, prezenta
lucrare are in vedere urmatoarele directii:
1. Proiectarea și implementarea prin intermediul tehnologiilor omniprezente de sisteme
inteligente
2. Inregistrarea si punerea la dispozitia utilizatorului in orice moment datele necesare.
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
1.3. Concepte de bază ale sistemului
Atunci cand vorbim de sistem inteligent integrat, trebuie avute in vedere cele doua faze in care
acesta exista, precizand pentru fiecare dintre acestea detaliile de functionare:
– Modul de organizare a sistemului când funcționează offline – salvarea parametrilor si
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 in timp real precum si identificarea posibilelor surse de risc si trimitere
de alarme.
Figura 1.4. Concepte de baza ale sistemului
In cele doua faze atat cand activitatea este offline, cât și în timp real, se imparte in doua mari
parti principale:
a) Senzorii de electronici de receptare a parametrilor, utilizati pentru urmărirea continue;
b) Inregistrarea si comunicarea nivelelor obtinute , cu ajutorul mediilor de stocare.
Implementarea unui sistem de asistare bazat pe tehnologii omniprezente cuprinde
integrarea modul cu modul și ulterior in subsisteme care compune sistemul. Aceasta presupune
integrarea, configurarea și sincronizarea grupei de senzori folosiți pentru urmărirea datelor.
• 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
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
î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 virtuala are acces doar cine
dorește acest lucru, rețelele omniprezente inconjoara utilizatorul indiferent dacă asta isi doreste
sau nu. Urmeaza apoi problemele legate de securitate a datelor și protecția intimității personale.
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.
3 Cu cât lumea artificială se dorește a fi mai realistă, cu atât mai multă putere de calcul este necesară.
Extragerea
valorilor
inregistrate pe
baza senzorilor Informare
asupra valorilor
inregistrate
dintr-un anumit
interval de
timp;Implementarea
sistemului de
alarmare si
raportare finala
13
Multe si 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 inconjoara.
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 specialisti cât și în
domeniile vietii de zi cu zi cum ar fi cel comercial sau la intersecția celor doua.
O rețea omniprezentă înseamnă oriunde și întotdeauna conectat. Pentru aceasta, la birou, în
trafic, în instituții publice,chiar si acasa, tehnologiile omniprezente sunt integrate în multe aspecte
ale existentei noastre.
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
Intr-un mediu omnipresent, 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 sistem omnipresent
Un interes aparte il 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”.
Ca o trasatura generala, tehnologiile omniprezente au puterea de a ușura viața omului prin
aplicațiile și sistemele care se pot dezvolta 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 si mod de functionare
Acest capitol debutează prin prezentarea configurației fizice a sistemului.
Se implementeaza și configureaza senzorii utilizati. Implementarea sistemului se face pe baza
unor algoritmi de configurare și sincronizare a setului de senzori incepe cu implementarea
subsistemului de extragere a valorilor.
2.1. Configuratia fizica a sistemului
Placa Arduino Mega se conecteaza la portul USB al calculatorului folosind un cablu de
tip USB A-B. Poate fi alimentata extern (din priza) folosind un alimentator extern.
Figura 2.1. Specificatii 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
7 http://www.instructables.com/id/Thermistor-Sensor-Module-Interface-With-Arduino/
16
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ă.
Figura 2.2. Specificatii termistor
Conectori
Fire electrice de 5-10 cm lungime, prevazute cu capete specializate,in vederea conexiunii
între diferitele componente electrice.
Figura 2.3. Fire electrice
Sursa de alimentare
2.2. Implementare
In vederea realizarii scopului declarat, acela de a implementa o interfata omniprezenta
bazată pe o placa Arduino care trimite date în mod automat în cloud, trebuie sa fie urmati mai
multi pasi.
In prima etapa se conecteaza senzorii si alimentarea la placa Arduino și se testeaza
conexiunile si integritatea sistemului.
17
Figura 2.4. Prima etapa de implementare: conectarea
Desi se pot folosi diversi senzori in vederea colectarii datelor, pentru acest proiect, am
folosit senzorul termistor8 in vederea masurarii temperaturii.
Înainte de a face orice lucru legat de Web, vom asigura mai întâi că hardware-ul nostru
funcționează corect.
Vom face conexiunile hardware corecte între diferitele componente și vom fisiere de test
individual pentru senzori.
Conexiunile hardware necesare pentru proiectul nostru sunt9: sursa 5v și impamantarea
modulului la 5v de la Arduino, pinii analogici și digitali la A0 și pinul 3 al lui Arduino.
Pentru a creste valoarea setată pentru ieșirea digitală, deplasați partea superioară a
potențiometrului cu șurubul. Dacă LED-ul este stins, se roteste în sens orar până când ledul se
aprinde.
8https://create.arduino.cc/projecthub/LightPro/monitor-temperature-with-google-sheets-0e694f?ref=userres
pected &ref_id =1674& offset=8
9 http://microcontrollerslab.com/thermistor-arduino-temperature-meter/
18
Figura 2.5. Prima etapa de implementare: testare
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.
Figura 2.6. Versiunea de IDE Arduino folosita
Definim pinul senzorului și tipul senzorului, alimentarea in volti, si rezistenta capacitiva,
după cum urmează:
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
Declarăm câteva variabile care vor stoca măsurătorile:
In setup() initializam conexiunea serială si convertim datele:
În buclă, loop() , se vor efectua diferite calcule:
La sfarsitul calculelor, se vor afisa datele de pe monitorul serial, după cum se arată în următorul
cod:
Se repeta masuratorile, calculul si afisarea rezultatelor la fiecare 2 secunde, cu ajutorul functiei
delay():
20
Dupa salvarea fisierului, se incarca script-ul in vederea testarii placii Arduino. Monitorul
serial pus la dipozitie de IDE-ul Arduino va afisa 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
In a doua etapa se asigura conexiunea placii Arduino cu serviciile mediului Temboo
folosind bibliotecile Temboo dedicate.
Cu ajutorul acestora, se inregistreaza datele colectate într-o foaie de calcul Google Docs
si se creaza alerte automate de poștă electronică pe care le publicam pe un cont dedicat de pe o
alta platforma.
In a doua etapa se asigura c onectarea, inserarea de date, creare de alerte si publicare
informatii.
Figura 2.8. A doua etapa de implementare
21
Proiectul este versatil si adaptabil iar mediul oferit de Temboo permite combinarea altor
părți in acest proiect,adaugarea multor placi Arduino la proiect, de exemplu, în două diferite zone.
Se vor putea folosi optiunile Temboo pentru a trimite datele colectate pe Web, astfel încât sa poata
fi monitorizate de la distanta.
Aplicatia are nevoie de servicii complexe de cloud si de aceea urmatorul pas este de a
crea și a configura un cont pe serviciul web Temboo, astfel încât să se poata utiliza o parte din
serviciile oferite de acesta, să încarce de date către documente Google și să utilizeze bibliotecile
lor Gmail.
O interfata omniprezenta simplă bazata pe placa Arduino Mega 2560 care 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.
Placa Arduino poate interfata fie cu serviciile Temboo folosind bibliotecile acestuia fie cu
sistemul on-line Neptunus Management. Cu ajutorul acestor biblioteci, se inregistreaza 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 pastrate sau transmise mai departe. Se pot conecta mai multe placi
Arduino, amplasate in zone diferite.
Mediul de programare integrat Temboo se poate folosi pentru a trimite datele inregistrate de
catre senzori Web, astfel încât parametri urmariti sa poata fi monitorizati de la distanta.
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 inteligenta artificiala pentru a compara prețurile pentru
platformele de tip cloud și a scoate 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ă-si cunoasca
necesarul de memorie. Între timp, AWS este cel mai ieftin furnizor de IoT pentru acele mici
implementări tipice. În implementările a mai puțin de 20.000 de dispozitive, in care fiecare trimite
in medie mai puțin de trei mesaje pe minut, sub 6 KB fiecare, AWS este cel mai ieftin.
Internet of Things este o industrie atat de vasta si la inceput de drum,a suscitat interesul multor
companii.
In tabelul de mai jos sunt prezentate cateva companii care au investit in 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. Securitate cibernetică
Nici o conversație pe conectivitatea navei nu ar fi completă fără factorizarea riscurilor asociate
securității informatice. Pe măsură ce navele devin mai conectate, automate și cu nave autonome o
realitate, 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 natura 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, ca un singur activ securizat.
Figura 2.9. Plan de securitate digitala
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 vin î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
Vulnerabilitatile sistemelor de la bordul navelor bord pot include, dar nu se limitează la:
Figura 2.10. Sisteme vulnerabile la bordul navelor
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
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 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. Ustensila pentru dezvoltarea aplicației web: Visual Studio – este 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.
Dupa 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
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
Dupa 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, am
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
16 http://temboo.com/
30
Apoi ni se va cere să introducem câteva informații de bază despre contul nostru, cum ar fi
numele contului, după cum se arată în următoarea imagine de ecran:
Apoi se va solicita să creați prima aplicație.
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 afisarea acestora
Pentru aceasta sectiune, se foloseste biblioteca speciala Temboo (numită Choreo) la încărcarea
măsurătorile 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. Setari privind securitatea datelor
Figura 3.8. Confirmarea setarilor 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 vom 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:
34
In vederea înregistrarii datelor si orei aferente fiecarei măsurari, se foloseste secventa de
cod:
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:
20 Există Choreos pentru fiecare serviciu la care se conectează Temboo, cum ar fi Dropbox și Twitter
35
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:
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 dvs.foaia de calcul
și, bineînțeles, vor fi actualizate automat, pe măsură ce apar noi date. De asemenea, puteți utiliza
funcțiile de distribuire a documentelor Google pentru a le permite accesul la aceste foi oricine,
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
securitzare, 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.
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
Pagina de User și opțiunile aferente
Pagina de Înregistrare
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
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Master Medii Virtuale Multi-Modale Distribuite [621911] (ID: 621911)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
