ST X-NUCLEO-53L1A2 laiendusplaat – katkestuskonfiguratsioonid

UM2606
Kasutusjuhend

IOTA hajutatud pearaamatu kasutamise alustamine
Tehnoloogia tarkvara laiendus STM32Cube'i jaoks

Sissejuhatus

The X-CUBE-IOTA1 laiendustarkvarapakett STM32 Cube töötab STM32-l ja sisaldab vahevara IOTA hajutatud pearaamatu tehnoloogia (DLT) funktsioonide võimaldamiseks.
IOTA DLT on asjade interneti (IoT) tehingute arveldus- ja andmeedastuskiht. IOTA võimaldab inimestel ja masinatel kanda raha ja/või andmeid ilma tehingutasudeta usaldusväärses, lubadeta ja detsentraliseeritud keskkonnas. See tehnoloogia võimaldab isegi mikromakseid teha, ilma et oleks vaja mingit usaldusväärset vahendajat. Laiendus põhineb STM32Cube'i tarkvaratehnoloogial, et hõlbustada kaasaskantavust erinevate STM32 mikrokontrollerite vahel. Tarkvara praegune versioon töötab seadmel B-L4S5I-IOT01A IoT-sõlme avastuskomplekt ja loob Interneti-ühenduse lisatud Wi-Fi-liidese kaudu.

SEOTUD LINGID

Külastage STM32Cube'i ökosüsteemi web leheküljel www.st.com lisateabe saamiseks
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

Akronüümid ja lühendid

Tabel 1. Akronüümide loend

Akronüüm Kirjeldus
DLT Hajutatud pearaamatu tehnoloogia
IDE Integreeritud arenduskeskkond
IoT Asjade Internet
PoW Töötõestus

X-CUBE-IOTA1 tarkvaralaiendus STM32Cube'i jaoks

Läbiview

The X-CUBE-IOTA1 tarkvarapakett laieneb STM32 Cube funktsionaalsus järgmiste põhifunktsioonidega:

  • Täielik püsivara IOTA DLT rakenduste loomiseks STM32-põhistele plaatidele
  • Vahevara raamatukogud, mis sisaldavad:
    - FreeRTOS
    - Wi-Fi haldus
    - krüptimine, räsimine, sõnumite autentimine ja digitaalne allkirjastamine (Cryptolib)
    - transporditaseme turvalisus (MbedTLS)
    – IOTA kliendi API Tangle'iga suhtlemiseks
  • Täielik draiver liikumis- ja keskkonnaanduritele ligipääsevate rakenduste loomiseks
  • Exampsee aitab mõista, kuidas IOTA DLT kliendirakendust arendada
  • Tänu STM32Cube'ile on lihtne kaasaskantavus erinevate MCU perekondade vahel
  • Tasuta kasutajasõbralikud litsentsitingimused

Tarkvaralaiendus pakub vahevara IOTA DLT lubamiseks STM32 mikrokontrolleril. IOTA DLT on asjade interneti (IoT) tehingute arveldus- ja andmeedastuskiht. IOTA võimaldab inimestel ja masinatel edastada raha ja/või andmeid ilma tehingutasudeta usaldusväärses, lubadeta ja detsentraliseeritud keskkonnas. See tehnoloogia võimaldab isegi mikromakseid teha, ilma et oleks vaja mingit usaldusväärset vahendajat.

IOTA 1.0

Distributed Ledger Technologies (DLT-d) on üles ehitatud sõlmevõrgule, mis haldab hajutatud pearaamatut, mis on tehingute salvestamiseks krüptograafiliselt kaitstud hajutatud andmebaas. Sõlmed väljastavad tehinguid konsensusprotokolli kaudu.
IOTA on hajutatud pearaamatu tehnoloogia, mis on spetsiaalselt loodud asjade Interneti jaoks.
IOTA hajutatud pearaamatut nimetatakse puntraks ja see luuakse IOTA võrgu sõlmede poolt väljastatud tehingutega.
Tehingu avaldamiseks puntras peab sõlm:

  1. kinnitada kaks kinnitamata tehingut, mida nimetatakse jootrahaks
  2. luua ja allkirjastada uus tehing
  3. täitma piisavat töötõendit
  4. edastada uus tehing IOTA võrku

