ST X-NUCLEO-53L1A2 Utwreiding Board - Interrupt konfiguraasjes

UM2606
Brûkershânlieding

Te begjinnen mei de IOTA Distributed Ledger
Technology software útwreiding foar STM32Cube

Ynlieding

De X-CUBE-IOTA1 útwreiding software pakket foar STM32 Cube rint op de STM32 en omfettet middleware om de funksjes fan IOTA Distributed Ledger Technology (DLT) yn te skeakeljen.
De IOTA DLT is in transaksje-ôfdieling en gegevensoerdrachtlaach foar it Internet of Things (IoT). IOTA lit minsken en masines jild en/of gegevens oerdrage sûnder transaksjekosten yn in fertrouwenleaze, tastimmingleaze en desintralisearre omjouwing. Dizze technology makket sels mikrobetellingen mooglik sûnder de needsaak fan in fertroude tuskenpersoan fan hokker soart. De útwreiding is boud op STM32Cube-softwaretechnology om portabiliteit oer ferskate STM32microcontrollers makliker te meitsjen. De hjoeddeiske ferzje fan de software rint op de B-L4S5I-IOT01A Discovery kit foar IoT-knooppunt en ferbynt mei it ynternet fia de taheakke Wi-Fi-ynterface.

RELATED LINKS

Besykje it STM32Cube-ekosysteem web side op www.st.com foar fierdere ynformaasje
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

Acronyms en ôfkoartings

Tabel 1. List fan akronyms

Acronym Beskriuwing
DLT Ferspraat ledger technology
IDE Yntegreare ûntwikkelingsomjouwing
IoT Ynternet fan dingen
PoW Bewiis-fan-wurk

X-CUBE-IOTA1 software útwreiding foar STM32Cube

Oerview

De X-CUBE-IOTA1 software pakket wreidet út STM32 Cube funksjonaliteit mei de folgjende wichtige funksjes:

  • Folsleine firmware om IOTA DLT-applikaasjes te bouwen foar STM32-basearre boards
  • Middleware-biblioteken mei:
    - FreeRTOS
    - Wi-Fi behear
    - fersifering, hashing, berjochtferifikaasje, en digitale ûndertekening (Cryptolib)
    - feiligens op transportnivo (MbedTLS)
    - IOTA Client API foar ynteraksje mei de Tangle
  • Folsleine bestjoerder om applikaasjes te bouwen mei tagong ta bewegings- en miljeusensors
  • Examples om te helpen te begripen hoe't jo in IOTA DLT Client-applikaasje ûntwikkelje kinne
  • Maklike portabiliteit oer ferskate MCU-famyljes, tank oan STM32Cube
  • Fergees, brûkerfreonlike lisinsjebetingsten

De software-útwreiding leveret de middleware om de IOTA DLT op in STM32-mikrocontroller yn te skeakeljen. De IOTA DLT is in transaksje-ôfdieling en gegevensoerdrachtlaach foar it Internet of Things (IoT). IOTA lit minsken en masines jild en/of gegevens oerdrage sûnder transaksjekosten yn in fertrouwenleaze, tastimmingleaze en desintralisearre omjouwing. Dizze technology makket sels mikrobetellingen mooglik sûnder de needsaak fan in fertroude tuskenpersoan fan hokker soart.

IOTA 1.0

