• Rezultati Niso Bili Najdeni

UPORABA MIKROKRMILNIKA ESP32 PRI BREZŽIČNIH KOMUNIKACIJAH

N/A
N/A
Protected

Academic year: 2022

Share "UPORABA MIKROKRMILNIKA ESP32 PRI BREZŽIČNIH KOMUNIKACIJAH "

Copied!
45
0
0

Celotno besedilo

(1)

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

Oskar Težak

UPORABA MIKROKRMILNIKA ESP32 PRI BREZŽIČNIH KOMUNIKACIJAH

Diplomsko delo

Ljubljana, 2021

(2)
(3)

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

Dvopredmetni učitelj računalništvo – tehnika

Oskar Težak

Mentor: prof. dr. Slavko Kocijančič

UPORABA MIKROKRMILNIKA ESP32 PRI BREZŽIČNIH KOMUNIKACIJAH

Diplomsko delo

Ljubljana, 2021

(4)
(5)

ZAHVALA

Mentorju, prof. dr. Slavku Kocijančiču, se iskreno zahvaljujem za usmerjanje in pomoč pri pisanju diplomskega dela.

Posebej hvaležen sem tudi svoji družini. Hvala za vse vaše vzpodbude, podporo in pomoč tekom študija!

(6)
(7)

I

POVZETEK

V diplomskem delu je najprej predstavljeno podjetje Espressif Systems in njihov razvoj izdelkov skozi čas. Natančneje predstavljamo tehnične specifikacije mikrokrmilnikov ESP32 in njihovo uporabo. Predstavljamo različne krmilnike, ki temeljijo na mikrokrmilniku ESP32.

Primerljive krmilnike družine ESP32 primerjamo s krmilniki družine Arduino, ki se v izobraževanju pogosteje uporabljajo, in utemeljujemo najpomembnejše parametre primerjave.

Nadalje predstavljamo specifikacijo manj znane komunikacije LoRa in povezan protokol LoRaWAN. Na koncu pregledamo in ovrednotimo izbrane primere uporabe krmilnikov z ESP32 v izobraževanju ter navajamo nekatere potencialne možnosti za uporabo v osnovnih šolah.

Ključne besede: ESP32, Arduino, LoRa, LoRaWAN, IoT, krmilnik, komunikacija, izobraževanje.

(8)

II

(9)

III

ABSTRACT

Using the ESP32 microcontroller for wireless communications

The diploma thesis first introduces the company Espressif Systems and its product development over time. We present the technical specifications of ESP32 microcontrollers and their use in more detail. We describe different controllers based on the ESP32 microcontroller.

Controllers of the ESP32 family are compared with controllers of the Arduino family, which are used more often in education, and the most important comparison parameters are explained.

We also present the specification of the less known LoRa communication and the corresponding LoRaWAN protocol. Finally, we review and evaluate selected examples of the use of ESP32 controllers in education and list some possible options for use in lower secondary schools.

Keywords: ESP32, Arduino, LoRa, LoRaWAN, IoT, controller, communication, education.

(10)

IV

(11)

V

KAZALO

1. UVOD ... 1

2. KRMILNIKI PODJETJA ESPRESSIF SYSTEMS ... 3

2.1. O podjetju...3

2.2. Predhodnik ESP32 – ESP8266 ...3

2.3. Mikrokrmilnik ESP32 ...5

2.4. Moduli ESP32 ...6

2.5. Različni krmilniki z mikrokrmilnikom ESP32 ...8

2.5.1. ESP-EYE – Espressif ... 8

2.5.2. ESP32-Korvo – Espressif ... 9

2.5.3. LILYGO® TTGO T-Energy ESP32 8MByte PSRAM WiFi & Bluetooth Module 18650 Battery ESP32-WROVER-B Development Board – LILYGO® ... 9

2.5.4. LILYGO® TTGO LORA V1.3 868Mhz ESP32 Chip SX1276 Module 0.96 Inch OLED Screen WIFI And Bluetooth Development Board – LILYGO® ... 10

2.5.5. M5StickC – M5stack ... 11

2.6. Najnovejši ESP32-S2 ...12

3. PRIMERJAVA KRMILNIKOV DRUŽINE ESP32 IN ARDUINO... 13

4. KOMUNIKACIJA LORA IN PROTOKOL LORAWAN ... 18

4.1. LoRa komunikacija ...18

4.2. Zveza LoRa Alliance ...20

4.3. LoRaWAN protokol...20

5. PREGLED UPORABE MIKROKRMILNIKOV ESP32 V IZOBRAŽEVANJU ... 22

5.1. Uporaba krmilnika za zajem podatkov ...23

5.2. Uporaba krmilnika za namakalni sistem ...23

(12)

VI

5.3. Uporaba krmilnika za merjenje onesnaženosti zraka ...24

5.4. Uporaba krmilnika za igranje iger ...24

5.5. Krmilnik kot osciloskop ...25

6. ZAKLJUČEK ... 26

7. LITERATURA ... 28

KAZALO SLIK

Slika 1: ESP-EYE [12]... 8

Slika 2: ESP32-Korvo [13]. ... 9

Slika 3: LILYGO® TTGO T-Energy ESP32 z vložiščem za baterijo (pogled od zadaj) [14]. ... 10

Slika 4: TTGO LoRa32 SX1276 OLED [17]. ... 11

Slika 5: M5StickC [18]. ... 11

Slika 6: ESP32-DevKitC V4 z ESP32-WROOM-32 modulom [6]... 14

Slika 7: Prikaz umestitve in uporabnosti različnih tehnologij glede na pasovno širino in doseg [31]. ... 19

KAZALO PREGLEDNIC

Preglednica 1: Primerjava mikrokrmilnikov ESP32 [4]. ... 5

Preglednica 2: Primerjava krmilnikov Espressif in Arduino [4, 6, 20, 23-27]. ... 15

(13)

VII

AKRONIMI IN OKRAJŠAVE

ADC Analog-to-digital converter (analogno digitalni pretvornik) AES Advanced Encryption Standard

AIoT Artificial Intelligence of Things BLE Bluetooth Low Energy

BT Bluetooth

CAN Controller Area Network

DAC Digital-to-Analog converter (digitalno analogni pretvornik) FSK Frequency-shift keying (modulacija s frekvenčnim skokom) GPIO General-purpose input/output

I2C Inter-Integrated Circuit I2S Inter-IC Sound

ICT Information and communications technology (informacijsko komunikacijska tehnologija)

IDF IoT Development Framework

IKT Informacijsko komunikacijska tehnologija IMU Inertial Measurement Unit

IoT Internet of things (internet stvari) IR Infrared (infrardeče)

LCD Liquid-crystal display

LED Light-emitting diode (svetleča dioda) LPWAN Low–Power Wide-Area Network

NFC Near Field Communication (komunikacija kratkega dosega)

(14)

VIII OLED Organic light-emitting diode PSRAM Pseudo Static Ram

PWM Pulse-width modulation (pulzno širinska modulacija) QFN Quad-flat no-leads

RGB LED Red, green, blue light-emitting diode (rdeča, zelena, modra svetleča dioda) RISC Reduced instruction set computer (računalnik s skrčenim naborom ukazov) RMII Reduced Media-Independent Interface

RSA Rivest–Shamir–Adleman SDIO Secure Digital Input Output SDK Software development kit SHA Secure Hash Algorithm SPI Serial Peripheral Interface SRAM Static RAM (statični ram)

STEM Science, technology, engineering, and mathematics TKIP Temporal Key Integrity Protocol

UART Universal Asynchronous Receiver/Transmitte ULP Ultra Low Power

USB Universal Serial Bus (vsestransko zaporedno vodilo) USB OTG USB On-The-Go

WAN Wide area network (prostrano omrežje) WEP Wired Equivalent Privacy

WiFi Wireless fidelity

WPA Wi-Fi Protected Access

(15)

1

1. UVOD

Učenje programiranja in elektronike je v slovenskem šolskem sistemu že dalj časa prisotno na sekundarni in terciarni stopnji izobraževanja. Zaradi zanimanja učencev in potrebe po boljšem predznanju pa se te kompetence vedno bolj pridobivajo že na primarni stopnji.

Znanje iz elektronike učenci pridobijo pri obveznih predmetih tehnike in tehnologije ter fizike v zadnjem triletju osnovne šole. Osnovne koncepte logičnih operatorjev (logičnih vrat) učenci spoznajo v 7. razredu pri tehniki in tehnologiji v sklopu elektrike. Več programerskega znanja lahko učenci pridobijo pri izbirnih predmetih računalništva, prav tako v zadnjem triletju.

