You are on page 1of 11

IoT in Arduino

Splošna arhitektura IoT:


IoT arhitektura je osnovana na številnih senzorjih, ki izmerjene vrednosti prek majhnih in
energijsko učinkovitih platform pošiljajo v oblak z uporabo žičnih ali brezžičnih
komunikacijskih vmesnikov. Ti podatki se v oblaku shranijo, lahko pa tudi obdelajo in
ponudijo končnim uporabnikom v obliki prijaznih uporabniških storitev (npr. grafični prikaz,
obvestila po e-pošti) oz. programskih vmesnikov API, ki so na voljo razvijalcem novih storitev.
Splošna arhitektura:

Na vajah smo uporabili spletno platformo ThingSpeak. S to platformo smo povezali arduino s
pripadajočimi senzorji. Da smo lahko povezali Arduino s ThingSpeak smo potrebovali
indetifikacijske parametre:
- identifikacija kanala (angl. Channel ID), na ta kanal smo dostavljali podatke, služi pa
tudi kot številka kanala pri javnem dostopu (prek te številke si lahko ostali ogledajo
podatke)
- skrivni ključ za pisanje (angl. Write API Key), namenjen avtentikaciji Arduino plošče
na platformi ThingSpeak
- skrivni ključ za branje (angl. Read API Key), namenjen branju shranjenih podatkov v
primeru, da so podatki shranjeni kot zasebni (vaši bodo javni, ta ne bo potreben!).

ThingSpeak ponuja knjižnjico, s katero je pošiljanje podatkov na strežnik v obliki zahtev HTTP
s programerskega stališča zelo poenostavljeno.
Svoj kanal lahko nastavimo na javnega ali zasebnega (glede na to kateri ključ izberemo). Na
platformi nato lahko poljubno predstavimo zbrane podatke s senzorjev. Lahko oblikujemo
različne grafe, barvne oznake oziroma alarme,…
HTML
HTML oziroma na dolgo Hyper Text Markup Language je označevalni jezik pri katerem se
preko značk in atributov, izdelujejo spletne strani. Predstavlja osnovo spletnega dokumenta.
- Učinkovit tekst za kodiranje informacij
- Opiše strukturo spletnih strani
- Vsebuje serijo elementov oz. značk (značke -> atributi)
- Pove brskalniku kako prikazati spletne elemente

Primeri značk:
<h1> <html> <script> <link> <metadata> <title> <p>

CSS
CSS oziroma na dolgo Cascading Style Sheets sp šredloge predstavljene v obliki preprostega
slogovnega jezika. Uporablja se za oblikovanje spletnih strani.
- Opiše kako so HTML elementi označeni
- Skupek pravil, definiranih na razne načine in na raznih mestih
Nekaj CSS lastnosti:
text-color: black; (barva texta)
align-self: center; (avtomatska poravnava, na sredino)
background-color: blue; (barva ozadja)
height :1000px; (višina)

API
Aplikacijski programski vmesnik (Application programming interface) je množica protokolov
in orodij za izgradnjo programske opreme in aplikacij.
Premeri APIjev, ki so na voljo v brskalniku in vplivajo na sistem izven brskalnika:
File System API
Network Information API
Geolocation API
Media Capture and Streams API
Bluetooth API

Načeloma so ti API varni. Je pa tudi odvisno od tega kdo je developer in kakšne permissione
jim dodelimo.

SVG je vektorska slika, torej omogoča spreminjanje velikosti brez izgub kvalitete, zasede
manj prostora. Slabost SVG-ja je, da ne omogoča prikazovanja veliko podrobnosti na sliki,
nekateri brskalniki jih ne podpirajo itd. Pri kreiranju slik za spletne strani za PC in mobile, kjer
je potrebno resize-ati slike in pri dizajnu logotipov.
Izdelava uporabniškega vmesnika za IoT
Kaj je iFrame?
iFrame je HTML značka, ki nam omogoča, da spletno stran razdelimo v različne okvirje. To lahko
zmanjša uporabo pasovne širine, saj se ponavljajoči deli postavitve lahko uporabljajo v enem okviru,
medtem ko je spremenljiva vsebina prikazana v drugem. V teh okvirjih lahko potem prikazujemo
poljubne vsebine. Pogosto se uporablja za vstavljanje vsebin iz drugega vira (recimo oglas) Mora
imeti parametre: source, height, width in style.

Značka za iFrame je:

iFrame lahko prikazuje vsebino iz ostalih domen oz. spletnih strani. Takrat zaupamo domeni, da ne bo
servirala nič škodljivega. IFrame je načeloma popolnoma varen, če nadziramo njihovo vsebino.

ThingSpeak
Arhitektura osnovnega sistema za strežbo enostavne strani. Ta arhitektura predstavlja sistem
preden smo dodali karkoli s ThingSpeak-om.

Client prvo pošlje http zahtevo za spletno stran, v odgovoru mu WEB prav tako s pomočjo
http-ja vrne stran.

Arhitektura sistema vključno s ThinkSpeakom:


Arhitektura, ki omogoča tudi horizontalno skaliranje pri vnosu iz IoT naprav in branju
podatkov prek spletnih vmesnikov.

Celotni API bi bil lahko SaaS.


SaaS: programska oprema kot storitev.
- Spletne aplikacije (WebApp)
- Manjši stroški licenc
- Vključeno vzdrževanje in nadgradnja
Analiza prometa VoIP
Arhitektura pri zajemu VoIP prometa s »soft« klientom:

Postopek zajema:
Sprožimo zajem podatkov. Na IP telefonu izvedemo klic na drug telefon (fizični oz.
programski). Ustavimo zajemanje.
Zajeta struktura sporočil odraža tipično kombinacijo protokolov za prenos zvoka v realnem
času pri telefoniji IP. Z obdelavo vsebine zajetega prometa je možno dekodiranje zvočnega
signala telefonskega pogovora. Če komunikacija ni dodatno zaščitena je to primer
potencialne zlorabe oz. prisluškovanja pri telefoniji IP.
Flow sequence za klic zajet s programom Wireshark:
Protokolni sklad za govorne komunikacije v SIP VoIP sistemih:

V “realnem” klicu moramo najprej vspostaviti SIP povezavno z redirect strežnikom, nato
mora ta redirect strežnik vspostaviti SIP sejo s končnim uporabnikom, nato pa lahko
vspostavimo RTP sejo in pošiljamo podatke. Promet je zajet le pri pošiljatelju, zato ni vidna
celotna izmenjava sporočil.
WebRTC: Analiza delovanja RTCPeerConnection
WebRTC je brezplačen in odprtokodni projekt, ki spletnim brskalnikom in mobilnim
aplikacijam omogoča komunikacijo v realnem času prek vmesnikov za programiranje
aplikacij.

Do informacij o WebRTC sejah in o arhitekturi, ki je uporabljena v konkretni seji, pridemo na


različne načine:

- Javascript konzola [ctrl]+[shift]+j v zavihku brskalnika, kjer poganjamo WebRTC


aplikacijo.
- chrome://webrtc-internals/
- Meritve prometa z Wireshark

Kaj so ICE kandidati in koliko različnih kandidatov »vidi« vaš brskalnik?


- ICE so kandidati ki jih NAT uporablja za vzpostavitev povezave za VoIP. Podajajo IP in port iz
kjer se bodo izmenjavali podatki.

Anatomija WebRTC SDP sporočila:

- V tem sporočilu najdemo sklope informacij:


o global lines
o audio lines
o ICE candidates
o ICE parameters,…

Primerjajte dogajanje v glede na povezavo me dvema različnim računalnikoma in komentirajte


ugotovitve. Narišite arhitekturi komunikacije (lokalna omrežja, javna omrežja, NAT, konkretni IP
naslovi, ….) v primeru ločenih računalnikov in povezovanja na istem računalniku.

Primer dveh ločenih računalnikov:


V primeru povezave na samega sebe:
LoRa in The Things Network
Namen vaje je vzpostavitev sistema za zajem parametrov okolice ter njihov prenos v okolje The
Things Network (TTN) s komunikacijsko tehnologija LoRa. Vajo opravljate na daljavo z opremo v
prostoru NetLab. Za povezljivost do že pripravljene in priključene opreme na računalnik na FE
uporabite povezavo OpenVPN in oddaljeni dostop TightVNC Viewer po navodilih v eFE.

Arhitektura LoRaWAN in omrežja TTN


The Things Network (TTN) je odprto LoRaWAN omrežje, ki se postavlja, širi in vzdržuje v
okviru širše zainteresirane skupnosti. V letu 2020 je število LoRaWAN prehodov (angl.
gateways) v 147 državah preseglo 10.000, z njimi pa posamezniki ali organizacije omogočijo
nizko energijsko komunikacijo z napravami IoT z LoRa komunikacijskim modulom. Celotno
omrežje TTN deluje kot en LoRaWAN operater, zato se lahko naprave IoT povezujejo na
kateri koli prehod.

Arhitektura povezljivosti senzorjev do platforme TTN in možnost uporabe v oblaku


shranjenih podatkov v aplikacijah:
Odjemalec Tor in delovanje sistema
Tor je sistem za anonimen dostop do spleta. Omrežje Tor je prekrivno omrežje (angl. Ovelay
network), ki ga sestavljajo vozlišča Tor (relay) in odjemalske aplikacije (Tor browser). Z rabo
odjemalca Tor prek omrežja Tor se prikrije naslov IP, s katerim spletni odjemalec komunicira
s spletnim strežnikom. Na ta način Tor omogoča anonimnost oz. zasebnost pri dostopu do
spletnih storitev
Če pogledamo IP naslove v Tor in navadnem brskalniku vidimo, da sta različna. Prav tako je
drugačna GEOlokacija.

Sekvenca vozlišč:

Če refreshamo/z ukazom »new tor circuit« zahtevamo novo pot. Tor nam dodeli nova
vozlišča, le Guard je vedno isti.

Razlika med vozlišči (internal) relay, exit relay in bridge relay:


- Bridge relay je relay, ki ni v listi Tor direktornih serverjih. Internal relay so relayi, ki se
povezujejo med sabo v tem omrežju. Exit relay je končni relay, pri katerem izstopijo
podatki iz TOR omrežja
- Internal relay povezuje vozlišča med seboj
- exit relay je končno vozlišče pred uporabnikom (tukaj podatki izstopijo iz Tor
omrežja)
- Bridge-i so vstopna vozlišča z neznanim IP naslovom (sicer so znani)

Na spodnjem grafu vidimo, da je več vozlišč kot je usmerjevalnikov:

You might also like