ST X-NUCLEO-53L1A2 Razširitvena plošča -- Konfiguracije prekinitev

UM2606
Uporabniški priročnik

Začetek uporabe IOTA Distributed Ledger
Tehnološka razširitev programske opreme za STM32Cube

Uvod

The X-CUBE-IOTA1 razširitveni programski paket za STM32Cube deluje na STM32 in vključuje vmesno programsko opremo za omogočanje funkcij IOTA Distributed Ledger Technology (DLT).
IOTA DLT je plast poravnave transakcij in prenosa podatkov za internet stvari (IoT). IOTA omogoča ljudem in strojem prenos denarja in/ali podatkov brez kakršnih koli transakcijskih provizij v nezaupljivem, brez dovoljenja in decentraliziranem okolju. Ta tehnologija omogoča celo mikroplačila brez potrebe po kakršnem koli zaupanja vrednem posredniku. Razširitev je zgrajena na programski tehnologiji STM32Cube za lažjo prenosljivost med različnimi mikrokrmilniki STM32. Trenutna različica programske opreme teče na B-L4S5I-IOT01A Komplet za odkrivanje za vozlišče IoT in se poveže z internetom prek priloženega vmesnika Wi-Fi.

POVEZANE POVEZAVE

Obiščite ekosistem STM32Cube web stran na www.st.com za dodatne informacije
https://www.iota.org/get-started/what-is-iota
https://docs.iota.org/docs/getting-started/1.1/introduction/overview
https://iota-beginners-guide.com
https://chrysalis.docs.iota.org
https://iota-beginners-guide.com/future-of-iota/iota-1-5-chrysalis
https://www.boazbarak.org/cs127/Projects/iota.pdf

Kratice in okrajšave

Tabela 1. Seznam akronimov

akronim Opis
DLT Tehnologija porazdeljene knjige
IDE Integrirano razvojno okolje
IoT Internet stvari
PoW Dokaz o delu

Razširitev programske opreme X-CUBE-IOTA1 za STM32Cube

konecview

The X-CUBE-IOTA1 programski paket se razširi STM32Cube funkcionalnost z naslednjimi ključnimi lastnostmi:

  • Popolna vdelana programska oprema za izdelavo aplikacij IOTA DLT za plošče, ki temeljijo na STM32
  • Knjižnice vmesne programske opreme, ki vključujejo:
    – FreeRTOS
    – Upravljanje Wi-Fi
    – šifriranje, zgoščevanje, preverjanje pristnosti sporočil in digitalno podpisovanje (Cryptolib)
    – varnost na transportni ravni (MbedTLS)
    – IOTA Client API za interakcijo s Tangle
  • Popoln gonilnik za gradnjo aplikacij, ki dostopajo do senzorjev gibanja in okolja
  • Examples za pomoč pri razumevanju razvoja aplikacije IOTA DLT Client
  • Enostavna prenosljivost med različnimi družinami MCU, zahvaljujoč STM32Cube
  • Brezplačni, uporabniku prijazni licenčni pogoji

Razširitev programske opreme zagotavlja vmesno programsko opremo za omogočanje IOTA DLT na mikrokrmilniku STM32. IOTA DLT je plast poravnave transakcij in prenosa podatkov za internet stvari (IoT). IOTA omogoča ljudem in strojem prenos denarja in/ali podatkov brez kakršnih koli transakcijskih provizij v nezaupljivem, brez dovoljenja in decentraliziranem okolju. Ta tehnologija omogoča celo mikroplačila brez potrebe po kakršnem koli zaupanja vrednem posredniku.

IOTA 1.0

Distributed Ledger Technologies (DLT) so zgrajene na omrežju vozlišč, ki vzdržuje porazdeljeno knjigo, ki je kriptografsko zavarovana porazdeljena baza podatkov za beleženje transakcij. Vozlišča izdajajo transakcije prek soglasnega protokola.
IOTA je tehnologija porazdeljene knjige, posebej zasnovana za internet stvari.
Porazdeljena knjiga IOTA se imenuje zaplet in jo ustvarijo transakcije, ki jih izdajo vozlišča v omrežju IOTA.
Za objavo transakcije v zapletu mora vozlišče:

  1. potrdite dve neodobreni transakciji, imenovani nasveti
  2. ustvarite in podpišite novo transakcijo
  3. opraviti zadostno dokazilo o delu
  4. oddaja novo transakcijo v omrežje IOTA