Povezana znanja so lahko učencem ponujena še v sklopu tehniški dni, interesnih dejavnosti (npr. robotika) in izven šole v obliki poletnih šol (npr. Poletna šola elektronike in robotike - Zveza za tehnično kulturo Slovenije).

Pri poučevanju vsebin se danes zaradi enostavnosti uporabe in cenovne dostopnosti največkrat uporabljajo programirljivi krmilniki.

V izobraževanju se velikokrat uporablja razvojno okolje Arduino z družino krmilnikov Arduino [1]. Raznoliki krmilniki omogočajo raznoliko uporabo. Njihova do nedavnega največja pomanjkljivost je bil manko brezžičnih komunikacij. Za uporabo slednjih je bilo potrebno (razen posebnih izvedb krmilnikov) dodati namenski modul.

Manj poznano alternativo krmilnikom Arduino v šolstvu predstavljajo krmilniki, ki temeljijo na mikrokrmilniku ESP32. Ti imajo na mikrokrmilniku že integrirano Bluetooth in WiFi komunikacijo, zato ni potrebe po ločenih, zunanjih komunikacijskih modulih. Podobno kakor krmilniki družine Arduino, se tudi krmilniki z ESP32 ločijo po velikosti in ponujeni funkcionalnosti. V nalogi bomo primerjali konkurenčne krmilnike.

Možno razširitev povezljivosti krmilnikov z ESP32 predstavlja komunikacija LoRa in protokol LoRaWAN za prostrana omrežja. Zaradi omejenega splošnega poznavanja komunikacije LoRa jo bomo skupaj s protokolom predstavili. Takšna komunikacija ima v primerjavi z WiFi in Bluetooth bistveno večji doseg in manjšo porabo električne energije, vendar tudi manjši

(16)

2

podatkovni prenos. Naštete lastnosti so ključnega pomena pri medsebojno povezanih napravah, ki spadajo v kategorijo interneta stvari – IoT.

Krmilniki zaradi raznolikih možnosti uporabe predstavljajo izziv izobraževalnemu sistemu. V nalogi bomo zato preučili in predstavili primere uporabe v izobraževanju predvsem na univerzitetnem nivoju ter predlagali možne projekte za zadnje triletje osnovne šole.

(17)

3

2. KRMILNIKI PODJETJA ESPRESSIF SYSTEMS

2.1. O podjetju

Podjetje Espressif Systems je kitajsko podjetje s sedežem v Šanghaju, ki je bilo ustanovljeno leta 2008. Njihovi proizvodi so polprevodniški elementi in odprtokodni operacijski sistemi za IoT naprave. Svoj razvoj podjetje usmerja v visokozmogljive rešitve z nizko porabo ter WiFi in Bluetooth povezljivostjo. Njihove najbolj priljubljene in poznane serije čipov, modulov in krmilnikov so ESP8266, ESP32 in ESP32-S2 [2].

Od svoje ustanovitve je podjetje svoje pisarne iz Kitajske razširilo še na Češko, Indijo, Singapur in Brazilijo [2]. Decembra 2017 je podjetje preseglo 100 milijonov prodanih čipov za IoT naprave. Mnogo njihovih izdelkov je certificiranih s strani poznanih tehnoloških podjetij, kot sta npr. Google in Microsoft [2].

Zaradi priljubljenosti in razširjenosti je o izdelkih Espressif moč najti veliko izobraževalnih vsebin v različnih svetovnih jezikih (npr. v kitajščini, angleščini, nemščini, …) in tudi drugih jezikih (npr. srbohrvaščini). Najpomembnejše vsebine so dosegljive preko njihove »IoT College« spletne strani. Podjetje spodbuja izobraževanje na področju znanosti, tehnologije, inženirstva in matematike, saj sponzorirajo IKT programe na Kitajskem in drugje. Njihove krmilnike poleg Kitajske uporabljajo tudi na Tehnološkem inštitutu Massachusettsa – MIT [2].

2.2. Predhodnik ESP32 – ESP8266

Predhodnik mikrokrmilnika ESP32 je ESP8266, ki ga je podjetje na trgu ponudilo maja 2014.

Za njega so v letu 2016 prejeli več nagrad, povezanih s strojno opremo IoT. Mikrokrmilnik je v vmesnem času podprlo več kitajskih podjetij na področju pametnih domov (smart home) [2].

V začetku je bil mikrokrmilnik ustvarjalcem na zahodu znan kot del modula ESP-01, ki ga je izdelalo podjetje Ai-Thinker. Zaradi nizke cene in malo potrebnih dodatnih komponent je mikrokrmilnik vzbudil veliko zanimanja. Zaradi začetnega pomankanja dokumentacije v angleškem jeziku so zainteresirani ustvarjalci s prevajanjem začeli sami [3]. V nadaljevanju je

(18)

4

bil dostop do dokumentacije hitro izboljšan in je skupaj s programsko podporo še vedno ažuren tudi v letu 2020 [2].

Mikrokrmilnik ESP8266EX poganja enojedrni procesor Tensilica L106 32-bit RISC z najvišjo frekvenco 160 Mhz. Delovni pomnilnik je manjši od 50 kB, uporabnikom pa je na voljo do 16 MB spomina, glede na konfiguracijo. Komunikacija s spominom poteka preko SPI vodila.

Brezžična Wi-Fi komunikacija je mogoča po IEEE802.11 b, g ali n standardu s hitrostjo prenosa do 72,2 Mb na sekundo. Podprta protokola za zaščito brezžičnega prenosa sta WPA in WPA2 z WEP, TKIP ali AES šifriranjem. Napajalna napetost krmilnika je med 2,5 in 3,6 V, za delovanje pa je potreben povprečen tok 80 mA. Na voljo so štirje načini upravljanja z energijo, kjer v globokem spanju skozi krmilnik teče tok zgolj 20 µA.

Mikrokrmilnik ima 17 programirljivih priključkov, ki dopuščajo napetosti do 3,6 V in tok do 12 mA. Vsakemu izmed njih lahko programsko določimo notranji pull-up ali pull-down upor.

Podprti vmesniki so (število):

• SDIO (1),

• SPI (1) in HSPI (1),

• I2C (1),

• I2S (2– en vhodni in en izhodni),

• UART (2),

• PWM (4),

• IR (1).

Zgolj en izmed priključkov ima 10-bitni ADC [4].

Moduli podjetja Espressif ESP8266 imajo med 2 ali 4 MB bliskovnega pomnilnika. Antena je na modulu kot del tiskanega vezja ali pa kot IPEX priključek za priključitev zunanje antene [5].

Moduli so pogosto del krmilnikov. Njihov namen je olajšana možnost uporabe in povezovanja preko micro-USB priključka. Na krmilniku praviloma najdemo pretvornik iz USB v serijsko komunikacijo (UART), ki omogoča programiranje mikrokrmilnika, tipki za ponovni zagon in posodobitev programske opreme ter napetostni regulator iz 5 V na potrebnih 3,3 V [3].

Krmilnik podjetja Espressif, ki vsebuje ESP8266 modul, se imenuje ESP8266-DevKitC [5].

(19)

5

2.3. Mikrokrmilnik ESP32

V septembru leta 2016 je podjetje Espressif na trgu ponudilo ESP32, ki je 32-bitni mikrokrmilnik z WiFi in Bluetooth povezljivostjo. Tokrat je bilo že v začetku na voljo dovolj orodij za razvoj programske opreme. Skozi čas je ESP32 postal podprt s strani Amazona, Appla, Microsofta in drugih tehnoloških podjetji. Novembra 2019 je bil krmilnik certificiran za Bluetooth LE 5.0 komunikacijo, s čimer so izboljšali njegovo kompatibilnost in stabilnost [2].

Mikrokrmilniki ESP32 se med seboj razlikujejo po številu jeder, vgrajenem bliskovnem pomnilniku ter ohišju in fizični velikosti. Primerjavo lastnosti prikazuje spodnja preglednica:

Preglednica 1: Primerjava mikrokrmilnikov ESP32 [4].

Ime Število jeder Vgrajen bliskovni

pomnilnik

Ohišje in velikost

ESP32-D0WD-V3 2 / QFN 5*5

ESP32-D0WDQ6- V3

2 / QFN 6*6

ESP32-D0WD 2 / QFN 5*5

ESP32-D0WDQ6 2 / QFN 6*6

ESP32-D2WD 2 2 MB (40 Mhz) QFN 5*5

ESP32-S0WD 1 / QFN 5*5

ESP32-U4WDH 1 4 MB (80 Mhz) QFN 5*5

Vsem mikrokrmilnikom je skupno, da omogočajo WiFi, Bluetooth in Bluetooth Low Energy povezljivost [4].