Distributed Ledger Technologies (DLT's) binne boud op in knooppuntnetwurk dat in ferdield ledger ûnderhâldt, dat is in kryptografysk befeilige, ferspraat databank om transaksjes op te nimmen. Knooppunten jouwe transaksjes út fia in konsensusprotokol.
IOTA is in ferspraat ledger technology spesifyk ûntworpen foar IoT.
De IOTA-ferspraat ledger wurdt de tangle neamd en wurdt makke troch de transaksjes útjûn troch de knopen yn it IOTA-netwurk.
Om in transaksje yn 'e tangel te publisearjen, moat in knooppunt:

  1. falidearje twa net goedkard transaksjes neamd tips
  2. meitsje en tekenje de nije transaksje
  3. útfiere genôch Proof-of-Work
  4. útstjoere de nije transaksje nei it IOTA netwurk

De transaksje is hechte oan 'e tangel tegearre mei twa ferwizings dy't ferwize nei de falidearre transaksjes.
Dizze struktuer kin wurde modeleare as in rjochte acyclyske grafyk, wêrby't de hoekpunten inkele transaksjes fertsjintwurdigje en de rânen fertsjintwurdigje referinsjes tusken pearen fan transaksjes.
In genesis transaksje is by de tangle woartel en omfettet alle beskikbere IOTA tokens, neamd iotas.
IOTA 1.0 brûkt in nochal unkonvinsjonele ymplemintaasje-oanpak basearre op trinêre fertsjintwurdiging: elk elemint yn IOTA wurdt beskreaun mei trits = -1, 0, 1 ynstee fan bits, en trytes fan 3 trits ynstee fan bytes. In tryte wurdt fertsjintwurdige as in hiel getal fan -13 oant 13, kodearre mei letters (AZ) en nûmer 9.
IOTA 1.5 (Chrysalis) ferfangt de trinêre transaksje-yndieling mei in binêre struktuer.
It IOTA-netwurk omfettet knooppunten en kliïnten. In knooppunt is ferbûn mei peers yn it netwurk en bewarret in kopy fan 'e tangel. In klant is in apparaat mei in sied dat wurdt brûkt om adressen en hantekeningen te meitsjen.
De kliïnt makket en tekenet transaksjes en stjoert se nei it knooppunt sadat it netwurk se falidearje en opslaan kin. Transaksjes weromlûke moatte in jildige hantekening befetsje. As in transaksje as jildich beskôge wurdt, foeget it knooppunt it ta oan syn ledger, fernijt de saldo's fan 'e troffen adressen en stjoert de transaksje út nei syn buorlju.

IOTA 1.5 - Chrysalis

It doel fan 'e IOTA-stifting is it IOTA-haadnet te optimalisearjen foar Coordicide en in oplossing foar bedriuwen te bieden foar it IOTA-ekosysteem. Dit wurdt berikt troch in tuskenlizzende update neamd Chrysalis. De wichtichste upgrades yntrodusearre troch Chrysalis binne:

  • Werbrûkbere adressen: it oannimmen fan it Ed25519-hântekeningskema, it ferfangen fan it Winternitz-ienkear-hântekeningskema (W-OTS), lit de brûkers ferskate kearen tokens fan itselde adres feilich stjoere;
  • Gjin bondels mear: IOTA 1.0 brûkt it konsept fan bondels om transfers te meitsjen. Bundels binne in set fan transaksjes dy't mei-inoar keppele binne troch har root-referinsje (trunk). Mei de IOTA 1.5-update wurdt it âlde bondelkonstruksje fuortsmiten en ferfongen troch de ienfâldiger Atomic transaksjes. De Tangle hoekpunt wurdt fertsjintwurdige troch it Berjocht dat is in soarte fan container dat kin hawwe willekeurich payloads (dat wol sizze, Token payload of Indexation payload);
  • UTXO-model: oarspronklik brûkte IOTA 1.0 in akkount-basearre model foar it folgjen fan yndividuele IOTA-tokens: elk IOTA-adres hie in oantal tokens en it aggregearre oantal tokens fan alle IOTA-adressen wie gelyk oan it totale oanbod. Ynstee brûkt IOTA 1.5 it unbestege transaksje-útfiermodel, of UTXO, basearre op it idee fan it folgjen fan net-bestege hoemannichten tokens fia in gegevensstruktuer neamd útfier;
  • Oant 8 âlders: mei IOTA 1.0 moasten jo altyd 2 âldertransaksjes ferwize. Mei Chrysalis wurdt in grutter oantal ferwiisde âlderknooppunten (oant 8) ynfierd. Om de bêste resultaten te krijen, wurde op syn minst 2 unike âlders tagelyk oanrikkemandearre.

RELATED LINKS
Foar mear ynformaasje oer Chrysalis, ferwize asjebleaft nei dizze dokumintaasjeside

Bewiis-fan-wurk

It IOTA-protokol brûkt Proof-of-Work as middel om it netwurk te beheinen.
IOTA 1.0 brûkte de Curl-P-81 trinary hash funksje en easke in hash mei it oerienkommende oantal slepende nul trits foar it útjaan fan in transaksje nei de Tangle.
Mei Chrysalis is it mooglik om binêre berjochten fan willekeurige grutte út te jaan. Dizze RFC beskriuwt hoe't jo it besteande PoW-meganisme oanpasse oan 'e nije easken. It is fan doel om sa minder mooglik fersteurend te wêzen foar it hjoeddeistige PoW-meganisme.

Boukunde

Dizze STM32Cube-útwreiding makket it ûntwikkeljen fan applikaasjes mooglik dy't tagong krije ta en gebrûk meitsje fan de IOTA DLT-middleware.
It is basearre op de STM32CubeHAL-hardwareabstraksjelaach foar de STM32-mikrocontroller en wreidet STM32Cube út mei in spesifyk board-stipepakket (BSP) foar it mikrofoan-útwreidingsboerd en middleware-komponinten foar audioferwurking en USB-kommunikaasje mei in PC.
De softwarelagen brûkt troch de tapassingssoftware om tagong te krijen ta en gebrûk te meitsjen fan it mikrofoan-útwreidingsboerd binne:

  • STM32Cube HAL-laach: jout in generyske set fan API's mei meardere eksimplaren om te ynteraksje mei de boppeste lagen (de applikaasje, bibleteken en stapels). It bestiet út generyske en útwreidings-API's basearre op in mienskiplike arsjitektuer wêrtroch oare lagen lykas de middleware-laach kinne funksjonearje sûnder spesifike hardwarekonfiguraasjes fan Microcontroller Unit (MCU). Dizze struktuer ferbetteret biblioteekkoade werbrûkberens en garandearret maklike portabiliteit fan apparaten.
  • Board Support Package (BSP) laach: is in set fan APIs dy't soarget foar in programmearring ynterface foar bepaalde board spesifike perifeare apparaten (LED, brûker knop ensfh). Dizze ynterface helpt ek by it identifisearjen fan de spesifike boerdferzje en leveret stipe foar it inisjalisearjen fan fereaske MCU-peripherapparaten en it lêzen fan gegevens.

figuer 1. X-CUBE-IOTA1 software arsjitektuer

X-CUBE-IOTA1 Utwreiding Software Package -- X-CUBE-IOTA1 Utwreiding

Mappen struktuer

figuer 2. X-CUBE-IOTA1 mapstruktuerX-CUBE-IOTA1 Utwreidingssoftwarepakket -- mapstruktuer

De folgjende mappen binne opnommen yn it softwarepakket:

  • Dokumintaasje: befettet in kompilearre HTML file generearre út de boarne koade en detaillearre dokumintaasje fan de software komponinten en APIs
  • Bestjoerders: befettet de HAL-bestjoerders en de boerdspesifike drivers foar stipe board- en hardwareplatfoarms, ynklusyf dy foar de onboard-komponinten en de CMSIS-ferkeaper-ûnôfhinklike hardwareabstraksjelaach foar de ARM® Cortex®-M-prosessor-searje
  • Middels: befettet biblioteken mei FreeRTOS; Wi-Fi behear; fersifering, hashing, berjocht autentikaasje, en digitale ûndertekening (Cryptolib); feiligens op transportnivo (MbedTLS); IOTA Client API om te ynteraksje mei de Tangle
  • Projekten: befettet eksamples om jo te helpen in IOTA DLT Client-applikaasje te ûntwikkeljen foar it stipe STM32-basearre platfoarm (B-L4S5I-IOT01A), mei trije ûntwikkelingsomjouwings, IAR Embedded Workbench foar ARM (EWARM), RealView Microcontroller Development Kit (MDK-ARM) en STM32CubeIDE
API

Detaillearre technyske ynformaasje mei folsleine brûker API funksje en parameter beskriuwing binne yn in kompilearre HTML file yn de map "Dokumintaasje".

IOTA-Client applikaasje beskriuwing

It projekt files foar de IOTA-Client-applikaasje is te finen yn: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Klaar te bouwen projekten binne beskikber foar meardere IDE's.
De brûkersynterface wurdt levere fia seriële poarte en moat wurde konfigureare mei de folgjende ynstellings:

figuer 3. Tera Term - Terminal opsetX-CUBE-IOTA1 Utwreidingssoftwarepakket - Serial port opset

figuer 4. Tera Term - Serial haven opsetX-CUBE-IOTA1 Utwreidingssoftwarepakket -- Terminal opset

Om de applikaasje út te fieren, folgje de proseduere hjirûnder.
Stap 1. Iepenje in seriële terminal om it log fan berjochten te visualisearjen.
Stap 2. Fier jo Wi-Fi-netwurkkonfiguraasje yn (SSID, Feiligensmodus en wachtwurd).
Stap 3. Stel de TLS root CA-sertifikaten yn.
Stap 4. Kopiearje en plakke de ynhâld fan Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. It apparaat brûkt se om de hosts op ôfstân te autentisearjen fia TLS.

Noat: Nei it konfigurearjen fan de parameters kinne jo se feroarje troch it bestjoer opnij te begjinnen en binnen 5 sekonden op de Brûkerknop (blauwe knop) te drukken. Dizze gegevens wurde bewarre yn it Flash-ûnthâld.

figuer 5. Wi-Fi parameter ynstellings

X-CUBE-IOTA1 Utwreidingssoftwarepakket -- Wi-Fi-parameterynstellingenStap 5. Wachtsje oant it berjocht "Druk op elke kaai om troch te gean" ferskynt. It skerm wurdt dan ferfarske mei de list mei de haadfunksjes:

  • Stjoer in generike yndeksearring berjocht
  • Stjoer in yndekssensorberjocht (ynklusyf timetamp, temperatuer en humiliteit)
  • Krij lykwicht
  • Ferstjoere Transaksje
  • Oare funksjes

figuer 6. Main menu
X-CUBE-IOTA1 Utwreidingssoftwarepakket -- Haadmenu

Stap 6. Kies opsje 3 om ien fan 'e folgjende funksjes te testen:

Krij node-ynformaasje Krij tips
Krij útfier Utgongen fan adres
Krij lykwicht Antwurd flater
Krij berjocht Stjoer berjocht
Sykje berjocht Test wallet
Berjocht bouwer Krypto-test

figuer 7. Oare funksjesX-CUBE-IOTA1 Utwreiding Software Package -Oare funksjes

RELATED LINKS
Foar fierdere details oer IOTA 1.5 funksjes, ferwize nei de IOTA C Client dokumintaasje

Systeem opset gids

Hardware beskriuwing
STM32L4+ Discovery kit IoT node

De B-L4S5I-IOT01A Discovery-kit foar IoT-knooppunt lit jo applikaasjes ûntwikkelje om direkt te ferbinen mei wolkservers.
De Discovery-kit makket in breed ferskaat oan applikaasjes mooglik troch it brûken fan kommunikaasje mei lege macht, multi-way sensing en ARM®Cortex® -M4+ kearn-basearre STM32L4+-searjefunksjes.
It stipet Arduino Uno R3- en PMOD-ferbining en biedt ûnbeheinde útwreidingsmooglikheden mei in grutte kar fan tawijde tafoegingsboerden.

figuer 8. B-L4S5I-IOT01A Discovery kitX-CUBE-IOTA1 útwreidingssoftwarepakket -- B-L4S5I-IOT01A Discovery ki

Hardware opset

De folgjende hardwarekomponinten binne nedich:

  1. ien STM32L4+ Discovery-kit foar IoT-knooppunt foarsjoen fan Wi-Fi-ynterface (bestelkoade: B-L4S5I-IOT01A)
  2. in USB-type A nei Mini-B USB Type B-kabel om it STM32-ûntdekkingsboerd te ferbinen mei de PC
Software opset

De folgjende softwarekomponinten binne nedich om de ûntwikkelingsomjouwing yn te stellen foar it meitsjen fan IOTA DLT-applikaasjes foar de B-L4S5I-IOT01A:

  • X-CUBE-IOTA1: firmware en relatearre dokumintaasje is beskikber op st.com
  • ûntwikkeling ark-keten en gearstaller: de STM32Cube útwreiding software stipet de folgjende omjouwings:
    - IAR Embedded Workbench foar ARM ® (EWARM) toolchain + ST-LINK/V2
    - EchtView Microcontroller Development Kit (MDK-ARM) toolchain + ST-LINK / V2
    - STM32CubeIDE + ST-LINK/V2
Systeem opset

It B-L4S5I-IOT01A Discovery board lit de eksploitaasje fan 'e IOTA DLT-funksjes mooglik meitsje. It bestjoer yntegreart de ST-LINK/V2-1 debugger/programmeur. Jo kinne de oanbelangjende ferzje fan 'e ST-LINK/V2-1 USB-bestjoerder downloade by STSW- LINK009.

Revision skiednis

Tabel 2. Document revyzje skiednis

Datum Revyzje Feroarings
13-Jun-19 1 Inisjele release
18-Jun-19 2 Bywurke seksje 3.4.8.1 TX_IN en TX_OUT, seksje 3.4.8.3 Gegevens ferstjoere fia nulwearde
transaksjes en Seksje 3.4.8.4 Ferstjoeren fan fûnsen fia oerdracht transaksjes.
6-mei-21 3 Updated ynlieding, Seksje 1 Acronyms en ôfkoartings, Seksje 2.1 Overview, Seksje 2.1.1 IOTA 1.0, Seksje 2.1.3 Proof-of-Work, Seksje 2.2 Architecture, Seksje 2.3 Mappenstruktuer, Seksje 3.2 Hardware opset, Seksje 3.3 Software opset en seksje 3.4 Systeem opset.
Seksje 2 fuortsmiten en ferfongen troch in keppeling yn 'e ynlieding.
Fuortsmite Seksje 3.1.2 Transaksjes en bondels, Seksje 3.1.3 Account en hantekeningen, Seksje
3.1.5 Hashing. Seksje 3.4 Hoe skriuw ik applikaasjes en relatearre sub-seksjes, Seksje 3.5 IOTALightNode-applikaasjebeskriuwing en relatearre subseksjes, en Seksje 4.1.1 STM32
Nucleo platfoarm Added Seksje 2.1.2IOTA 1.5 - Chrysalis, Seksje 2.5 IOTA-Client applikaasje beskriuwing, Seksje 2.4 API en Seksje 3.1.1 STM32L4+ Discovery kit IoT node.

 

WICHTICH OPMERKING - LLES WEG SURFOL

STMicroelectronics NV en har dochterûndernimmingen ("ST") behâlde it rjocht om op elk momint wizigingen, korreksjes, ferbetteringen, oanpassingen en ferbetteringen oan te meitsjen oan ST-produkten en / of oan dit dokumint. Keapers moatte de lêste relevante ynformaasje oer ST-produkten krije foardat se bestellingen pleatse. ST-produkten wurde ferkocht neffens de betingsten en ferkeapbetingsten fan ST te plak op 'e tiid fan befestiging fan' e oarder.

Keapers binne allinich ferantwurdlik foar de kar, seleksje en gebrûk fan ST-produkten en ST nimt gjin oanspraaklikens oan foar tapassingshelp as it ûntwerp fan produkten fan kopers.
Gjin lisinsje, útdruklik of ymplisearre, foar in yntellektueel eigendomsrjocht wurdt hjiryn ferliend troch ST.
Wederferkeap fan ST-produkten mei bepalingen dy't ferskille fan 'e ynformaasje dy't hjiryn oanjûn binne, sil gjin garânsje ferliend troch ST foar sa'n produkt ûnjildich meitsje.
ST en it ST-logo binne hannelsmerken fan ST. Foar oanfoljende ynformaasje oer ST hannelsmerken, ferwize asjebleaft www.st.com/trademarks. Alle oare nammen fan produkten of tsjinsten binne it eigendom fan har respektive eigners.
Ynformaasje yn dit dokumint ferfangt en ferfangt ynformaasje earder levere yn alle eardere ferzjes fan dit dokumint.
© 2021 STMicroelectronics - Alle rjochten foarbehâlden

Dokuminten / Resources

ST X-CUBE-IOTA1 Utwreiding Software Package foar STM32Cube [pdf] Brûkershânlieding
ST, X-CUBE-IOTA1, Utwreiding, Software Package, foar, STM32Cube

Referinsjes

Lit in reaksje efter

Jo e-mailadres sil net publisearre wurde. Ferplichte fjilden binne markearre *