Transakcija je pripeta v zaplet skupaj z dvema referencama, ki kažeta na potrjene transakcije.
To strukturo je mogoče modelirati kot usmerjen aciklični graf, kjer oglišča predstavljajo posamezne transakcije, robovi pa predstavljajo reference med pari transakcij.
Transakcija geneze je v korenu zapleta in vključuje vse razpoložljive žetone IOTA, imenovane iote.
IOTA 1.0 uporablja precej nekonvencionalen pristop izvajanja, ki temelji na trinarni predstavitvi: vsak element v IOTA je opisan z uporabo trits = -1, 0, 1 namesto bitov in trytes 3 trits namesto bajtov. Tryte je predstavljen kot celo število od -13 do 13, kodirano s črkami (AZ) in številko 9.
IOTA 1.5 (Chrysalis) nadomešča trinarno postavitev transakcij z binarno strukturo.
Omrežje IOTA vključuje vozlišča in odjemalce. Vozlišče je povezano z vrstniki v omrežju in shrani kopijo zapleta. Odjemalec je naprava s semenom, ki se uporablja za ustvarjanje naslovov in podpisov.
Odjemalec ustvari in podpiše transakcije ter jih pošlje vozlišču, da jih lahko omrežje preveri in shrani. Transakcije umika morajo vsebovati veljaven podpis. Ko se transakcija šteje za veljavno, jo vozlišče doda v svojo knjigo, posodobi stanja prizadetih naslovov in pošlje transakcijo svojim sosedom.

IOTA 1.5 – Chrysalis

Cilj Fundacije IOTA je optimizirati glavno omrežje IOTA pred Coordicide in ponuditi rešitev, pripravljeno za podjetja, za ekosistem IOTA. To dosežemo z vmesno posodobitvijo, imenovano Chrysalis. Glavne nadgradnje, ki jih je predstavil Chrysalis, so:

  • Naslovi za večkratno uporabo: sprejetje podpisne sheme Ed25519, ki nadomešča shemo enkratnega podpisa Winternitz (W-OTS), omogoča uporabnikom, da večkrat varno pošiljajo žetone z istega naslova;
  • Nič več svežnjev: IOTA 1.0 uporablja koncept svežnjev za ustvarjanje prenosov. Paketi so nabor transakcij, ki jih povezuje njihova korenska referenca (trunk). S posodobitvijo IOTA 1.5 je stara konstrukcija svežnja odstranjena in nadomeščena s preprostejšimi Atomic transakcijami. Vertex Tangle je predstavljen s sporočilom, ki je nekakšen vsebnik, ki ima lahko poljubno koristno obremenitev (tj. koristno obremenitev žetona ali koristno obremenitev indeksiranja);
  • Model UTXO: prvotno je IOTA 1.0 uporabljal model, ki temelji na računu, za sledenje posameznih žetonov IOTA: vsak naslov IOTA je vseboval število žetonov in skupno število žetonov z vseh naslovov IOTA je bilo enako skupni ponudbi. Namesto tega IOTA 1.5 uporablja izhodni model neporabljene transakcije ali UTXO, ki temelji na zamisli o sledenju neporabljenih količin žetonov prek podatkovne strukture, imenovane izhod;
  • Do 8 staršev: pri IOTA 1.0 ste se morali vedno sklicevati na 2 nadrejeni transakciji. S Chrysalisom je uvedeno večje število referenčnih nadrejenih vozlišč (do 8). Za najboljše rezultate priporočamo vsaj 2 edinstvena starša hkrati.

POVEZANE POVEZAVE
Za več informacij o Chrysalis si oglejte to stran z dokumentacijo

Dokaz o delu

Protokol IOTA uporablja Proof-of-Work kot sredstvo za omejevanje hitrosti omrežja.
IOTA 1.0 je uporabljal Curl-P-81 trinarna zgoščena funkcija in zahteva zgoščevanje z ustreznim številom končnih nič trits za izdajo transakcije v Tangle.
S Chrysalisom je možno izdajati binarna sporočila poljubne velikosti. Ta RFC opisuje, kako prilagoditi obstoječi mehanizem PoW novim zahtevam. Njegov cilj je biti čim manj moteč za trenutni mehanizem PoW.

Arhitektura

Ta razširitev STM32Cube omogoča razvoj aplikacij, ki dostopajo in uporabljajo vmesno programsko opremo IOTA DLT.
Temelji na sloju abstrakcije strojne opreme STM32CubeHAL za mikrokrmilnik STM32 in razširja STM32Cube s posebnim paketom podpore za ploščo (BSP) za razširitveno ploščo mikrofona in komponente vmesne programske opreme za obdelavo zvoka in USB komunikacijo z osebnim računalnikom.
Programske plasti, ki jih aplikacijska programska oprema uporablja za dostop in uporabo razširitvene plošče za mikrofon, so:

  • Plast STM32Cube HAL: zagotavlja generični nabor API-jev z več primerki za interakcijo z zgornjimi plastmi (aplikacija, knjižnice in skladi). Sestavljen je iz generičnih in razširitvenih API-jev, ki temeljijo na skupni arhitekturi, ki omogoča, da druge plasti, kot je sloj vmesne programske opreme, delujejo brez posebnih konfiguracij strojne opreme mikrokrmilniške enote (MCU). Ta struktura izboljšuje ponovno uporabo kode knjižnice in zagotavlja enostavno prenosljivost naprave.
  • Plast paketa podpore za ploščo (BSP): je nabor API-jev, ki zagotavlja programski vmesnik za določene zunanje naprave za ploščo (LED, uporabniški gumb itd.). Ta vmesnik pomaga tudi pri identifikaciji posebne različice plošče in nudi podporo za inicializacijo potrebnih zunanjih naprav MCU in branje podatkov.

Slika 1. Arhitektura programske opreme X-CUBE-IOTA1

Razširitveni programski paket X-CUBE-IOTA1 -- razširitev X-CUBE-IOTA1

Struktura map

Slika 2. Struktura mape X-CUBE-IOTA1Razširitveni programski paket X-CUBE-IOTA1 -- struktura map

V programski paket so vključene naslednje mape:

  • Dokumentacija: vsebuje preveden HTML file ustvarjeno iz izvorne kode in podrobne dokumentacije komponent programske opreme in API-jev
  • Vozniki: vsebuje gonilnike HAL in gonilnike, specifične za ploščo, za podprte plošče in strojne platforme, vključno s tistimi za vgrajene komponente in plast abstrakcije strojne opreme, neodvisno od prodajalca CMSIS, za serijo procesorjev ARM® Cortex®-M
  • Vmesna oprema: vsebuje knjižnice, ki vsebujejo FreeRTOS; Upravljanje Wi-Fi; šifriranje, zgoščevanje, preverjanje pristnosti sporočil in digitalno podpisovanje (Cryptolib); varnost na transportni ravni (MbedTLS); IOTA Client API za interakcijo s Tangle
  • Projekti: vsebuje npramples, ki vam pomaga razviti aplikacijo IOTA DLT Client za podprto platformo, ki temelji na STM32 (B-L4S5I-IOT01A), s tremi razvojnimi okolji, IAR Embedded Workbench za ARM (EWARM), RealView Komplet za razvoj mikrokrmilnika (MDK-ARM) in STM32CubeIDE
API

Podrobne tehnične informacije s popolno funkcijo uporabniškega API-ja in opisom parametrov so v prevedenem HTML-ju file v mapi »Dokumentacija«.

Opis aplikacije IOTA-Client

Projekt files za aplikacijo IOTA-Client najdete v: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Projekti, pripravljeni za gradnjo, so na voljo za več IDE.
Uporabniški vmesnik je na voljo prek serijskih vrat in mora biti konfiguriran z naslednjimi nastavitvami:

Slika 3. Tera Term – Nastavitev terminalaRazširitveni programski paket X-CUBE-IOTA1 -- Nastavitev serijskih vrat

Slika 4. Tera Term – Nastavitev serijskih vratRazširitveni programski paket X-CUBE-IOTA1 -- Nastavitev terminala

Za zagon aplikacije sledite spodnjemu postopku.
1. korak Odprite serijski terminal za vizualizacijo dnevnika sporočil.
2. korak Vnesite konfiguracijo omrežja Wi-Fi (SSID, varnostni način in geslo).
3. korak Nastavite korenska potrdila CA TLS.
4. korak Kopirajte in prilepite vsebino Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Naprava jih uporablja za preverjanje pristnosti oddaljenih gostiteljev prek TLS.

Opomba: Po konfiguraciji parametrov jih lahko spremenite tako, da ponovno zaženete ploščo in v 5 sekundah pritisnete uporabniški gumb (modri gumb). Ti podatki bodo shranjeni v Flash pomnilniku.

Slika 5. Nastavitve parametrov Wi-Fi

Razširitveni programski paket X-CUBE-IOTA1 -- nastavitve parametrov Wi-Fi5. korak Počakajte, da se prikaže sporočilo »Za nadaljevanje pritisnite katero koli tipko«. Zaslon se nato osveži s seznamom glavnih funkcij:

  • Pošljite splošno sporočilo o indeksaciji
  • Pošljite sporočilo senzorja indeksacije (vključno s časovnim okviromamp, temperatura in vlažnost)
  • Pridobite ravnovesje
  • Pošlji transakcijo
  • Druge funkcije

Slika 6. Glavni meni
Razširitveni programski paket X-CUBE-IOTA1 -- Glavni meni

6. korak Izberite možnost 3, da preizkusite eno od naslednjih funkcij:

Pridobite podatke o vozliščih Pridobite nasvete
Pridobite izhod Izhodi iz naslova
Pridobite ravnovesje Napaka pri odzivu
Prejmi sporočilo Pošlji sporočilo
Najdi sporočilo Testna denarnica
Ustvarjalnik sporočil Testiraj kripto

Slika 7. Druge funkcijeX-CUBE-IOTA1 razširitveni programski paket -Druge funkcije

POVEZANE POVEZAVE
Za dodatne podrobnosti o funkcijah IOTA 1.5 glejte dokumentacijo odjemalca IOTA C

Vodnik za nastavitev sistema

Opis strojne opreme
STM32L4+ Discovery kit vozlišče IoT

Komplet za odkrivanje B-L4S5I-IOT01A za vozlišče IoT vam omogoča razvoj aplikacij za neposredno povezavo s strežniki v oblaku.
Komplet Discovery omogoča široko paleto aplikacij z izkoriščanjem komunikacij z nizko porabo energije, večsmernega zaznavanja in funkcij serije STM4L32+, ki temelji na jedru ARM®Cortex® -M4+.
Podpira povezljivost Arduino Uno R3 in PMOD, ki zagotavlja neomejene možnosti razširitve z veliko izbiro namenskih dodatnih plošč.

Slika 8. Komplet za odkrivanje B-L4S5I-IOT01AX-CUBE-IOTA1 razširitveni programski paket -- B-L4S5I-IOT01A Discovery ki

Nastavitev strojne opreme

Potrebne so naslednje komponente strojne opreme:

  1. en komplet STM32L4+ Discovery za vozlišče IoT, opremljeno z vmesnikom Wi-Fi (koda naročila: B-L4S5I-IOT01A)
  2. kabel USB tipa A do Mini-B USB tipa B za povezavo plošče za odkrivanje STM32 na računalnik
Nastavitev programske opreme

Za nastavitev razvojnega okolja za ustvarjanje aplikacij IOTA DLT za B-L4S5I-IOT01A so potrebne naslednje komponente programske opreme:

  • X-CUBE-IOTA1: strojna programska oprema in povezana dokumentacija je na voljo na st.com
  • veriga razvojnih orodij in prevajalnik: razširitvena programska oprema STM32Cube podpira naslednja okolja:
    – IAR Embedded Workbench za verigo orodij ARM® (EWARM) + ST-LINK/V2
    – ResničnoView Komplet orodij za razvoj mikrokrmilnika (MDK-ARM) + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
Nastavitev sistema

B-L4S5I-IOT01A Discovery board omogoča izkoriščanje funkcij IOTA DLT. Plošča integrira ST-LINK/V2-1 razhroščevalnik/programator. Ustrezno različico gonilnika ST-LINK/V2-1 USB lahko prenesete na STSW-LINK009.

Zgodovina revizij

Tabela 2. Zgodovina revizij dokumenta

Datum Revizija Spremembe
13. junij 19 1 Začetna izdaja
18. junij 19 2 Posodobljen razdelek 3.4.8.1 TX_IN in TX_OUT, razdelek 3.4.8.3 Pošiljanje podatkov prek ničelne vrednosti
transakcije in razdelek 3.4.8.4 Pošiljanje sredstev prek transakcij prenosa.
6. maj 21 3 Posodobljeni uvod, 1. razdelek Kratice in okrajšave, razdelek 2.1 nadview, razdelek 2.1.1 IOTA 1.0, razdelek 2.1.3 Proof-of-Work, razdelek 2.2 Arhitektura, razdelek 2.3 Struktura mape, razdelek 3.2 Nastavitev strojne opreme, razdelek 3.3 Nastavitev programske opreme in razdelek 3.4 Nastavitev sistema.
Odstranjen 2. razdelek in nadomeščen s povezavo v uvodu.
Odstranjen razdelek 3.1.2 Transakcije in svežnji, razdelek 3.1.3 Račun in podpisi, razdelek
3.1.5 Zgoščenje. Razdelek 3.4 Kako pisati aplikacije in z njimi povezane pododdelke, Oddelek 3.5 Opis aplikacije IOTALightNode in z njimi povezani podrazdelki ter Oddelek 4.1.1 STM32
Platforma Nucleo Dodan razdelek 2.1.2IOTA 1.5 – Chrysalis, razdelek 2.5 Opis aplikacije IOTA-Client, razdelek 2.4 API in razdelek 3.1.1 STM32L4+ Discovery kit IoT vozlišče.

 

POMEMBNO OBVESTILO - PROSIMO, DA PREBERETE POZORNO

STMicroelectronics NV in njene podružnice ("ST") si pridržujejo pravico do sprememb, popravkov, izboljšav, modifikacij in izboljšav izdelkov ST in / ali tega dokumenta kadar koli brez predhodnega obvestila. Kupci morajo pred oddajo naročil pridobiti najnovejše ustrezne informacije o izdelkih ST. Izdelki ST se prodajajo v skladu s prodajnimi pogoji ST, veljavnimi v času potrditve naročila.

Kupci so izključno odgovorni za izbiro, izbiro in uporabo izdelkov ST in ST ne prevzema nobene odgovornosti za pomoč pri prijavi ali oblikovanje izdelkov kupcev.
ST v tem dokumentu ne podeljuje nobene licence, izrecne ali implicitne, za katero koli pravico do intelektualne lastnine.
Nadaljnja prodaja izdelkov ST z določbami, ki se razlikujejo od informacij, navedenih v tem dokumentu, razveljavi vsako garancijo, ki jo ST odobri za tak izdelek.
ST in logotip ST sta blagovni znamki ST. Za dodatne informacije o blagovnih znamkah ST obiščite www.st.com/trademarks. Vsa druga imena izdelkov ali storitev so last njihovih lastnikov.
Informacije v tem dokumentu prevladajo in nadomeščajo informacije, ki so bile predhodno navedene v kateri koli prejšnji različici tega dokumenta.
© 2021 STMicroelectronics – Vse pravice pridržane

Dokumenti / Viri

ST X-CUBE-IOTA1 razširitveni programski paket za STM32Cube [pdfUporabniški priročnik
ST, X-CUBE-IOTA1, razširitev, programski paket, za, STM32Cube

Reference

Pustite komentar

Vaš elektronski naslov ne bo objavljen. Obvezna polja so označena *