Mikrokrmilniki ESP32 vsebujejo Xtensa® 32-bitni LX6 procesor z dvema jedroma (razen ESP32-S0WD in ESP32-U4WDH, ki imata eno jedro). Čipi so izdelani v 40 nm tehnologiji in delujejo z najvišjo frekvenco 240 MHz. Bralni spomin ima kapaciteto 448 KB, delovni spomin pa 520 KB. Bliskovni spomin je mogoče razširiti do 16 MB z zunanjim spominom. Kot že omenjeno je na voljo WiFi, Bluetooth in Bluetooth LE povezljivost. WiFi povezava lahko poteka po IEEE802.11 b, g ali n standardu s hitrostjo do 150Mb na sekundo. Bluetooth je

(20)

6

združljiv s specifikacijo v4.2 in BLE. Kljub opravljeni specifikaciji Bluetooth LE 5.0 [2], le- ta še ni zapisana v podatkovni tabeli [4]. WiFi povezava je lahko zaščitena z WPA, WPA2, WPA2-poslovno ali WPS. Mikrokrmilnik ESP32 je opremljen s strojnim pospeševanjem za algoritme, kot so AES, SHA in RSA. Strojno pospeševanje poveča hitrost izvajanja in zmanjša programsko zahtevnost. Z algoritmi je mogoče šifrirati tako komunikacijo kakor tudi podatke na pomnilniku, kar preprečuje ogled programske kode. Za delovanje je potrebna napetost med 2,3 V in 3,6 V, priporočena napetost je 3,3 V. Priporočen izhodni tok na priključkih je 28 mA pri napetosti 3,3 V. Največji tok je potreben pri oddajanju WiFi 802.11 b signala in znaša 240 mA. Mikrokrmilnik ima pet načinov upravljanja z energijo, kjer je najmanjša poraba v hibernaciji le 5 µA. Za zbujanje iz stanj lahko poskrbi ULC so-procesor pri minimalni električni porabi. Ta ostaja vedno vključen in zaznava zunanje dogodke, meri čas ali kombinacijo obojega in sproži bujenje glavnega procesorja [4,6].

Mikrokrmilnik ima 34 programirljivih priključkov. Podprti vmesniki so (število):

• SDIO (2 – en gostiteljski in en podrejen, ki lahko deluje kot SPI),

• I2C (2),

• I2S (2),

• UART (3),

• PWM (16),

• IR (8),

• CAN 2.0.

Osemnajst priključkov ima 12-bitni ADC, dva pa 8-bitni DAC. Mikrokrmilnik ima integrirano še Hallovo sondo, zaznavanje dotika (kapacitivno) na 10 priključkih in podporo za žični internet po standardu IEEE-802.3-2008 [4]. V primerjavi z ESP8266 je ESP32 bistveno zmogljivejši in ima več možnosti priključitve zunanjih naprav. Njegova edina slabost je višja cena. Oba mikrokrmilnika je mogoče programirati v programskem okolju Arduino IDE, MicroPython in drugih [7].

2.4. Moduli ESP32

Na voljo so različni ESP32 moduli različnih proizvajalcev [8]. V naši nalogi se bomo osredotočili na module podjetja Espressif Systems. Slednji vključujejo različne komponente,

(21)

7

kot so kristalni oscilator in antensko vezje, ki omogočajo lažjo vključitev v končne izdelke [6].

Moduli so ločeni v tri družine:

• ESP32-SOLO,

• ESP32-WROOM in

• ESP32-WROVER.

Družina SOLO je namenjena enostavnejšim rešitvam, ki potrebujejo WiFi, Bluetooth in BLE povezljivost. Moduli vsebujejo ESP32-S0WD enojedrni čip z vgrajenim bliskovnim pomnilnikom in so zaradi enostavnosti cenovno dostopni [5].

Družina WROOM je podobna družini SOLO, vendar ti moduli uporabljajo čip ESP32-D0WD, ki ima dvojedrni procesor. Prav tako je vgrajen bliskovni pomnilnik. Zaradi boljšega procesorja je izboljšana zmogljivost modulov [5].

Družina WROWER je podobna družini WROOM, saj uporablja enak procesor in bliskovni pomnilnik. Dodatno je tukaj vključen SPIRAM. Večji pomnilnik omogoča uporabo modulov za zmogljive naprave npr. AIoT in usmerjevalniki [5].

Vsi moduli podpirajo enake vmesnike, enako brezžično povezljivost in imajo enako število priključkov. Razen družine SOLO, ki ima anteno na tiskanem vezju, imamo pri ostali modulih izbiro modula z anteno na tiskanem vezju ali pa kot IPEX priključek za zunanjo anteno.

Razlikujejo se še v dimenzijah in temperaturnem območju delovanja [5].

Osnoven in najbolj razširjen modul z ESP32 je ESP32-WROOM-32. Poganja ga ESP32- D0WDQ6 čip. Gre za prvi prodajan modul iz družine WROOM [6]. Zraven naštetih tehničnih lastnosti prejšnjega poglavja ima modul integrirane 4 MB bliskovnega pomnilnika [4].

Zaradi svoje raznovrstnosti lahko mikrokrmilnike ali module uporabimo v najrazličnejših izdelkih, kot npr.: različni IoT senzorji, žarnice, vtičnice, rastlinjaki, ure, naprave za zajem podatkov, naprave za prepoznavanje govora ali fotografij, spletni predvajalniki glasbe itd. [4].

Z dodanim vmesnikom za programiranje in nožicami iz modulov lahko ustvarimo krmilnike [6], ki jih bomo predstavili v nadaljevanju.

(22)

8

2.5. Različni krmilniki z mikrokrmilnikom ESP32

Mikrokrmilniki ESP32 so del mnogih različnih krmilnikov in izdelkov različnih proizvajalcev.

Zaradi lažje namestitve se na krmilnike pogosto dodajajo kot moduli. Zraven podjetja Espressif mikrokrmilnike ESP32 v svojih izdelkih uporabljajo še: Adafruit, Ai-Thinker, Lily GO, WEMOS, SparkFun, Pycom in mnogi drugi [9].

Krmilnikom z ESP32 so lahko dodani tudi raznoliki dodatki, kot npr.: modul za GSM komunikacijo, različni zasloni, vložišče za baterijo, priključek za kamero, priključek za spominsko kartico itd. [10].

Velik nabor krmilnikov ponuja že podjetje Espressif samo. Vsem je skupno napajanje in programiranje preko USB priključka ter ESP-IDF programska razvojna orodja [11]. Predstavili bomo le nekatere krmilnike različnih proizvajalcev, ki se nam zaradi svojih lastnosti zdijo posebej zanimivi. Krmilniki družine ESP32, primerljivi s krmilniki družine Arduino, bodo predstavljeni v naslednjem poglavju.

2.5.1. ESP-EYE – Espressif

ESP-EYE (slika 1) je krmilnik z 8 MB PSRAM-a in 4 MB bliskovnega pomnilnika. Na krmilniku so zraven micro-USB priključka in ESP32 čipa še kamera ločljivosti 2 milijona slikovnih pik, mikrofon, tipki in dve LED. Krmilnik je namenjen prepoznavanju in obdelavi zvoka ter slike za AIoT naprave. Krmilnik je mogoče takoj uporabiti v povezavi z Amazonovimi spletnimi storitvami [11, 12].

Slika 1: ESP-EYE [12].

(23)

9 2.5.2. ESP32-Korvo – Espressif

ESP32-Korvo (slika 2) je krmilnik, namenjen prepoznavi govora, z majhno električno porabo.

Vgrajenega ima 8 MB PSRAM-a in 16 MB bliskovnega pomnilnika. Krmilnik ima še micro- USB priključek, režo za micro-SD spominsko kartico, priključke za zvočnik, mikrofon ter baterijo, 8 tipk ter 12 RGB LED. Za prepoznavanje govora je mogoče uporabit Espresifov ESP-Skainet [11, 13].

Slika 2: ESP32-Korvo [13].

2.5.3. LILYGO® TTGO T-Energy ESP32 8MByte PSRAM WiFi & Bluetooth Module 18650 Battery ESP32-WROVER-B Development Board – LILYGO®

Posebnost tega krmilnika (slika 3) je vložišče za baterijo tipa 18650 z vezjem, ki skrbi za polnjenje baterije preko micro-USB priključka. Krmilnik sicer vsebuje ESP32-WROVER-B modul z 8 MB PSRAM-a in 4 MB bliskovnega pomnilnika. Dodano je še stikalo za vklop in izklop [14].

Prednost krmilnika je možnost uporabe brez potrebe po priključitvi na električno omrežje.

Enostaven projekt, ki bi s pridom izkoriščal baterijsko napajanje, je npr. zunanji senzor temperature in vlage.

(24)

10

Slika 3: LILYGO® TTGO T-Energy ESP32 z vložiščem za baterijo (pogled od zadaj) [14].

2.5.4. LILYGO® TTGO LORA V1.3 868Mhz ESP32 Chip SX1276 Module 0.96 Inch OLED Screen WIFI And Bluetooth Development Board – LILYGO®

Naslednji krmilnik (slika 4) je poseben zaradi dodatnega komunikacijskega čipa SX1276. Ta omogoča LoRa komunikacijo, ki bo natančneje predstavljena v posebnem poglavju. Na kratko gre za brezžično komunikacijo z nizko porabo, manjšim podatkovnim prenosom in velikim dosegom [15].

Krmilniku je dodan še 0,96 palčni OLED zaslon. Pri brezžični povezavi dveh krmilnikov lahko zaslon uporabimo npr. za izpis poslanih podatkov. Za boljši sprejem je na tiskanem vezju priključek za zunanjo anteno. Napajanje je mogoče preko micro-USB priključka ali pa preko priključka za zunanjo baterijo napetosti med 3,7 V in 4,2 V, ki jo vezje tudi polni. Zapisana napetost je značilna za baterije tipa 18650. Tok v stanju hibernacije znaša 600 µA. Na voljo je 520 kB SRAM-a in 4 MB bliskovnega pomnilnika za uporabnika [16, 17].

(25)

11

Slika 4: TTGO LoRa32 SX1276 OLED [17].

2.5.5. M5StickC – M5stack

M5StickC (slika 5) je majhen krmilnik v ohišju s številnimi senzorji. V ohišju velikost 48 x 24 x 14 mm se nahaja 6-osni IMU, LED, IR oddajnik, mikrofon, dva gumba, 0,96 palčni LCD zaslon, Li-Po baterija s kapaciteto 95 mAh, dostop do 8 priključkov za druge naprave ter stikalo za vklop. Za polnjenje in povezavo z računalnikom je na voljo sodobni USB-C priključek.

Uporabniku je na voljo 4 MB bliskovnega pomnilnika [18].

Zaradi številnih senzorjev in majhne velikosti menimo, da je M5StickC zelo primeren za uporabo v izobraževanju. Izdelek je lahko odličen pripomoček za uvod v programski del nadzorovanja mikrokrmilnika, njegova uporaba pa ne zahteva predznanja iz elektronike.

Robustna rešitev je primerna za mlajše učence ali pa za realizacijo projektov v krajšem času, saj učenci prihranijo čas za priključitev potrebnih komponent.

Slika 5: M5StickC [18].

(26)

12

2.6. Najnovejši ESP32-S2

V septembru 2019 je bila najavljena nova različica mikrokrmilnikov imenovana ESP32-S2.

Slednji se od ESP32 precej ločijo; nimajo Bluetooth povezljivosti, imajo pa nov 32-bitni enojedrni procesor Xtensa® LX7, 43 programirljivih priključkov, podporo za USB OTG, vmesnik za LCD zaslon in kamero itd. Izboljšana je še varnost in poraba električne energije [19].

(27)

13

3. PRIMERJAVA KRMILNIKOV DRUŽINE ESP32 IN ARDUINO

Kot smo spoznali v prejšnjem poglavju, obstaja mnogo različnih krmilnikov, ki uporabljajo ESP32 mikrokrmilnik. Za pravično in omejeno primerjavo bomo primerjali po velikosti primerljive krmilnike podjetja Espressif in podjetja Arduino. Za uporabo v šolstvu želimo, da imajo krmilniki naslednje lastnosti:

• takojšno možnost vstavljanja v prototipno ploščico,

• uporaba USB vmesnika za napajanje in programiranje,

• cenovna dostopnost,

• dobra dokumentiranost.

Možnost vstavljanja v prototipno ploščico je pomembna, saj učencu ali učitelju tako ni potrebno spajkati nožic na krmilnike. Takšni krmilniki so takoj pripravljeni za uporabo in enostavnejši za zamenjavo pri projektu. Krmilnike brez nožic priporočamo le za preizkušene, končne izdelke, pri katerih potrebujemo prihranek prostora ali zaradi drugih tehnoloških zahtev.

Najbolj razširjena krmilnika družine Arduino sta Arduino Nano in Arduino Uno. Našteta sama ne ponujata nikakršne brezžične povezave, vseeno pa obstajajo posebne izvedbe z vgrajeno brezžično komunikacijo npr. Arduino Uno WiFi rev2. V družino Nano je dodatno brezžično povezljivost pred kratkim prinesla skupina krmilnikov Arduino Nano 33. Podjetje ima še namensko družino IoT krmilnikov imenovano Arduino MKR. Slednji uporabljajo različne brezžične komunikacijske protokole [20, 21].

Obstajajo še drugi, manj znani krmilniki Arduino z brezžično komunikacijo, kot npr. Arduino Yún, Arduino 101, Arduino BT (Bluetooth) in drugi [20, 22]. V primerjavo ne bomo vključili krmilnika Arduino Uno oz. Arduino Uno WiFi rev2, saj je fizično večji od ostalih primerjanih, ter nima nožic za vstavljanja v prototipno ploščico [6, 20].

Primerjali bomo 2 krmilnika podjetja Espressif in 5 krmilnikov Arduino.

ESP32-DevKitC (slika 6) podjetja Espressif je krmilnik vstopnega razreda. Uporabnik ima dostop do vseh priključkov mikrokrmilnika ESP32. Na krmilniku je lahko modul poljubne družine (SOLO, WROOM ali WROVER) [6, 11]. Izbrali smo različico z modulom ESP32-

(28)

14

WROVER, ki ima več spomina, za prikaz zgornje meje zmogljivosti obravnavanih krmilnikov.

Osnovno zmogljivost predstavlja krmilnik ESP32-PICO-KIT istega podjetja. Gre za najmanjši krmilnik, ki ga ponujajo, kljub majhni velikosti pa je mogoč dostop do vseh priključkov mikrokrmilnika [11].

Slika 6: ESP32-DevKitC V4 z ESP32-WROOM-32 modulom [6].

Prvi izbrani krmilnik proizvajalca Arduino je Arduino Nano, saj gre za enega bolj razširjenih in priljubljenih krmilnikov, ki pa še ne podpira brezžične komunikacije. Nadalje smo izbrali krmilnike Arduino Nano 33 BLE, Arduino Nano 33 IoT in Arduino Nano 33 BLE Sense zaradi enake velikosti in dodane povezljivosti. Kot predstavnika manj znane družine krmilnikov, namenjenih IoT (Arduino MKR), smo izbrali krmilnik Arduino MKR WiFi 1010 [20, 21].

Krmilnike bomo med seboj primerjali po parametrih, za katere menimo, da so najpomembnejši za uporabo v šolstvu.

(29)

15

Preglednica 2: Primerjava krmilnikov Espressif in Arduino [4, 6, 20, 23-27].

KRMILNIK ESP32-PICO-KIT

V4.1 ESP32 DevKitC V4 Arduino Nano

Arduino Nano 33 BLE

Arduino Nano 33 BLE

Sense Arduino MKR WiFi 1010 Arduino Nano 33 IoT

MIKROKRMILNIK ESP32-PICO-D4 ESP32-D0WD-V3 ATmega328 nRF52840 nRF52840

SAMD21 Cortex®-M0 in 32-bitni ARM MCU z nizko

porabo

SAMD21 Cortex®-M0 in 32-bitni ARM MCU z nizko

porabo

ŠTEVILO JEDER 2 2 1 1 1 1 1

FREKVENCA (MHz) do 240 do 240 16 64 64 48 48

DELOVNI SPOMIN 520 KB 8 MB 2 KB 256 KB 256 KB 32 KB 32 KB

BLISKOVNI SPOMIN 4 MB 8 MB (do 16 MB) 32 KB 1 MB 1 MB 256 KB 256 KB

BREZŽIČNA KOMUNIKACIJA

WiFi / BT (V4.2) /

BLE WiFi / BT (V4.2) / BLE X BT (V5) BT (V5) WiFi / BT (V4.2) / BLE WiFi / BT (V4.2) / BLE ŠTEVILO

PRIKLJUČKOV 34 34 22 14 14 28 14

DIGITALNI VHODI 34 34 22 14 14 22 14

DIGITALNI IZHODI 34 34 22 14 14 22 14

ANALOGNI VHODI 18 (12 bitni) 18 (12 bitni) 8 (10 bitni) 8 (12 bitni) 8 (12 bitni) 7 (12 bitni) 8 (12 bitni)

ANALOGNI IZHODI 2 (8 bitni) 2 (8 bitni) 0 0 0 1 (10 bitni) 1 (10 bitni)

PODPRTI VMESNIKI (UART, PWM, …)

