UM 2606
Uzantmanlibro
Komencu kun la IOTA Distribuita Ĉeflibro
Teknologia programaro vastiĝo por STM32Cube
Enkonduko
La X-CUBE-IOTA1 vastiga programaro pako por STM32Kubo funkcias sur la STM32 kaj inkluzivas mezvaron por ebligi la funkciojn de IOTA Distributed Ledger Technology (DLT).
La IOTA DLT estas transakcia kompromiso kaj datumtransiga tavolo por la Interreto de Aĵoj (IoT). IOTA permesas al homoj kaj maŝinoj transdoni monon kaj/aŭ datumojn sen transakciaj kotizoj en senfida, senpermesa kaj malcentralizita medio. Ĉi tiu teknologio eĉ ebligas mikropagojn sen la bezono de iu ajn fidinda peranto. La ekspansio estas konstruita sur STM32Cube programaro teknologio por faciligi porteblon tra malsamaj STM32mikroregiloj. La nuna versio de la programaro funkcias per la B-L4S5I-IOT01A Discovery-kompleto por IoT-nodo kaj konektas al la Interreto per la alkroĉita Wi-Fi-interfaco.
RELACIAJ LIGILOJ
Vizitu la ekosistemon STM32Cube web paĝo en www.st.com por pliaj informoj
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
Akronimoj kaj mallongigoj
Tabelo 1. Listo de akronimoj
Akronimo | Priskribo |
DLT | Distribuita ĉeflibroteknologio |
IDE | Integrita evolumedio |
IoT | Interreto de aferoj |
PoW | Pruvo de Laboro |
X-CUBE-IOTA1-programa ekspansio por STM32Cube
Finiteview
La X-CUBE-IOTA1 programarpakaĵo vastiĝas STM32Kubo funkcieco kun la sekvaj ĉefaj trajtoj:
- Kompleta firmvaro por konstrui IOTA DLT-aplikaĵojn por STM32-bazitaj tabuloj
- Middleware-bibliotekoj havantaj:
– FreeRTOS
- Wi-Fi-administrado
- ĉifrado, hashing, mesaĝa aŭtentikigo kaj cifereca subskribo (Cryptolib)
- transport-nivela sekureco (MbedTLS)
- IOTA Kliento API por interagado kun la Tangle - Kompleta pelilo por konstrui aplikaĵojn alirantajn moviĝajn kaj mediajn sensilojn
- Examplesoj por helpi kompreni kiel evoluigi IOTA DLT Kliento-aplikaĵon
- Facila porteblo tra malsamaj MCU-familioj, danke al STM32Cube
- Senpagaj, uzant-amikaj permesilkondiĉoj
La programara ekspansio disponigas la mezvaron por ebligi la IOTA DLT sur mikroregilo STM32. La IOTA DLT estas transakcia kompromiso kaj datumtransiga tavolo por la Interreto de Aĵoj (IoT). IOTA permesas al homoj kaj maŝinoj transdoni monon kaj/aŭ datumojn sen transakciaj kotizoj en senfida, senpermesa kaj malcentralizita medio. Ĉi tiu teknologio eĉ ebligas mikropagojn sen la bezono de iu ajn fidinda peranto.
IOTA 1.0
Distribuitaj Ledger-Teknologioj (DLT) estas konstruitaj sur noda reto kiu konservas distribuitan ĉeflibron, kio estas ĉifrite sekurigita, distribuita datumbazo por registri transakciojn. Nodoj eldonas transakciojn per konsenta protokolo.
IOTA estas distribuita ĉeflibroteknologio specife desegnita por IoT.
La IOTA distribuita ĉeflibro nomiĝas la implikaĵo kaj estas kreita de la transakcioj elsenditaj de la nodoj en la IOTA-reto.
Por publikigi transakcion en la implikaĵo, nodo devas:
- validigi du neaprobitajn transakciojn nomatajn konsiletojn
- kreu kaj subskribu la novan transakcion
- plenumi sufiĉan Pruvon de Laboro
- dissendi la novan transakcion al la IOTA-reto
La transakcio estas ligita al la implikaĵo kune kun du referencoj montrantaj al la validigitaj transakcioj.
Tiu strukturo povas esti modeligita kiel direktita acikla grafeo, kie la verticoj reprezentas ununurajn transakciojn kaj la randoj reprezentas referencojn inter paroj de transakcioj.
Geneza transakcio estas ĉe la implikaĵo kaj inkluzivas ĉiujn disponeblajn IOTA-ĵetonojn, nomatajn iotojn.
IOTA 1.0 uzas sufiĉe nekonvencian efektivigan aliron bazitan sur trinara reprezento: ĉiu elemento en IOTA estas priskribita uzante trits = -1, 0, 1 anstataŭ bitoj, kaj trytes de 3 trits anstataŭ bajtoj. Trito estas reprezentita kiel entjero de -13 ĝis 13, ĉifrita uzante literojn (AZ) kaj numeron 9.
IOTA 1.5 (Chrysalis) anstataŭigas la trinaran transakcian aranĝon kun binara strukturo.
La IOTA-reto inkluzivas nodojn kaj klientojn. Nodo estas konektita al kunuloj en la reto kaj stokas kopion de la implikaĵo. Kliento estas aparato kun semo por esti uzata por krei adresojn kaj subskribojn.
La kliento kreas kaj subskribas transakciojn kaj sendas ilin al la nodo por ke la reto povu validigi kaj stoki ilin. Retiraj transakcioj devas enhavi validan subskribon. Kiam transakcio estas konsiderita valida, la nodo aldonas ĝin al sia ĉeflibro, ĝisdatigas la saldojn de la tuŝitaj adresoj kaj dissendas la transakcion al siaj najbaroj.
IOTA 1.5 - Krisalido
La celo de la IOTA-Fondaĵo estas optimumigi la ĉefan reton de IOTA antaŭ Coordicide kaj oferti entreprenpretan solvon por la IOTA-ekosistemo. Ĉi tio estas atingita per meza ĝisdatigo nomita Chrysalis. La ĉefaj ĝisdatigoj lanĉitaj fare de Chrysalis estas:
- Reuzeblaj adresoj: la adopto de la subskriba skemo Ed25519, anstataŭigante la Winternitz-unutempan subskriban skemon (W-OTS), permesas al la uzantoj sekure sendi ĵetonojn de la sama adreso plurajn fojojn;
- Ne plu pakaĵoj: IOTA 1.0 uzas la koncepton de pakaĵoj por krei translokigojn. Pakoj estas aro de transakcioj kunligitaj per sia radika referenco (trunko). Kun la ĝisdatigo de IOTA 1.5, la malnova pakaĵkonstruaĵo estas forigita kaj anstataŭigita per la pli simplaj Atomaj transakcioj. La Tangle-vertico estas reprezentita per la Mesaĝo kiu estas speco de ujo kiu povas havi arbitrajn utilajn ŝarĝojn (te, Token-utila ŝarĝo aŭ Indeksada ŝarĝo);
- UTXO-modelo: origine, IOTA 1.0 uzis konton-bazitan modelon por spuri individuajn IOTA-ĵetonojn: ĉiu IOTA-adreso tenis kelkajn ĵetonojn kaj la entuta nombro da ĵetonoj de ĉiuj IOTA-adresoj estis egala al la totala provizo. Anstataŭe, IOTA 1.5 uzas la neeluzitan transakcian eligmodelon, aŭ UTXO, bazitan sur la ideo spuri neeluzitajn kvantojn da ĵetonoj per datumstrukturo nomita eligo;
- Ĝis 8 Gepatroj: kun IOTA 1.0, vi ĉiam devis referenci 2 gepatrajn transakciojn. Kun Chrysalis, pli granda nombro da referencitaj gepatronodoj (ĝis 8) estas lanĉita. Por akiri la plej bonajn rezultojn, oni rekomendas almenaŭ 2 unikajn gepatrojn samtempe.
RELACIAJ LIGILOJ
Por pliaj informoj pri Chrysalis, bonvolu raporti al ĉi tiu dokumenta paĝo
Pruvo de Laboro
La IOTA-protokolo uzas Proof-of-Work kiel rimedon por rapide limigi la reton.
IOTA 1.0 uzis la Curl-P-81 trinara hashfunkcio kaj postulis hash kun la kongrua nombro da malantaŭaj nul tritoj por eligi transakcion al la Tangle.
Kun Chrysalis, eblas elsendi binarajn mesaĝojn de arbitra grandeco. Ĉi tiu RFC priskribas kiel adapti la ekzistantan PoW-mekanismon al la novaj postuloj. Ĝi celas esti kiel eble malpli interrompa al la nuna PoW-mekanismo.
Arkitekturo
Ĉi tiu ekspansio de STM32Cube ebligas disvolviĝon de aplikaĵoj alirantaj kaj uzante la IOTA DLT-mezvaron.
Ĝi baziĝas sur la hardvara abstrakta tavolo STM32CubeHAL por la mikroregilo STM32 kaj etendas STM32Cube kun specifa tabulo-subtena pakaĵo (BSP) por la mikrofona ekspansiotabulo kaj mezvaraj komponantoj por audio-prilaborado kaj USB-komunikado kun komputilo.
La programaraj tavoloj uzataj de la aplikaĵo por aliri kaj uzi la mikrofonan ekspansiotablon estas:
- STM32Cube HAL-tavolo: disponigas senmarkan, plurkastan aron de API-oj por interagi kun la supraj tavoloj (la aplikaĵo, bibliotekoj kaj stakoj). Ĝi konsistas el senmarkaj kaj etendaj APIoj bazitaj sur ofta arkitekturo kiu permesas al aliaj tavoloj kiel la mezvartavolo funkcii sen specifaj aparataj konfiguracioj de Microcontroller Unit (MCU). Ĉi tiu strukturo plibonigas reuzeblecon de bibliotekkodo kaj garantias facilan porteblecon de aparato.
- Board Support Package (BSP) tavolo: estas aro de API-oj, kiuj disponigas programan interfacon por certaj tabulo-specifaj periferioj (LED, uzantbutono ktp.). Ĉi tiu interfaco ankaŭ helpas identigi la specifan estraran version kaj provizas subtenon por pravalorigado de bezonataj MCU-ekscentraloj kaj legado de datumoj.
Figuro 1. Programaro-arkitekturo de X-CUBE-IOTA1
Dosierujo
Figuro 2. X-CUBE-IOTA1-dosierujo-strukturo
La sekvaj dosierujoj estas inkluzivitaj en la programaro:
- Dokumentado: enhavas kompilitan HTML file generite de la fontkodo kaj detala dokumentado de la softvarkomponentoj kaj APIoj
- Ŝoforoj: enhavas la HAL-ŝoforojn kaj la tabul-specifajn ŝoforojn por subtenataj tabulo- kaj hardvarplatformoj, inkluzive de tiuj por la enkonstruitaj komponentoj kaj la CMSIS-sendependa hardvara abstraktadtavolo por la ARM® Cortex®-M procesoroserio.
- Mezvaroj: enhavas bibliotekojn kun FreeRTOS; Administrado de Wi-Fi; ĉifrado, hashing, mesaĝa aŭtentikigo kaj cifereca subskribo (Cryptolib); transport-nivela sekureco (MbedTLS); IOTA Kliento API por interagi kun la Tangle
- Projektoj: enhavas ekzamples por helpi vin evoluigi IOTA DLT Kliento-aplikaĵon por la subtenata STM32-bazita platformo (B-L4S5I-IOT01A), kun tri evolumedioj, IAR Embedded Workbench por ARM (EWARM), RealaView Mikroregila Disvolva Ilaro (MDK-ARM) kaj STM32CubeIDE
API
Detalaj teknikaj informoj kun plena uzanta API-funkcio kaj parametra priskribo estas en kompilita HTML file en la dosierujo "Dokumentado".
IOTA-Klienta aplikaĵa priskribo
La projekto files por la aplikaĵo IOTA-Client troveblas en: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Pretkonstrueblaj projektoj disponeblas por pluraj IDEoj.
La uzantinterfaco estas provizita per seria haveno kaj devas esti agordita kun la sekvaj agordoj:
Figuro 3. Tera Termino - Fina agordo
Figuro 4. Tera Term - Seria haveno aranĝo
Por ruli la aplikaĵon, sekvu la proceduron sube.
Paŝo 1. Malfermu serian terminalon por vidi la protokolon de mesaĝoj.
Paŝo 2. Enigu vian Wifi-retan agordon (SSID, Sekureca Reĝimo kaj pasvorto).
Paŝo 3. Agordu la TLS-radikan CA-atestilojn.
Paŝo 4. Kopiu kaj algluu la enhavon de Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. La aparato uzas ilin por aŭtentikigi la forajn gastigantojn per TLS.
Notu: Post agordo de la parametroj, vi povas ŝanĝi ilin rekomencante la tabulon kaj premante la butonon Uzanto (blua butono) ene de 5 sekundoj. Ĉi tiuj datumoj estos konservitaj en la Flash-memoro.
Figuro 5. Wi-Fi-parametro-agordoj
Paŝo 5. Atendu la mesaĝon "Premu ajnan klavon por daŭrigi" aperos. La ekrano tiam estas refreŝigita kun la listo de la ĉefaj funkcioj:
- Sendu ĝeneralan indeksan mesaĝon
- Sendu indeksan sensilmesaĝon (inkluzive de timestamp, Temperaturo kaj Humideco)
- Akiru ekvilibron
- Sendu Transakcion
- Aliaj funkcioj
Figuro 6. Ĉefa menuo
Paŝo 6. Elektu opcion 3 por testi unu el la sekvaj funkcioj:
Akiru nodajn informojn | Akiru konsiletojn |
Akiru eligon | Eligoj de adreso |
Akiru ekvilibron | Responderaro |
Ricevu mesaĝon | Sendu mesaĝon |
Trovu mesaĝon | Prova monujo |
Mesaĝkonstruanto | Provu kripton |
Figuro 7. Aliaj funkcioj
RELACIAJ LIGILOJ
Por pliaj detaloj pri IOTA 1.5-funkcioj, raportu al la dokumentado pri IOTA C Kliento
Gvidilo pri agordo de la sistemo
Aparata priskribo
STM32L4+ Discovery kit IoT nodo
La Discovery-kompleto B-L4S5I-IOT01A por IoT-nodo permesas vin evoluigi aplikojn por rekte konektiĝi al nubaj serviloj.
La Discovery-kompleto ebligas ampleksan varion de aplikoj per ekspluatado de malalta potenco komunikado, plurdirekta sentado kaj ARM®Cortex® -M4+ kernbazitaj STM32L4+-seriofunkcioj.
Ĝi subtenas Arduino Uno R3 kaj PMOD-konektecon provizanta senlimajn ekspansiokapablojn kun granda elekto de dediĉitaj aldonaj tabuloj.
Figuro 8. B-L4S5I-IOT01A Discovery kit
Aparataro de aparataro
La sekvaj aparataj komponantoj estas bezonataj:
- unu STM32L4+ Discovery-kompleto por IoT-nodo ekipita per WiFi-interfaco (mendkodo: B-L4S5I-IOT01A)
- USB-tipo A al Mini-B USB-Tipo B-kablo por konekti la malkovran tabulon STM32 al la komputilo
Programaro agordo
La sekvaj programaj komponantoj estas necesaj por agordi la evolumedion por krei IOTA DLT-aplikaĵojn por la B-L4S5I-IOT01A:
- X-CUBE-IOTA1: firmvaro kaj rilata dokumentaro haveblas ĉe st.com
- disvolva ilo-ĉeno kaj kompililo: la vastiĝa programaro STM32Cube subtenas la sekvajn mediojn:
- IAR Enigita Laborbenko por ARM ® (EWARM) ilaro + ST-LINK/V2
– RealaView Mikroregila Disvolva Ilaro (MDK-ARM) ilĉeno + ST-LINK/V2
– STM32CubeIDE + ST-LINK/V2
Sistema agordo
La Discovery-tabulo B-L4S5I-IOT01A permesas la ekspluaton de la funkcioj de IOTA DLT. La tabulo integras la ST-LINK/V2-1-sencimigilon/programilon. Vi povas elŝuti la koncernan version de la ST-LINK/V2-1 USB-ŝoforo ĉe STSW-LINK009.
Historio de revizioj
Tabelo 2. Dokumenta reviziohistorio
Dato | Revizio | Ŝanĝoj |
13-jun-19 | 1 | Komenca eldono |
18-jun-19 | 2 | Ĝisdatigita Sekcio 3.4.8.1 TX_IN kaj TX_OUT, Sekcio 3.4.8.3 Sendado de datumoj per nula valoro transakcioj kaj Sekcio 3.4.8.4 Sendado de financoj per translokaj transakcioj. |
6-majo-21 | 3 | Ĝisdatigita Enkonduko, Sekcio 1 Akronimoj kaj mallongigoj, Sekcio 2.1 Finiteview, Sekcio 2.1.1 IOTA 1.0, Sekcio 2.1.3 Pruvo de Laboro, Sekcio 2.2 Arkitekturo, Sekcio 2.3 Dosierujo-strukturo, Sekcio 3.2 Aparataro, Sekcio 3.3 Programaro kaj Sekcio 3.4 Sistemaranĝo. Forigita Sekcio 2 kaj anstataŭigita per ligilo en la Enkonduko. Forigita Sekcio 3.1.2 Transakcioj kaj pakaĵoj, Sekcio 3.1.3 Konto kaj subskriboj, Sekcio 3.1.5 Hashing. Sekcio 3.4 Kiel verki aplikojn kaj rilatajn subsekciojn, Sekcion 3.5 IOTALightNode-aplikpriskribon kaj rilatajn subfakojn, kaj Sekcion 4.1.1 STM32 Nuklea platformo Aldonita Sekcio 2.1.2IOTA 1.5 - Chrysalis, Sekcio 2.5 IOTA-Klienta aplika priskribo, Sekcio 2.4 API kaj Sekcio 3.1.1 STM32L4+ Discovery kit IoT nodo. |
GRAVA AVIZO - BONVOLU LEGI ATENTE
STMicroelectronics NV kaj ĝiaj filioj ("ST") rezervas la rajton fari ŝanĝojn, korektojn, plibonigojn, modifojn kaj plibonigojn al ST-produktoj kaj / aŭ al ĉi tiu dokumento iam ajn sen avizo. Aĉetantoj devas akiri la plej lastajn gravajn informojn pri ST-produktoj antaŭ ol fari mendojn. ST-produktoj vendiĝas laŭ la kondiĉoj kaj vendokondiĉoj de ST modlokaj en la momento de mendokono.
Aĉetantoj respondecas nur pri la elekto, elekto kaj uzo de ST-produktoj kaj ST supozas neniun respondecon pri aplika helpo aŭ la projektado de aĉetaj produktoj.
Neniu licenco, esprima aŭ implicita, al iu ajn intelekta proprieta rajto estas donita de ST ĉi tie.
Revendo de ST-produktoj kun dispozicioj malsamaj ol la informoj ĉi tie prezentitaj nuligos ajnan garantion donitan de ST por tia produkto.
ST kaj la ST-emblemo estas varmarkoj de ST. Por pliaj informoj pri ST-varmarkoj, bonvolu raporti al www.st.com/trademarks. Ĉiuj aliaj produktaj aŭ servonomoj estas la posedaĵo de siaj respektivaj posedantoj.
Informoj en ĉi tiu dokumento anstataŭas kaj anstataŭigas informojn antaŭe provizitajn en iuj antaŭaj versioj de ĉi tiu dokumento.
© 2021 STMicroelectronics - Ĉiuj rajtoj rezervitaj
Dokumentoj/Rimedoj
![]() |
ST X-CUBE-IOTA1 Ekspansia Programaro-Pako por STM32Cube [pdf] Uzanto-manlibro ST, X-CUBE-IOTA1, Ekspansio, Programaro-Pako, por, STM32Cube |