Tehing on puntrasse kinnitatud koos kahe viitega kinnitatud tehingutele.
Seda struktuuri saab modelleerida suunatud atsüklilise graafina, kus tipud esindavad üksikuid tehinguid ja servad viitavad tehingupaaridele.
Genesis tehing on sasipuntra juur ja sisaldab kõiki saadaolevaid IOTA märke, mida nimetatakse ioteks.
IOTA 1.0 kasutab üsna ebatavalist kolmikesindusel põhinevat juurutusmeetodit: IOTA iga elementi kirjeldatakse bittide asemel trits = -1, 0, 1 ja baitide asemel 3 tritti. Tryte kujutatakse täisarvuna vahemikus -13 kuni 13, mis on kodeeritud tähtede (AZ) ja numbriga 9.
IOTA 1.5 (Chrysalis) asendab kolmeosalise tehingupaigutuse binaarstruktuuriga.
IOTA võrk sisaldab sõlmi ja kliente. Sõlm on ühendatud võrgu eakaaslastega ja salvestab sasipuntra koopia. Klient on seade, millel on aadresside ja allkirjade loomiseks mõeldud seeme.
Klient loob ja allkirjastab tehingud ning saadab need sõlme, et võrk saaks neid valideerida ja salvestada. Väljavõtmise tehingud peavad sisaldama kehtivat allkirja. Kui tehing loetakse kehtivaks, lisab sõlm selle oma pearaamatusse, värskendab mõjutatud aadresside saldosid ja edastab tehingu oma naabritele.

IOTA 1.5 – krüsal

IOTA Foundationi eesmärk on optimeerida IOTA põhivõrku enne Coordicide'i ja pakkuda IOTA ökosüsteemi jaoks ettevõtte jaoks valmis lahendust. See saavutatakse Chrysalis nimelise vahepealse värskendusega. Chrysalise peamised uuendused on järgmised:

  • Korduvkasutatavad aadressid: allkirjaskeemi Ed25519 kasutuselevõtt, mis asendab Winternitzi ühekordse allkirja skeemi (W-OTS), võimaldab kasutajatel mitu korda turvaliselt samalt aadressilt märke saata;
  • Enam pole kimpe: IOTA 1.0 kasutab ülekannete loomiseks kimpude kontseptsiooni. Kimbud on tehingute kogum, mis on omavahel seotud nende juurviide (pagasiruumi) kaudu. IOTA 1.5 värskendusega eemaldatakse vana komplekti konstruktsioon ja asendatakse lihtsamate Atomici tehingutega. Tangle tippu esindab sõnum, mis on omamoodi konteiner, millel võib olla suvaline kasulik koormus (st Token payload või Indexation payload);
  • UTXO mudel: algselt kasutas IOTA 1.0 üksikute IOTA märkide jälgimiseks kontopõhist mudelit: iga IOTA aadress sisaldas teatud arvu märke ja kõikide IOTA aadresside märkide koondarv oli võrdne kogupakkumisega. Selle asemel kasutab IOTA 1.5 kulutamata tehingute väljundmudelit ehk UTXO, mis põhineb ideel jälgida kulutamata žetoonide kogust andmestruktuuri kaudu, mida nimetatakse väljundiks;
  • Kuni 8 vanemat: IOTA 1.0 puhul pidite alati viitama kahele vanematehingule. Chrysalise puhul võetakse kasutusele suurem arv viidatud vanemsõlmesid (kuni 2). Parimate tulemuste saavutamiseks on soovitatav korraga vähemalt 8 ainulaadset vanemat.

SEOTUD LINGID
Chrysalise kohta lisateabe saamiseks vaadake seda dokumentatsiooni lehte

Töötõestus