SD, SDIO, SPI, PWM, UART, I2C,

I2S, IR, CAN 2.0

SD, SDIO,SPI, PWM, UART, I2C, I2S, IR,

CAN 2.0

SPI, I2C, UART, PWM

UART, SPI, I2C, I2S,

PWM

UART, SPI, I2C, I2S, PWM

UART, SPI, I2C, PWM, CAN 2.0, SDIO, RMII

UART, SPI, I2C, PWM, CAN 2.0, SDIO, RMII

DELOVNA NAPETOST

(V) 3,3 3,3 5 3,3 3,3 3,3 3,3

USB PRIKLJUČEK micro-USB micro-USB Mini-B USB micro-USB micro-USB micro-USB micro-USB

VELIKOST (mm) 52 x 20 54 x 28 45 x 18 45 x 18 45 x 18 62 x 25 45 x 18

OSTALE LASTNOSTI (LED, SENZORJI, TIPKE, PRIKLJUČEK

ZA BATERIJO, …)

Hallova sonda, zaznava kapacitivnosti na 10

priključkih, LED indikator napajanja,

tipki za reset in prenos firmware-a.

Hallova sonda, zaznava kapacitivnosti na 10

priključkih, LED indikator napajanja, tipki za reset in prenos

firmware-a.

reset tipka, 4 LED

9 osni IMU, NFC, reset tipka, LED

9 osni IMU, senzor temprature in vlage, barometer, mikrofon, senzor kretenj, senzor bližine, senzor za prepoznavanje barve in

osvetljenost, NFC, reset tipka, LED

možnost priklučitve in polnenja Li-Po baterije,

RGB LED, reset tipka

6 osni IMU, reset tipka, LED

CENA (€) 9,95 9,90 20 19,5 29 20,93 18

(30)

16

Iz preglednice 2 zlahka razberemo razlike med krmilniki. Krmilnika Espressif uporabljata zelo podobna ESP32 mikrokrmilnika. Zaradi tega imata oba krmilnika dve jedri in dosegata enako frekvenco procesorja. V primerjavi s krmilniki Arduino opazimo večji delovni in bliskovni spomin, dvojedrnost in višjo frekvenco delovanja. Iz slednjega lahko predvidimo, da je električna poraba krmilnikov ESP32 sicer višja, vendar je višja tudi njihova zmogljivost. Za nižanje porabe krmilniki ESP32 v času pripravljenosti uporabljajo so-procesor. Podobno varčevanje imata tudi dva krmilnika družine Arduino z dodatnim ARM procesorjem. Pri uporabi v šolstvu praviloma zadošča spomin ranga KB, čeprav je z zahtevnostjo projektov povečanje spomina (bliskovnega in delovnega) nujno in smiselno.

Brezžična povezljivost je različna. Vsi krmilniki, razen splošnega Arduino Nano, imajo možnost povezovanja. Sočasno podporo za WiFi, Bluetooth in Bluetooth Low Energy najdemo pri krmilnikih obeh proizvajalcev. Takšna povezljivost je prisotna na vseh krmilnikih, ki temeljijo na mikrokrmilniku ESP32, pri krmilnikih Arduino pa se povezljivost med modeli krmilnikov razlikuje.

Število priključkov je prav tako različno in je povezano z velikostjo tiskanega vezja. Razlikuje se tudi število podprtih vmesnikov. Vsi krmilniki podpirajo po našem mnenju pomembnejše (UART, SPI, I2C, PWM) vmesnike. Menimo, da imajo vsi krmilniki zadostno število priključkov in podprtih vmesnikov za splošno uporabo in uporabo v izobraževanju. Opozorili bi na analogne izhode, ki niso nujno prisotni in se razlikujejo po ločljivosti. Slednje potrebujemo pri projektih z zvočniki.

Vsi krmilniki, razen Arduino Nano, delujejo pri napetosti 3,3 V in imajo micro-USB priključek. Za znižanje napetosti in komunikacijo z računalnikom skrbijo integrirane komponente. Delovna napetost je pomembna in jo moramo upoštevati pri izbiri zunanjih komponent (senzorjev, modulov, …). Ob priključitvi 5 V komponent je potrebna uporaba napetostnega prilagoditvenega vezja – v nasprotnem primeru tvegamo uničenje krmilnika. Pri uporabi v izobraževanju moramo biti pazljivi na komponente morebitnih drugih kompletov, ki delujejo pri drugačni napetosti.

Vsem krmilnikom je skupna tipka za ponovni zagon in vsaj kakšna LED za indikacijo. Kot to namiguje že ime, ima največ vgrajenih senzorjev krmilnik Arduino Nano 33 BLE Sense.

Zaradi mnogih senzorjev ima krmilnik tudi najvišjo ceno, vendar se nam v primerjavi s cenami

(31)

17

ostalih Arduino krmilnikov, ta zdi upravičena. Najnižjo ceno imata krmilnika z ESP32. Zbrane cene krmilnikov Arduino so iz uradne spletne strani, zato lahko nakup primerljivih ponaredkov ceno več kot prepolovi. Tudi ob pol manjši ceni se zdijo krmilniki z ESP32 bolj smotrna izbira, saj ne kupujemo ponaredka izdelka, pričakujemo pa lahko boljšo zmogljivost in podporo. Za osnovno učenje programiranja in elektronike bodo zadoščali vsi krmilniki, za bolj napredno uporabo pa izberemo takšne, ki zadostijo našim zahtevam.

Kot posebnost bi omenili krmilnik MKR WAN 1310 podjetja Arduino. Krmilnik je bil naznanjen oktobra 2019 in je prvi, ki ima vgrajeno LoRa komunikacijo [20, 28]. Podjetje Espressif še ne ponuja krmilnika z LoRa povezljivostjo, so pa na voljo krmilniki drugih proizvajalcev, ki vsebujejo ESP32 mikrokrmilnik in omogočajo LoRa komunikacijo (npr. že omenjeni TTGO LoRa32 SX1276 OLED).

(32)

18

4. KOMUNIKACIJA LORA IN PROTOKOL LORAWAN

4.1. LoRa komunikacija

Kratica LoRa pomeni »long range« oz. velik doseg. LoRa predstavlja fizično plast brezžične komunikacije. Za komunikacijo uporablja »chrip spread spectrum« (CSS) modulacijo. Takšen način modulacije ima podobno nizko porabo kot bolj poznana modulacija s frekvenčnim skokom (FSK), vendar ima bistveno večji doseg. CSS modulacija se je desetletja uporabljala za vojaške in vesoljske komunikacije zaradi velikega dosega in odpornosti na motnje.

Komunikacijo LoRa, ki predstavlja prvo uporabo te tehnologije v komercialne namene, je razvilo francosko podjetje Cycleo, ki ga je kasneje prevzelo ameriško podjetje Semtech.

Slednje je tudi proizvajalec strojne opreme za komunikacijo LoRa [29-31].

Ključne lastnosti komunikacije LoRa so:

• velik doseg,

• dolga življenjska doba baterije,

• nizka cena,

• velika kapaciteta omrežja in

• nizka podatkovna hitrost.

Naprave lahko komunicirajo na razdalji do 5 km v urbanih območjih in do 15 km izven mest, če sta napravi v vidnem polju. Usmerjevalniki imajo veliko kapaciteto (upravljanje z milijoni sporočil) in zato lahko z enim pokrivamo veliko površino. Omrežje je lahko javno ali zasebno v obeh primerih pa je prenos podatkov šifriran. Zelo nizka poraba omogoča dolgo življenjsko dobo, merjeno v letih. V dokumentaciji je omenjena doba med 10 in 20 let, konkretneje baterija s kapaciteto 2000 mAh zagotavlja delovanje 105 mesecev oz. dobrih 8 let. Hitrost prenosa je nizka in znaša med 250 in 50.000 bitov na sekundo, zato taka komunikacija ni primerna za vsakršno uporabo. Tak način povezovanja je primeren za naprave, ki relativno redko (npr.

vsakih nekaj minut), pošljejo majhno količino podatkov (npr. temperaturo). Ker je komunikacija dvosmerna, lahko naprave programsko posodobimo na daljavo [29-31].

Primeri uporabe so gospodinjski števci za vodo ali plin, senzorji za parkirišča in smetnjake, spremljanje vremenskih pogojev, uporaba v kmetijstvu itd. Nizka cena naprav (končnih

(33)

19

vozlišč) z minimalno potrebo po ostali infrastrukturi (usmerjevalniki) in odprtokodna programska oprema omogočajo nizko končno ceno [29-31].

LoRa komunikacija spada v kategorijo LPWAN omrežij oz. prostranih omrežij z nizko porabo.

