UM2606
Gebruikershandleiding
Aan die gang met die IOTA-verspreide grootboek
Tegnologie sagteware uitbreiding vir STM32Cube
Inleiding
Die X-CUBE-IOTA1 uitbreiding sagteware pakket vir STM32 Kubus loop op die STM32 en sluit middelware in om die IOTA Distributed Ledger Technology (DLT) funksies te aktiveer.
Die IOTA DLT is 'n transaksie-afrekening en data-oordraglaag vir die Internet van Dinge (IoT). IOTA laat mense en masjiene toe om geld en/of data oor te dra sonder enige transaksiefooie in 'n vertrouelose, toestemminglose en gedesentraliseerde omgewing. Hierdie tegnologie maak selfs mikro-betalings moontlik sonder die behoefte van 'n betroubare tussenganger van enige aard. Die uitbreiding is gebou op STM32Cube-sagtewaretegnologie om oordraagbaarheid oor verskillende STM32mikrobeheerders te vergemaklik. Die huidige weergawe van die sagteware loop op die B-L4S5I-IOT01A Discovery kit vir IoT node en koppel aan die internet deur die aangehegte Wi-Fi koppelvlak.
VERWANTE SKAKELS
Besoek die STM32Cube-ekosisteem web bladsy op www.st.com vir verdere inligting
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
Akronieme en afkortings
Tabel 1. Lys van akronieme
Akroniem | Beskrywing |
DLT | Verspreide grootboek tegnologie |
IDE | Geïntegreerde ontwikkelings omgewing |
IoT | Internet van dinge |
PoW | Bewys-van-werk |
X-CUBE-IOTA1 sagteware-uitbreiding vir STM32Cube
verbyview
Die X-CUBE-IOTA1 sagteware pakket brei uit STM32 Kubus funksionaliteit met die volgende sleutelkenmerke:
- Voltooi firmware om IOTA DLT-toepassings vir STM32-gebaseerde borde te bou
- Middelware biblioteke met:
– FreeRTOS
- Wi-Fi bestuur
- enkripsie, hashing, boodskapverifikasie en digitale ondertekening (Cryptolib)
– vervoervlak sekuriteit (MbedTLS)
- IOTA Client API vir interaksie met die Tangle - Voltooi bestuurder om toepassings te bou wat toegang tot beweging- en omgewingsensors kry
- Examples om te help verstaan hoe om 'n IOTA DLT-kliënttoepassing te ontwikkel
- Maklike oordraagbaarheid oor verskillende MCU-families, danksy STM32Cube
- Gratis, gebruikersvriendelike lisensiebepalings
Die sagteware-uitbreiding verskaf die middelware om die IOTA DLT op 'n STM32-mikrobeheerder te aktiveer. Die IOTA DLT is 'n transaksie-afrekening en data-oordraglaag vir die Internet van Dinge (IoT). IOTA laat mense en masjiene toe om geld en/of data oor te dra sonder enige transaksiefooie in 'n vertrouelose, toestemminglose en gedesentraliseerde omgewing. Hierdie tegnologie maak selfs mikro-betalings moontlik sonder die behoefte van 'n betroubare tussenganger van enige aard.
IOTA 1.0
Verspreide grootboektegnologieë (DLT's) is gebou op 'n nodusnetwerk wat 'n verspreide grootboek byhou, wat 'n kriptografies beveiligde, verspreide databasis is om transaksies aan te teken. Nodusse reik transaksies uit deur 'n konsensusprotokol.
IOTA is 'n verspreide grootboek tegnologie spesifiek ontwerp vir IoT.
Die IOTA-verspreide grootboek word die warboel genoem en word geskep deur die transaksies wat deur die nodusse in die IOTA-netwerk uitgereik word.
Om 'n transaksie in die warboel te publiseer, moet 'n nodus:
- bevestig twee nie-goedgekeurde transaksies genaamd wenke
- skep en onderteken die nuwe transaksie
- voldoende bewys van werk te verrig
- saai die nuwe transaksie na die IOTA-netwerk uit
Die transaksie is aan die warboel geheg tesame met twee verwysings wat na die gevalideerde transaksies wys.
Hierdie struktuur kan gemodelleer word as 'n gerigte asikliese grafiek, waar die hoekpunte enkele transaksies verteenwoordig en die rande verteenwoordig verwysings tussen pare transaksies.
'n Genesistransaksie is by die warboelwortel en sluit al die beskikbare IOTA-tokens in, genoem iotas.
IOTA 1.0 gebruik 'n taamlik onkonvensionele implementeringsbenadering gebaseer op drievoudige voorstelling: elke element in IOTA word beskryf met behulp van trits = -1, 0, 1 in plaas van bisse, en trytes van 3 trits in plaas van grepe. 'n Tryte word voorgestel as 'n heelgetal van -13 tot 13, geënkodeer met letters (AZ) en nommer 9.
IOTA 1.5 (Chrysalis) vervang die drievoudige transaksie-uitleg met 'n binêre struktuur.
Die IOTA-netwerk sluit nodusse en kliënte in. 'n Nodus word aan eweknieë in die netwerk gekoppel en stoor 'n kopie van die warboel. 'n Kliënt is 'n toestel met 'n saad wat gebruik moet word om adresse en handtekeninge te skep.
Die kliënt skep en onderteken transaksies en stuur dit na die nodus sodat die netwerk dit kan valideer en stoor. Onttrekkingstransaksies moet 'n geldige handtekening bevat. Wanneer 'n transaksie as geldig beskou word, voeg die nodus dit by sy grootboek, werk die saldo's van die geaffekteerde adresse op en saai die transaksie na sy bure uit.
IOTA 1.5 – Chrysalis
Die doel van die IOTA-stigting is om die IOTA-hoofnet voor Coordicide te optimaliseer en om 'n onderneming-gereed oplossing vir die IOTA-ekosisteem te bied. Dit word bereik deur 'n tussentydse opdatering genaamd Chrysalis. Die belangrikste opgraderings wat deur Chrysalis ingestel is, is:
- Herbruikbare adresse: die aanvaarding van die Ed25519-handtekeningskema, wat die Winternitz eenmalige handtekeningskema (W-OTS) vervang, stel die gebruikers in staat om verskeie kere tokens veilig vanaf dieselfde adres te stuur;
- Nie meer bondels nie: IOTA 1.0 gebruik die konsep van bondels om oordragte te skep. Bundels is 'n stel transaksies wat aan mekaar gekoppel is deur hul wortelverwysing (stam). Met die IOTA 1.5-opdatering word die ou bondelkonstruksie verwyder en vervang deur die eenvoudiger Atomic-transaksies. Die Tangle hoekpunt word verteenwoordig deur die Boodskap wat 'n soort houer is wat arbitrêre loonvragte kan hê (bv. Token loonvrag of Indeksasie loonvrag);
- UTXO-model: oorspronklik het IOTA 1.0 'n rekeninggebaseerde model gebruik om individuele IOTA-tokens op te spoor: elke IOTA-adres het 'n aantal tokens gehad en die saamgestelde aantal tokens van alle IOTA-adresse was gelyk aan die totale aanbod. In plaas daarvan gebruik IOTA 1.5 die onbestede transaksie-uitsetmodel, of UTXO, gebaseer op die idee om onbestede hoeveelhede tokens op te spoor via 'n datastruktuur genaamd uitset;
- Tot 8 Ouers: met IOTA 1.0 moes jy altyd na 2 ouertransaksies verwys. Met Chrysalis word 'n groter aantal verwysde ouernodusse (tot 8) bekendgestel. Om die beste resultate te verkry, word ten minste 2 unieke ouers op 'n slag aanbeveel.
VERWANTE SKAKELS
Vir meer inligting oor Chrysalis, verwys asseblief na hierdie dokumentasiebladsy
Bewys-van-werk
Die IOTA-protokol gebruik Proof-of-Work as 'n manier om die netwerk te koersbeperk.
IOTA 1.0 het die Curl-P-81 drievoudige hash-funksie en vereis 'n hash met die ooreenstemmende aantal agterste nul trits om 'n transaksie aan die Tangle uit te reik.
Met Chrysalis is dit moontlik om binêre boodskappe van arbitrêre grootte uit te reik. Hierdie RFC beskryf hoe om die bestaande PoW-meganisme aan te pas by die nuwe vereistes. Dit poog om die huidige PoW-meganisme so minder as moontlik te ontwrig.
Argitektuur
Hierdie STM32Cube-uitbreiding maak die ontwikkeling van toepassings moontlik wat toegang tot en gebruik van die IOTA DLT-middelware.
Dit is gebaseer op die STM32CubeHAL hardeware-abstraksielaag vir die STM32-mikrobeheerder en brei STM32Cube uit met 'n spesifieke bordondersteuningspakket (BSP) vir die mikrofoonuitbreidingsbord en middelwarekomponente vir oudioverwerking en USB-kommunikasie met 'n rekenaar.
Die sagtewarelae wat deur die toepassingsagteware gebruik word om toegang tot die mikrofoonuitbreidingsbord te verkry en te gebruik, is:
- STM32Cube HAL-laag: bied 'n generiese, multi-instansie stel API's om met die boonste lae (die toepassing, biblioteke en stapels) te kommunikeer. Dit bestaan uit generiese en uitbreidings-API's wat gebaseer is op 'n algemene argitektuur wat ander lae soos die middelwarelaag toelaat om te funksioneer sonder spesifieke mikrobeheereenheid (MCU) hardeware konfigurasies. Hierdie struktuur verbeter biblioteekkode herbruikbaarheid en waarborg maklike toesteloordraagbaarheid.
- Board Support Package (BSP) laag: is 'n stel API's wat 'n programmeringskoppelvlak bied vir sekere bordspesifieke randapparatuur (LED, gebruikersknoppie, ens.). Hierdie koppelvlak help ook om die spesifieke bordweergawe te identifiseer en bied ondersteuning vir die inisialisering van vereiste MCU-randapparatuur en die lees van data.
Figuur 1. X-CUBE-IOTA1 sagteware argitektuur
Mapstruktuur
Figuur 2. X-CUBE-IOTA1-vouerstruktuur
Die volgende vouers is by die sagtewarepakket ingesluit:
- Dokumentasie: bevat 'n saamgestelde HTML file gegenereer uit die bronkode en gedetailleerde dokumentasie van die sagtewarekomponente en API's
- Bestuurders: bevat die HAL-drywers en die bordspesifieke drywers vir ondersteunde bord- en hardewareplatforms, insluitend dié vir die boordkomponente en die CMSIS-verskaffer-onafhanklike hardeware-abstraksielaag vir die ARM® Cortex®-M verwerkerreeks
- Middelware: bevat biblioteke met FreeRTOS; Wi-Fi bestuur; enkripsie, hashing, boodskapverifikasie en digitale ondertekening (Cryptolib); vervoervlaksekuriteit (MbedTLS); IOTA Client API om met die Tangle te kommunikeer
- Projekte: bevat examples om jou te help om 'n IOTA DLT-kliënttoepassing te ontwikkel vir die ondersteunde STM32-gebaseerde platform (B-L4S5I-IOT01A), met drie ontwikkelingsomgewings, IAR Embedded Workbench for ARM (EWARM), RealView Mikrobeheerder-ontwikkelingskit (MDK-ARM) en STM32CubeIDE
API
Gedetailleerde tegniese inligting met volledige gebruikers-API-funksie en parameterbeskrywing is in 'n saamgestelde HTML file in die "Dokumentasie"-lêergids.
IOTA-kliënt aansoek beskrywing
Die projek files vir die IOTA-kliënt-toepassing kan gevind word in: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Gereed-vir-bou-projekte is beskikbaar vir verskeie IDE's.
Die gebruikerskoppelvlak word via seriële poort verskaf en moet met die volgende instellings gekonfigureer word:
Figuur 3. Tera Term – Terminale opstelling
Figuur 4. Tera Term – Seriële poort opstelling
Om die toepassing te laat loop, volg die prosedure hieronder.
Stap 1. Maak 'n reeksterminaal oop om die log van boodskappe te visualiseer.
Stap 2. Voer jou Wi-Fi-netwerkkonfigurasie in (SSID, sekuriteitsmodus en wagwoord).
Stap 3. Stel die TLS-wortel CA-sertifikate.
Stap 4. Kopieer en plak die inhoud van Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Die toestel gebruik hulle om die afgeleë gashere deur TLS te verifieer.
Let wel: Nadat u die parameters gekonfigureer het, kan u dit verander deur die bord te herbegin en die gebruikerknoppie (blou knoppie) binne 5 sekondes te druk. Hierdie data sal in die Flash-geheue gestoor word.
Figuur 5. Wi-Fi parameter instellings
Stap 5. Wag totdat die boodskap "Druk enige sleutel om voort te gaan" verskyn. Die skerm word dan verfris met die lys van die hooffunksies:
- Stuur 'n generiese indekseringsboodskap
- Stuur 'n indekseringsensorboodskap (insluitend tydstipamp, temperatuur en humiditeit)
- Kry balans
- Stuur transaksie
- Ander funksies
Figuur 6. Hoofkieslys
Stap 6. Kies opsie 3 om een van die volgende funksies te toets:
Kry nodus inligting | Kry wenke |
Kry uitset | Uitsette vanaf adres |
Kry balans | Antwoordfout |
Kry boodskap | Stuur boodskap |
Soek boodskap | Toets beursie |
Boodskap bouer | Toets kripto |
Figuur 7. Ander funksies
VERWANTE SKAKELS
Vir verdere besonderhede oor IOTA 1.5-funksies, verwys na die IOTA C-kliëntdokumentasie
Stelsel opstel gids
Hardeware beskrywing
STM32L4+ Discovery kit IoT nodus
Die B-L4S5I-IOT01A Discovery kit vir IoT node laat jou toe om toepassings te ontwikkel om direk aan wolkbedieners te koppel.
Die Discovery-stel maak 'n wye verskeidenheid toepassings moontlik deur laekragkommunikasie, multi-rigting-waarneming en ARM®Cortex® -M4+ kerngebaseerde STM32L4+-reekskenmerke te benut.
Dit ondersteun Arduino Uno R3 en PMOD-konneksie wat onbeperkte uitbreidingsvermoëns bied met 'n groot keuse van toegewyde byvoegingsborde.
Figuur 8. B-L4S5I-IOT01A Discovery kit
Hardeware opstelling
Die volgende hardeware komponente word benodig:
- een STM32L4+ Discovery-stel vir IoT-nodus toegerus met Wi-Fi-koppelvlak (bestelkode: B-L4S5I-IOT01A)
- 'n USB tipe A tot Mini-B USB Tipe B-kabel om die STM32-ontdekkingsbord aan die rekenaar te koppel
Sagteware opstelling
Die volgende sagtewarekomponente is nodig om die ontwikkelingsomgewing op te stel vir die skep van IOTA DLT-toepassings vir die B-L4S5I-IOT01A:
- X-CUBE-IOTA1: fermware en verwante dokumentasie is beskikbaar op st.com
- ontwikkelingshulpmiddelketting en samesteller: die STM32Cube uitbreidingsagteware ondersteun die volgende omgewings:
– IAR Embedded Workbench vir ARM ® (EWARM) gereedskapketting + ST-LINK/V2
– WerklikView Mikrobeheerder-ontwikkelingskit (MDK-ARM) gereedskapketting + ST-LINK/V2
– STM32CubeIDE + ST-LINK/V2
Stelsel opstelling
Die B-L4S5I-IOT01A Discovery-bord laat die ontginning van die IOTA DLT-kenmerke toe. Die bord integreer die ST-LINK/V2-1 ontfouter/programmeerder. Jy kan die relevante weergawe van die ST-LINK/V2-1 USB-bestuurder by STSW-LINK009 aflaai.
Hersieningsgeskiedenis
Tabel 2. Dokumenthersieningsgeskiedenis
Datum | Hersiening | Veranderinge |
13 Junie 19 | 1 | Aanvanklike vrystelling |
18 Junie 19 | 2 | Opgedateer Afdeling 3.4.8.1 TX_IN en TX_OUT, Afdeling 3.4.8.3 Stuur data deur nul-waarde transaksies en Afdeling 3.4.8.4 Stuur fondse deur oordragtransaksies. |
6-Mei-21 | 3 | Opgedateerde Inleiding, Afdeling 1 Akronieme en afkortings, Afdeling 2.1 Oorview, Afdeling 2.1.1 IOTA 1.0, Afdeling 2.1.3 Bewys-van-werk, Afdeling 2.2 Argitektuur, Afdeling 2.3 gidsstruktuur, Afdeling 3.2 Hardeware-opstelling, Afdeling 3.3 Sagteware-opstelling en Afdeling 3.4 Stelselopstelling. Verwyder Afdeling 2 en vervang deur 'n skakel in die Inleiding. Verwyder Afdeling 3.1.2 Transaksies en bondels, Afdeling 3.1.3 Rekening en handtekeninge, Afdeling 3.1.5 Hashing. Afdeling 3.4 Hoe om aansoeke en verwante sub-afdelings te skryf, Afdeling 3.5 IOTALightNode aansoekbeskrywing en verwante subafdelings, en Afdeling 4.1.1 STM32 Nucleo platform Bygevoeg Afdeling 2.1.2IOTA 1.5 – Chrysalis, Afdeling 2.5 IOTA-kliënt toepassing beskrywing, Afdeling 2.4 API en Afdeling 3.1.1 STM32L4+ Discovery kit IoT node. |
BELANGRIKE KENNISGEWING - LEES ASSEBLIEF SORGVULDIG
STMicroelectronics NV en sy filiale (“ST”) behou die reg voor om te eniger tyd sonder kennisgewing veranderinge, regstellings, verbeterings, wysigings en verbeterings aan ST-produkte en / of hierdie dokument aan te bring. Kopers moet die jongste relevante inligting oor ST-produkte bekom voordat hulle bestellings plaas. ST-produkte word verkoop op grond van die bepalings en voorwaardes van ST wat op die oomblik van bestelling erken word.
Kopers is uitsluitlik verantwoordelik vir die keuse, keuse en gebruik van ST-produkte en ST aanvaar geen aanspreeklikheid vir toepassingshulp of die ontwerp van kopersprodukte nie.
Geen lisensie, uitdruklik of geïmpliseer, tot enige intellektuele eiendomsreg word hierin deur ST toegestaan nie.
Herverkoop van ST-produkte met bepalings anders as die inligting wat hierin uiteengesit word, sal enige waarborg wat deur ST vir sodanige produk verleen word, nietig verklaar.
ST en die ST-logo is handelsmerke van ST. Vir bykomende inligting oor ST-handelsmerke, verwys asseblief na www.st.com/trademarks. Alle ander produk- of diensname is die eiendom van hul onderskeie eienaars.
Inligting in hierdie dokument vervang en vervang inligting wat voorheen in enige vorige weergawes van hierdie dokument verskaf is.
© 2021 STMicroelectronics – Alle regte voorbehou
Dokumente / Hulpbronne
![]() |
ST X-CUBE-IOTA1 Uitbreidingsprogrammatuurpakket vir STM32Cube [pdfGebruikershandleiding ST, X-CUBE-IOTA1, Uitbreiding, Sagtewarepakket, vir, STM32Cube |