IOTA-protokoll kasutab võrgu kiiruse piiramiseks vahendina töötõendit.
IOTA 1.0 kasutas Curl-P-81 kolmikräsifunktsioon ja vajas Tangle'ile tehingu väljastamiseks räsi, mille lõpus on null-tritid.
Chrysalisega on võimalik väljastada suvalise suurusega binaarsõnumeid. See RFC kirjeldab, kuidas kohandada olemasolevat PoW mehhanismi uutele nõuetele. Selle eesmärk on praegust volituste mehhanismi võimalikult vähem häirida.

Arhitektuur

See STM32Cube'i laiendus võimaldab arendada rakendusi, mis pääsevad juurde IOTA DLT vahevarale ja kasutavad seda.
See põhineb STM32 mikrokontrolleri riistvaralisel abstraktsioonikihil STM32CubeHAL ja laiendab STM32Cube'i spetsiaalse plaadi tugipaketiga (BSP) mikrofoni laiendusplaadi jaoks ja vahevara komponente heli töötlemiseks ja USB-suhtluseks arvutiga.
Rakendustarkvara mikrofoni laiendusplaadile juurdepääsuks ja selle kasutamiseks kasutatavad tarkvarakihid on järgmised:

  • STM32Cube HAL kiht: pakub üldist, mitme eksemplari API-de komplekti, et suhelda ülemiste kihtidega (rakendus, teegid ja virnad). See koosneb üldistest ja laiendusliidestest, mis põhinevad ühisel arhitektuuril, mis võimaldab teistel kihtidel, näiteks vahevarakihil, töötada ilma konkreetsete mikrokontrolleriüksuse (MCU) riistvarakonfiguratsioonita. See struktuur parandab raamatukogu koodi korduvkasutatavust ja tagab seadme hõlpsa kaasaskantavuse.
  • Board Support Package (BSP) kiht: on API-de komplekt, mis pakub programmeerimisliidest teatud plaadispetsiifiliste välisseadmete jaoks (LED, kasutajanupp jne). See liides aitab tuvastada ka konkreetse plaadi versiooni ning toetab vajalike MCU välisseadmete lähtestamist ja andmete lugemist.

Joonis 1. X-CUBE-IOTA1 tarkvara arhitektuur

X-CUBE-IOTA1 laiendustarkvarapakett -- X-CUBE-IOTA1 laiendus

Kausta struktuur

Joonis 2. X-CUBE-IOTA1 kausta struktuurX-CUBE-IOTA1 laiendustarkvarapakett – kausta struktuur

Tarkvarapaketti kuuluvad järgmised kaustad:

  • Dokumentatsioon: sisaldab kompileeritud HTML-i file mis on loodud tarkvarakomponentide ja API-de lähtekoodist ja üksikasjalikust dokumentatsioonist
  • Draiverid: sisaldab HAL-draivereid ja plaadispetsiifilisi draivereid toetatud plaadi- ja riistvaraplatvormide jaoks, sealhulgas pardakomponentide jaoks ja CMSIS-i müüjast sõltumatu riistvaraabstraktsioonikiht ARM® Cortex®-M protsessorite seeria jaoks.
  • Vahevara: sisaldab FreeRTOS-i sisaldavaid teeke; Wi-Fi haldamine; krüpteerimine, räsimine, sõnumite autentimine ja digitaalne allkirjastamine (Cryptolib); transporditaseme turvalisus (MbedTLS); IOTA kliendi API Tangle'iga suhtlemiseks
  • Projektid: sisaldab ntampaitab teil arendada IOTA DLT-kliendirakendust toetatud STM32-põhise platvormi jaoks (B-L4S5I-IOT01A), millel on kolm arenduskeskkonda, IAR Embedded Workbench for ARM (EWARM), RealView Mikrokontrolleri arenduskomplekt (MDK-ARM) ja STM32CubeIDE
API

Üksikasjalik tehniline teave koos täieliku kasutaja API funktsiooni ja parameetrite kirjeldusega on koostatud HTML-is file kaustas "Dokumentatsioon".

IOTA-kliendi rakenduse kirjeldus

Projekt fileIOTA-kliendi rakenduse s-id leiate: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Ehitusvalmis projektid on saadaval mitme IDE jaoks.
Kasutajaliides on saadaval jadapordi kaudu ja see tuleb konfigureerida järgmiste sätetega:

Joonis 3. Tera Term – terminali seadistamineX-CUBE-IOTA1 laiendustarkvarapakett – jadapordi seadistamine

Joonis 4. Tera Term – jadapordi seadistamineX-CUBE-IOTA1 laiendustarkvarapakett – terminali seadistamine

Rakenduse käivitamiseks järgige allolevat protseduuri.
1. samm. Avage jadaterminal, et visualiseerida sõnumite logi.
2. samm. Sisestage oma Wi-Fi võrgu konfiguratsioon (SSID, turvarežiim ja parool).
3. samm. Määrake TLS-i juur-CA sertifikaadid.
4. samm. Kopeerige ja kleepige faili Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem sisu. Seade kasutab neid kaughostide autentimiseks TLS-i kaudu.

Märkus. Pärast parameetrite seadistamist saate neid muuta, taaskäivitades plaadi ja vajutades 5 sekundi jooksul nuppu Kasutaja (sinine nupp). Need andmed salvestatakse välkmällu.

Joonis 5. Wi-Fi parameetrite seaded

X-CUBE-IOTA1 laiendustarkvarapakett – Wi-Fi parameetrite seaded5. samm. Oodake, kuni ilmub teade "Jätkamiseks vajutage suvalist klahvi". Seejärel värskendatakse ekraani põhifunktsioonide loendiga:

  • Saatke üldine indekseerimissõnum
  • Saatke indekseerimisanduri teade (sh timestamp, temperatuur ja niiskus)
  • Hankige tasakaal
  • Saada tehing
  • Muud funktsioonid

Joonis 6. Peamenüü
X-CUBE-IOTA1 laiendustarkvarapakett – peamenüü

6. samm. Valige suvand 3, et testida ühte järgmistest funktsioonidest.

Hankige sõlme teave Hankige näpunäiteid
Hankige väljund Väljundid aadressilt
Hankige tasakaal Vastuse viga
Hankige sõnum Saada sõnum
Leia sõnum Testi rahakott
Sõnumi koostaja Testi krüpto

Joonis 7. Muud funktsioonidX-CUBE-IOTA1 laiendustarkvarapakett – muud funktsioonid

SEOTUD LINGID
Lisateavet IOTA 1.5 funktsioonide kohta leiate IOTA C kliendi dokumentatsioonist

Süsteemi seadistamise juhend

Riistvara kirjeldus
STM32L4+ avastuskomplekti asjade Interneti-sõlm

IoT-sõlme avastuskomplekt B-L4S5I-IOT01A võimaldab teil arendada rakendusi, et luua otsene ühendus pilveserveritega.
Discovery komplekt võimaldab laias valikus rakendusi, kasutades ära vähese energiatarbega sidet, mitmesuunalist andurit ja ARM®Cortex® -M4+ tuumapõhiseid STM32L4+ seeria funktsioone.
See toetab Arduino Uno R3 ja PMOD-ühenduvust, pakkudes piiramatuid laiendusvõimalusi suure valiku spetsiaalsete lisaplaatidega.

Joonis 8. B-L4S5I-IOT01A avastuskomplektX-CUBE-IOTA1 laiendustarkvarapakett B-L4S5I-IOT01A Discovery ki

Riistvara seadistamine

Vaja on järgmisi riistvarakomponente:

  1. üks STM32L4+ Discovery komplekt Wi-Fi liidesega IoT sõlme jaoks (tellimiskood: B-L4S5I-IOT01A)
  2. USB-tüüpi A–Mini-B USB-tüüpi B-kaablit STM32 avastusplaadi ühendamiseks arvutiga
Tarkvara seadistamine

B-L4S5I-IOT01A jaoks IOTA DLT rakenduste loomiseks mõeldud arenduskeskkonna seadistamiseks on vaja järgmisi tarkvarakomponente:

  • X-CUBE-IOTA1: püsivara ja sellega seotud dokumentatsioon on saadaval saidil st.com
  • arendustööriistahel ja kompilaator: STM32Cube'i laiendustarkvara toetab järgmisi keskkondi:
    – IAR-i sisseehitatud töölaud ARM ® (EWARM) tööriistaahela jaoks + ST-LINK/V2
    – TõelineView Mikrokontrolleri arenduskomplekti (MDK-ARM) tööriistaahel + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