Tukaj ne gre za zamenjavo ali konkurenco Bluetooth, WiFi, ali mobilnim omrežjem, temveč za novo, namensko rešitev. Ta je namenjena za redkejšo pošiljanje majhnih količin podatkov pri nizki električni porabi na večje razdalje. Umestitev LoRa tehnologije prikazuje slika 7.

Omrežja LPWAN bodo v prihodnosti zaradi svojih lastnosti povezovala glavnino IoT naprav [29-31].

Slika 7: Prikaz umestitve in uporabnosti različnih tehnologij glede na pasovno širino in doseg [31].

Komunikacija poteka na brezlicenčnem delu radijskega spektra. Dovoljene frekvence se med državami in regijami razlikujejo. V Evropi je uporabljen spekter med 863 in 870 MHz, v Sloveniji pa je dovoljen brezlicenčni frekvenčni spekter med 863 in 873 MHz [29]. Za komuniciranje je zraven fizične plasti (LoRa) potreben še komunikacijski protokol. Tega je razvila zveza »LoRa Alliance« in se imenuje LoRaWAN ter bo predstavljen v nadaljevanju [29-31].

(34)

20

4.2. Zveza LoRa Alliance

Zveza LoRa Alliance je neprofitna organizacija, ustanovljena marca 2015. Od njene ustanovitve se je zvezi pridružilo več kot 500 članov. Večja pridružena tehnološka podjetja so IBM, Cisco, HP, Foxconn in Semtech. Zveza se trudi za standardizacijo na rastočem področju IoT naprav, s promocijo in razvojem LoRaWAN protokola [29].

4.3. LoRaWAN protokol

LoRaWAN predstavlja komunikacijski protokol omrežja. Gre za enega izmed protokolov LPWAN omrežij. Delovanje protokola pomembno vpliva na porabo baterije, kapaciteto omrežja, doseg, ceno in varnost. Zasnova LoRaWAN-a poskuša optimizirati vse naštete lastnosti. Za zmanjšanje kompleksnosti omrežja in porabe električne energije je oblika omrežja zvezdasta namesto mrežna [29, 30].

V LoRaWAN omrežju naprave (končna vozlišča) niso povezane na en usmerjevalnik, temveč je poslana informacija prejeta na več usmerjevalnikih hkrati. Premikanje končnega vozlišča zato ne predstavlja težav. Prejete podatke nato usmerjevalnik (preko mobilnega omrežja, WiFi, Etherneta, …) pošlje na strežnik. Vsa kompleksna opravila (npr. filtriranje podvojenih poslanih podatkov) so opravljena na strežniku, podatki pa so ves čas šifrirani [29].

Končna vozlišča v omrežju komunicirajo asinhrono, ko želijo poslati podatek oz. ob določenem časovnem intervalu. Ker konstantna sinhronizacija v omrežju ni potrebna, je bistveno zmanjšana poraba električne energije. V domeni avtonomije naprav LPWAN omrežij je LoRaWAN v 3- do 5-kratni prednosti pred ostalimi rešitvami. Zaradi različnih zahtev naprav, protokol predvideva tri razrede naprav – razred A, B in C [29].

Naprave razreda A so energijsko najbolj učinkovite. Povezava strežnika do naprave je mogoča le v določenem intervalu po poslanem podatku. Če želi strežnik komunicirati z napravo, mora počakati na njeno pošiljanje. V ta razred spadajo npr. baterijsko napajani senzorji [29].

V razredu B naprave delujejo enako kot v razredu A, vendar tukaj naprava čaka na morebitno komunikacijo s strežnikom še v naprej določenih časovnih intervalih. Za sinhronizacijo časa poskrbi usmerjevalnik. Strežnik tako torej ve, kdaj bo lahko komuniciral z napravo. V ta razred spadajo baterijsko napajani aktuatorji [29].

(35)

21

Naprave razreda C vedno čakajo na komunikacijo strežnika, razen takrat, ko same pošiljajo informacije. V ta razred spadajo omrežno napajani aktuatorji, pri katerih želimo minimalno zakasnitev [29].

Na kapaciteto omrežja vpliva število naprav na istem kanalu, čas pošiljanja, količina podatkov in pogostost pošiljanja. Usmerjevalniki lahko hkrati sprejemajo podatke poslane pri različnih podatkovnih hitrostih na istem kanalu. Če imata naprava in usmerjevalnik dobro (hitro) povezavo, se podatki pošljejo pri višji hitrosti. S tem se skrajša čas pošiljanja, kar daje več prostora za komuniciranje drugim napravam. Prilagodljiva podatkovna hitrost optimizira porabo baterije naprave. Zaradi naštetih lastnosti ima omrežje LoRaWAN veliko kapaciteto in ga je enostavno razširiti [29].

Omrežje LoRaWAN je na voljo v 157 državah sveta, z njim pa opravlja 137 operaterjev [29].

(36)

22

5. PREGLED UPORABE MIKROKRMILNIKOV ESP32 V IZOBRAŽEVANJU

V tem poglavju bomo predstavili projekte, ki uporabljajo mikrokrmilnik ESP32. Nekateri projekti izhajajo iz izobraževanja, druge bi po našem mnenju lahko za uporabo v izobraževanju prilagodili. Izbrani primeri uporabe se nanašajo predvsem na univerzitetno raven.

Pregled vsebin in učnih ur za poučevanje IoT na post-sekundarni stopnji je pokazal, da so vsebine zastopane na različne načine. Nekateri predmeti so vsebine IoT le pavšalno predstavili v povezavi z družbo, uporabniki, programsko in strojno opremo. Spet drugi, ki so praviloma zahtevali predznanje, so vsebine bistveno razširili v smeri elektronike, omrežij, programiranja, analize podatkov itd. Poseben način vključevanja IoT vsebin predstavljajo predmeti, ki temeljijo na specifični uporabi IoT za reševanje nekega problema. Na tak način so bile vsebine vpletene v koncept naprednih mest, pametnih hiš ter uporabi tehnologije v zdravstvu [32].

Za učitelje, ki se odločajo za poučevanje IoT vsebin, je najpomembnejša izbira želenih področij iz velikega nabora. Vsebine so povezane vse od interakcije človek-računalnik, preko zasebnosti in etike do računalniških arhitektur, omrežji itd. Po izbiri vsebin imajo učitelji na izbiro še množico programske in strojne opreme za uporabo pri poučevanju. Iz nabora strojne opreme sta zaradi svoje priljubljenosti natančneje opisana krmilnika Arduino Uno in Raspberry Pi. Krmilnika Espressif (z ESP32 in ESP8266) sta omenjena kot cenovno dostopna krmilnika z brezžično povezljivostjo. Vsebinsko sta omenjena še za poučevanje programiranja (C++ in C) ter pri poučevanju vsebin povezanih z omrežji [32].

Ne glede na način uporabe se tehnologija in z njo povezane naprave IoT zelo hitro spreminjajo.

Uporabljena strojna oprema lahko postane zastarela in manj primerna za doseganje naših ciljev. Pri vključevanju projektov v izobraževalni kurikulum, se moramo zavedati potrebe po dodatnem inventarju (prenosni računalniki, multimetri itd.). Premisliti je potrebno tudi o načinu nakupa potrebne strojne opreme. Če opremo kupi šola, mora imeti na voljo dovolj financ. V primeru, da si opremo kupijo učenci sami tvegamo, da bodo kupili napačno. V obeh primerih je potrebno predvideti morebitno uničenje opreme zaradi napačne uporabe [32].

(37)

23

5.1. Uporaba krmilnika za zajem podatkov

Del mnogih projektov predstavlja zbiranje podatkov. Merimo lahko temperaturo, vlago, sile, število udarcev srca, število vozil itd. Zajem teh podatkov v digitalni obliki je za nadaljnjo obdelavo ključnega pomena [33].

Merilni instrumenti, ki so za ta namen na voljo v šolstvu, so dragi, zato je smiselna izdelava lastnih rešitev. Za meritve je na voljo več programske in strojne opreme, ki jo lahko uporabimo.

Prednosti krmilnika z ESP32 so nizka cena, dobra ločljivost ADC, število priključkov in količina delovnega spomina. Pri pogostem vzorčenju je meritve priporočeno shranjevati prav vanj [33].

Ker krmilniki z ESP32 omogočajo brezžično povezljivost, lahko podatke prikazujemo na mobilnih napravah preko spletnega strežnika. Za izpis meritev na mobilni napravi potrebujemo le spletni brskalnik [34].

Samostojna izdelava merilnega instrumenta je mogoča in uporabna pri dejanskih znanstvenih meritvah. Krmilnik z ESP32 se je izkazal kot dober zapisovalnik podatkov. Zraven finančnega prihranka je izdelava dodatna priložnost za učenje [33, 34].

Menimo, da je priprava merilnega instrumenta mogoča in uporabna v osnovni šoli.

Zapisovalnik podatkov lahko uporabimo pri eksperimentih, ki se izvajajo pri predmetih (npr.

fizika, kemija). Zbrane podatke lahko obdelujemo pri matematiki ali računalniških predmetih.

5.2. Uporaba krmilnika za namakalni sistem

Naslednji izbran primer uporablja krmilnik z ESP32 za avtomatsko zalivanje. Zraven krmilnika je uporabljen senzor temperature, vlage, vlažnosti prsti in nivoja vode. Za vklop in izklop vodne črpalke skrbi rele. Stroški izdelave nadzornega sistema so zelo nizki. Zaradi avtomatskega delovanja uporabniku ni potreben fizičen obisk površine, ki jo namaka. Dostop do meritev senzorjev in ročnega vklopa črpalke je mogoč preko spleta z uporabo telefona ali računalnika [35]. Način oddaljenega nadzora ni določen, najverjetneje pa gre za povezavo preko WiFi-ja.

(38)

24

Boljšo alternativo za oddaljen nadzor in sporočanje meritev senzorjev omogoča LoRa komunikacija. Ta bi ohranila funkcionalnost in podaljšala avtonomijo krmilnika [36].

Projekt bi po našem mnenju lahko izdelali učenci. Mnogo osnovnih šol ima svoje vrtove, ali pa učenci skrbijo za rast npr. fižola v koritih znotraj šole. Vsebine se povezujejo s predmetoma naravoslovje in tehnika ter biologija.

5.3. Uporaba krmilnika za merjenje onesnaženosti zraka

Vse večji problem sodobnih mest je onesnaženost zraka, ki povzroča različne bolezni (bolezni srca, pljučni rak, astma, …). Letno onesnažen zrak povzroči 6,5 milijona prezgodnjih smrti.

Naslednji projekt za merjenje onesnaženosti zraka uporablja različne senzorje. Senzor MQ-9 je uporabljen za merjenje ogljikovega monoksida, metana in utekočinjenega naftnega plina, senzor MQ-135 pa meri vsebnosti benzena, amonijaka in žveplovega dioksida. Dodan je še senzor za merjenje prašnih delcev in DHT22 senzor temperature in vlage. Krmilnik z ESP32 meritve senzorjev preko WiFi-ja objavlja na thinger.io strežnik, kjer so podatki grafično predstavljeni. Uporabniki do spletne strani dostopajo preko spleta [37].

Uporaba krmilnika in senzorjev je podobna prejšnjemu projektu, vendar so tokrat zbrani podatki poslani na strežnik na bolj napreden način. Znova je smiselna uporaba LoRa povezljivosti. Spletna stran podatke prikazuje v privlačni grafični obliki. Projekt je delno primeren za uporabo v osnovni šoli, zaradi naprednega pošiljanja informacij, ki zahtevajo več znanja in časa.

Če projekta združimo in dodamo npr. senzor osvetljenosti in anemometer, dobimo nov projekt- vremensko postajo.

5.4. Uporaba krmilnika za igranje iger

V literaturi zasledimo uporabo krmilnika z ESP32, tipk, LCD zaslona, analogne igralne palice (joystick) in brnača (buzzer) za igranje preproste igre [38].

(39)

25

Projekt sicer ni strogo namenjen za uporabo v šoli, temveč gre za enega naprednejših projektov iz vira. Ideja projekta je za uporabo v šoli smiselna, saj so upravljanje krmilnika s tipkami, izpis na zaslonu in zvočna povratna informacija pogosto aplikativni (npr. meni nastavitev).

Igre na učence pogosto delujejo motivacijsko, zato predlagamo dve ideji za igre. Prva je enostavno merjenje refleksov, kjer mora igralec čim hitreje po prižigu LED pritisniti tipko.

Trenutni in najboljši reakcijski čas se izpisujeta na zaslonu. Igro lahko razširimo v igro za več igralcev.

Naslednja ideja je igra »kače«, kjer namesto tipk za usmerjanje kače poskrbimo s senzorjem nagiba. Programiranje iger je glede na naše želje lahko zelo zahtevno, zato kompleksnejše projekte predlagamo le učno zmožnejšim učencem.

5.5. Krmilnik kot osciloskop

Zadnji projekt je s pomočjo modula ESP-WROOM-32 izdelan brezžični osciloskop. Modul podatke pošilja na mobilni telefon preko direktne WiFi povezave. Telefon meritve izrisuje na zaslonu, ki omogoča še nadzor nad nastavitvami osciloskopa. Izdelan osciloskop podpira vhodne frekvence do 20 kHz. Dosežena frekvenca ni zadostna za osciloskope, vendar je odličen prikaz zmogljivosti mikrokrmilnika. Celotno vezje je bilo izdelano namensko s potrebnim napajanjem, releji itd. Mikrokrmilnik ESP32 se je izkazal kot odlična izbira za IoT naprave zaradi zmogljivosti in cene. Krmilnik ESP32-DevKitC je v viru priporočen za uporabo v izobraževalne namene in prosti čas [39].

Primer uporabe je zaradi izdelave električnega vezja preveč zahteven za osnovno šolo. Projekt potrjuje zmogljivost mikrokrmilnikov ESP32 in njihovo mesto v izobraževanju.

(40)

26

6. ZAKLJUČEK

Podjetje Espressif Systems je relativno mlado podjetje, katerega izdelki (mikrokrmilniki) so pomembno vplivali na razvoj IoT industrije. Danes njihove izdelke uporabljajo (ali podpirajo) večji tehnološki velikani. Zaradi enostavne integracije in vgrajene brezžične povezljivosti so ESP32 moduli priljubljen del razvojnih plošč. Podjetje Espressif ponuja raznolike krmilnike, katerih funkcionalnosti so prilagodili in razširili drugi proizvajalci. Širok nabor omogoča izbor nam najprimernejše oz. najpomembnejše funkcionalnosti. Z rastočim trgom IoT naprav se potreba po mikrokrmilnikih z brezžično komunikacijo povečuje, zato podjetje razvija in ponuja nove izdelke. Kljub razvoju imajo izdelki še vedno zagotovljeno ažurno podporo.

Krmilniki z ESP32 so v izobraževanju manj poznani od krmilnikov družine Arduino. Ob preizkušanju in primerjavi krmilnikov, so se krmilniki z ESP32 izkazali za izredno zmogljive.

Njihova prednost je nizka cena in brezžična povezljivost. Programiranje obeh družin krmilnikov je mogoče preko Arduino IDE okolja, dobra je tudi njuna dokumentacija.

Večino komunikacij IoT naprav bodo zagotavljala t.i. LPWAN omrežja oz. prostrana omrežja z nizko porabo. Manj poznan način komunikacije, ki spada v to kategorijo, se imenuje LoRa.

Komunikacija LoRa ni zamenjava za WiFi, Bluetooth ali mobilna omrežja, ampak je nova rešitev, ki omogoča velik doseg naprav pri nizki porabi energije. Komunikacija LoRa uporablja CSS modulacijo, ki vpliva na doseg in odpornost na motnje. Potreben komunikacijski protokol za LoRa komunikacijo je razvila zveza »LoRa Alliance« in se imenuje LoRaWAN. Protokol je optimiziran za enostavno širitev omrežja, dolgo avtonomijo naprav in varnost.

Kljub slabši prepoznavnosti se krmilniki z ESP32 uporabljajo pri projektih v izobraževanju, kjer prevladuje uporaba na univerzitetni ravni. V projektih so pogosto izražene prej zapisane prednosti mikrokrmilnikov ESP32 (zmogljivost, cena, povezljivost). Zaradi vsestranskosti je njihovo uporabo mogoče zaslediti znotraj enostavnih, kot tudi zelo zahtevnih projektov.

Večino primerov uporabe je mogoče omejiti in prilagoditi za uporabo v osnovni šoli. Ogled podatkov in nadzor krmilnika na daljavo omogočata nove načine interakcije, ki brez brezžičnih komunikacij ne bi bile mogoče. Zdi se nam, da oddaljen dostop in razvoj mobilnih aplikacij za nadzor od učencev zahteva več programerskih znanj, kot smo jih vajeni pri uporabi ostalih, ne- povezljivih krmilnikov. Po drugi strani je verjetno ravno povezava z IKT in spletom bolj

(41)

27

zanimiva od indikacijske LED in serijskega vmesnika in zato dodatna motivacija sodobnim učencem.

(42)

28

7. LITERATURA

[1] El-Abd, M. (2017). A Review of Embedded Systems Education in the Arduino Age:

Lessons Learned and Future Directions. International Journal of Engineering Pedagogy (iJEP), 7(2), 79-93. doi:10.3991/ijep.v7i2.6845.

[2] Spletna stran Espressif [https://www.espressif.com/].

[3] Spletna stran Wikipedia – ESP8266 [https://en.wikipedia.org/wiki/ESP8266].

[4] Spletna stran Espressif – Technical documents

[https://www.espressif.com/en/support/documents/technical-documents].

[5] Spletna stran Espressif – Modules [https://www.espressif.com/en/products/modules].

[6] Spletna stran Espressif – ESP-IDF Programming Guide [https://docs.espressif.com/projects/esp-idf/en/latest/esp32/].

[7] Santos, S. (2020). ESP32 vs ESP8266 – Pros and Cons. Pridobljeno s https://makeradvisor.com/esp32-vs-esp8266/.

[8] Spletna stran Wikipedia – ESP32 [https://en.wikipedia.org/wiki/ESP32].

[9] Spletna stran ESP32 – HARDWARE [http://esp32.net/#Hardware].

[10] Santos, S. (2020). ESP32 Development Boards Review and Comparison. Pridobljeno s https://makeradvisor.com/esp32-development-boards-review-comparison/.

[11] Spletna stran Espressif – Development Boards [https://www.espressif.com/en/products/devkits].

[12] Spletna stran Espressif – ESP-EYE [https://www.espressif.com/en/products/devkits/esp- eye/overview].

[13] Spletna stran Github – Hardware Reference [https://github.com/espressif/esp- skainet/blob/master/docs/en/hw-reference/esp32/user-guide-esp32-korvo-v1.1.md#2- hardware-reference].

(43)

29

[14] Spletna stran TTgo – LILYGO® TTGO T-Energy ESP32 8MByte PSRAM WiFi &

Bluetooth Module 18650 Battery ESP32-WROVER-B Development Board

[http://www.lilygo.cn/prod_view.aspx?TypeId=50033&Id=1170&FId=t3:50033:3].

[15] Santos, S. (2020). ESP32 with Built-in SX1276 LoRa and SSD1306 OLED Display (Review). Pridobljeno s https://makeradvisor.com/esp32-sx1276-lora-ssd1306-oled/.

[16] Spletna stran TTgo - LILYGO® TTGO LORA V1.3 868Mhz ESP32 Chip SX1276 Module 0.96 Inch OLED Screen WIFI And Bluetooth Development Board

[http://www.lilygo.cn/prod_view.aspx?TypeId=50003&Id=1253&FId=t3:50003:3].

[17] Spletna stran Random nerd tutorials – TTGO LoRa32 SX1276 OLED Board: Getting Started with Arduino IDE [https://randomnerdtutorials.com/ttgo-lora32-sx1276-arduino- ide/].

[18] Spletna stran M5stack – M5StickC [https://docs.m5stack.com/#/en/core/m5stickc].

[19] Spletna stran Espressif – Espressif Announces the Release of ESP32-S2

[https://www.espressif.com/en/news/espressif-announces-%E2%80%A8esp32-s2-secure-wi- fi-mcu].

[20] Spletna stran Arduino store [https://store.arduino.cc/].

[21] Spletna stran Arduino – Pro hardware [https://www.arduino.cc/pro/hardware].

[22] Spletna stran Arduino – Arduino BT (Bluetooth)

[https://www.arduino.cc/en/Main/ArduinoBoardBT?from=Main.ArduinoBoardBluetooth].

[23] Spletna stran Elektorstore – ESP32-PICO-Kit V4 [https://www.elektor.com/esp32-pico- kit-v4].

[24] Spletna stran Mouser – ESP32-DevKitC-VIE

[https://eu.mouser.com/ProductDetail/Espressif-Systems/ESP32-DevKitC- VIE?qs=vmHwEFxEFR%252B9L5ZhUgeToA==].

[25] Spletna stran Wikipedia – ATmega328 [https://en.wikipedia.org/wiki/ATmega328].

[26] nRF52840 Product Specification [https://content.arduino.cc/assets/Nano_BLE_MCU- nRF52840_PS_v1.1.pdf].

(44)

30

[27] NINA-W10 series Stand-alone Multiradio modules Data sheet

[https://content.arduino.cc/assets/Arduino_NINA-W10_DataSheet_%28UBX- 17065507%29.pdf].

[28] Spletna stran Arduino blog – New MKR WAN 1310 for LoRa connectivity comes with 2MByte Flash and extended battery life [https://blog.arduino.cc/2019/10/10/new-mkr-wan- 1310-for-lora-connectivity-comes-with-2mbyte-flash-and-extended-battery-life/].

[29] Spletna stran LoRa Alliance [https://lora-alliance.org/].

[30] Spletna stran i-scoop – LoRa and LoRaWAN: the technologies, ecosystems, use cases and market [https://www.i-scoop.eu/internet-of-things-guide/lpwan/iot-network-lora- lorawan/].

[31] Spletna stran Semtech [https://www.semtech.com/].

[32] Burd, B., Barker, L., Divitini, M., Perez, F. A. F., Russell, I., Siever, B., & Tudor, L.

(2017). Courses, Content, and Tools for Internet of Things in Computer Science Education. Proceedings of the 2017 ITiCSE Conference on Working Group Reports - ITiCSE-WGR 17. doi: 10.1145/3174781.3174788.

[33] Rei, S. (2017). Implementing A Low Cost Data Acquisition System for Engineering Education Programs in Universities. Balkan Region Conference on Engineering and Business Education, 3(1), 130–136. doi: 10.1515/cplbu-2017-0018.

[34] Abbas, I. A. (2019). ESP32 Based Data Logger. International Journal of Computer Science and Mobile Computing, 8(5), 259–267. Pridobljeno s

https://www.ijcsmc.com/past_issues/volume_8_issue_5.

[35] Biswas, S. B., & Iqbal, M. T. (2018). Solar Water Pumping System Control Using a Low Cost ESP32 Microcontroller. 2018 IEEE Canadian Conference on Electrical &

Computer Engineering (CCECE). doi: 10.1109/ccece.2018.8447749.

[36] Spletna stran Random nerd tutorials – ESP32 with LoRa using Arduino IDE – Getting Started [https://randomnerdtutorials.com/esp32-lora-rfm95-transceiver-arduino-ide/].

(45)

31

[37] Sarjerao, B. S., & Prakasarao, A. (2018). A Low Cost Smart Pollution Measurement System Using REST API and ESP32. 2018 3rd International Conference for Convergence in Technology (I2CT). doi: 10.1109/i2ct.2018.8529500.

[38] Kurniawan, A. (2019). Internet of Things projects with ESP32: build exciting and powerful IoT projects using the all-new Espressif ESP32. Birmingham, UK: Packt Publishing.

[39] Maier, A., Sharp, A., & Vagapov, Y. (2017). Comparative analysis and practical

implementation of the ESP32 microcontroller module for the internet of things. 2017 Internet Technologies and Applications (ITA). doi: 10.1109/itecha.2017.8101926.

Reference

POVEZANI DOKUMENTI

Čeprav lahko računamo v Sloveniji še z določenimi zalogami barita brez znatnejših primesi drugih mineralov, je glavni del zalog barita v kompleksnih rudah, ki vsebujejo poleg

V zdravstvu je Siemens poznan kot proizvajalec oslikovalnih in drugih medicinskih naprav.. Podjetje s produktom Soarian Integrated Care ponuja rešitev za povezavo

Č eprav zgolj ustrezna uporaba u č nih oblik in u č nih metod še ne zagotavlja kakovostne športne vzgoje, pa je lahko njihova uporaba eden od kazalcev kakovosti, na katerega

Č eprav zgolj ustrezna uporaba u č nih oblik in u č nih metod še ne zagotavlja kakovostne športne vzgoje, pa je lahko njihova uporaba eden od kazalcev kakovosti, na katerega

Še enkrat bomo ponovili, da je izredno pomembno uskladiti svoj energijski vnos (količino in vrsto hrane, ki jo pojemo) z energijsko porabo (predvsem dnevno telesno dejavnostjo)..

Z uvedbo spletne trgovine bo podjetje Eventus bolj pregledno in s svojo dejavnostjo na voljo širšemu okolju, kar pa seveda privede tudi do večje ranljivosti podjetja, zato

Priporočene teme usposabljanja so oblikovanje ustreznih učnih izidov, priprava učnih metod, gradiva in učnega načrta, ki omogočajo pridobitev predvidenih učnih izidov,

»Vendar bi bilo napačno, če bi to demografsko katastrofo, ki se zdaj dogaja v Indiji in sploh v vzhodni Aziji, zlasti na Kitajskem in Južni Koreji, pripisali samo doti in