Süsteemi seadistamine

B-L4S5I-IOT01A Discovery plaat võimaldab kasutada IOTA DLT funktsioone. Tahvel integreerib siluri/programmeerija ST-LINK/V2-1. ST-LINK/V2-1 USB-draiveri vastava versiooni saate alla laadida aadressilt STSW-LINK009.

Läbivaatamise ajalugu

Tabel 2. Dokumendi redaktsioonide ajalugu

Kuupäev Läbivaatamine Muudatused
13. juuni 19 1 Esialgne vabastamine
18. juuni 19 2 Värskendatud jaotis 3.4.8.1 TX_IN ja TX_OUT, jaotis 3.4.8.3 Andmete saatmine nullväärtuse kaudu
tehingud ja jaotis 3.4.8.4 Raha saatmine ülekandetehingute kaudu.
6. mai-21. mai 3 Värskendatud sissejuhatus, 1. jagu Akronüümid ja lühendid, jaotis 2.1 Üleview, Jaotis 2.1.1 IOTA 1.0, Jaotis 2.1.3 Töötõestus, Jaotis 2.2 Arhitektuur, Jaotis 2.3 Kausta struktuur, Jaotis 3.2 Riistvara seadistamine, Jaotis 3.3 Tarkvara häälestus ja Jaotis 3.4 Süsteemi häälestus.
Eemaldatud jaotis 2 ja asendatud lingiga sissejuhatuses.
Eemaldatud jaotis 3.1.2 Tehingud ja paketid, jaotis 3.1.3 Konto ja allkirjad, jaotis
3.1.5 Räsimine. Jaotis 3.4 Kuidas kirjutada rakendusi ja seotud alajaotisi, jaotis 3.5 IOTALightNode rakenduse kirjeldus ja seotud alajaotised ning jaotis 4.1.1 STM32
Nucleo platvorm Lisatud jaotis 2.1.2IOTA 1.5 – Chrysalis, jaotis 2.5 IOTA-kliendi rakenduse kirjeldus, jaotis 2.4 API ja jaotis 3.1.1 STM32L4+ Discovery kit IoT sõlm.

 

TÄHTIS TEADE - PALUN LOE Hoolikalt

STMicroelectronics NV ja selle tütarettevõtted (ST) jätavad endale õiguse teha ST-toodete ja / või selle dokumendi muudatusi, parandusi, täiendusi, muudatusi ja täiustusi igal ajal ilma ette teatamata. Ostjad peaksid enne tellimuste tegemist hankima uusimat asjakohast teavet ST-toodete kohta. ST tooteid müüakse vastavalt ST müügitingimustele, mis kehtivad tellimuse kinnitamise ajal.

ST-toodete valiku, valiku ja kasutamise eest vastutavad ainult ostjad ning ST ei vastuta rakenduste abistamise ega ostjate toodete kujundamise eest.
ST ei anna siinkohal mingit otsest ega kaudset litsentsi ühelegi intellektuaalomandi õigusele.
ST-toodete edasimüük, mille sätted erinevad siin esitatud teabest, tühistab ST-i antud tootele antud garantii.
ST ja ST logo on ST kaubamärgid. ST-kaubamärkide kohta lisateabe saamiseks külastage veebisaiti www.st.com/trademarks. Kõik muud toote- või teenusenimed kuuluvad nende vastavatele omanikele.
Selles dokumendis sisalduv teave asendab ja asendab selle dokumendi varasemates versioonides esitatud teabe.
© 2021 STMicroelectronics – kõik õigused kaitstud

Dokumendid / Ressursid

ST X-CUBE-IOTA1 laiendustarkvarapakett STM32Cube'i jaoks [pdfKasutusjuhend
ST, X-CUBE-IOTA1, laiendus, tarkvarapakett, jaoks, STM32Cube

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *