UM2606
User manual
Pagsisimula sa IOTA Distributed Ledger
Pagpapalawak ng software ng teknolohiya para sa STM32Cube
Panimula
Ang X-CUBE-IOTA1 expansion software package para sa STM32Cube tumatakbo sa STM32 at may kasamang middleware upang paganahin ang mga function ng IOTA Distributed Ledger Technology (DLT).
Ang IOTA DLT ay isang transaction settlement at data transfer layer para sa Internet of Things (IoT). Ang IOTA ay nagpapahintulot sa mga tao at makina na maglipat ng pera at/o data nang walang anumang mga bayarin sa transaksyon sa isang walang tiwala, walang pahintulot at desentralisadong kapaligiran. Ginagawang posible ng teknolohiyang ito ang mga micro-payment nang hindi nangangailangan ng isang pinagkakatiwalaang tagapamagitan ng anumang uri. Ang pagpapalawak ay binuo sa teknolohiya ng software ng STM32Cube upang mapagaan ang portability sa iba't ibang STM32microcontroller. Ang kasalukuyang bersyon ng software ay tumatakbo sa B-L4S5I-IOT01A Discovery kit para sa IoT node at kumokonekta sa Internet sa pamamagitan ng naka-attach na interface ng Wi-Fi.
MGA KAUGNAY NA LINK
Bisitahin ang STM32Cube ecosystem web pahina sa www.st.com para sa karagdagang impormasyon
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
Mga acronym at pagdadaglat
Talahanayan 1. Listahan ng mga acronym
Acronym | Paglalarawan |
DLT | Ibinahagi ang teknolohiya ng ledger |
IDE | Pinagsamang kapaligiran sa pag-unlad |
IoT | Internet ng mga bagay |
PoW | Katibayan-ng-Trabaho |
X-CUBE-IOTA1 software expansion para sa STM32Cube
Tapos naview
Ang X-CUBE-IOTA1 lumalawak ang software package STM32Cube functionality na may mga sumusunod na pangunahing tampok:
- Kumpletuhin ang firmware para bumuo ng mga IOTA DLT application para sa mga board na nakabatay sa STM32
- Mga aklatan ng Middleware na nagtatampok ng:
– LibrengRTOS
- Pamamahala ng Wi-Fi
– encryption, hashing, pagpapatunay ng mensahe, at digital signing (Cryptolib)
– seguridad sa antas ng transportasyon (MbedTLS)
– IOTA Client API para sa pakikipag-ugnayan sa Tangle - Kumpletuhin ang driver para bumuo ng mga application na nag-a-access ng motion at environmental sensors
- Examples upang makatulong na maunawaan kung paano bumuo ng isang IOTA DLT Client application
- Madaling dalhin sa iba't ibang pamilya ng MCU, salamat sa STM32Cube
- Libre, user-friendly na mga tuntunin sa lisensya
Ang pagpapalawak ng software ay nagbibigay ng middleware upang paganahin ang IOTA DLT sa isang STM32 microcontroller. Ang IOTA DLT ay isang transaction settlement at data transfer layer para sa Internet of Things (IoT). Ang IOTA ay nagpapahintulot sa mga tao at makina na maglipat ng pera at/o data nang walang anumang mga bayarin sa transaksyon sa isang walang tiwala, walang pahintulot at desentralisadong kapaligiran. Ginagawang posible ng teknolohiyang ito ang mga micro-payment nang hindi nangangailangan ng isang pinagkakatiwalaang tagapamagitan ng anumang uri.
IOTA 1.0
Ang mga Distributed Ledger Technologies (DLTs) ay binuo sa isang node network na nagpapanatili ng isang distributed ledger, na isang cryptographically secured, distributed database para magtala ng mga transaksyon. Ang mga node ay naglalabas ng mga transaksyon sa pamamagitan ng consensus protocol.
Ang IOTA ay isang distributed ledger technology na partikular na idinisenyo para sa IoT.
Ang IOTA distributed ledger ay tinatawag na tangle at nilikha ng mga transaksyong inilabas ng mga node sa IOTA network.
Upang mag-publish ng isang transaksyon sa tangle, ang isang node ay kailangang:
- patunayan ang dalawang hindi naaprubahang transaksyon na tinatawag na mga tip
- lumikha at lagdaan ang bagong transaksyon
- magsagawa ng sapat na Proof-of-Work
- i-broadcast ang bagong transaksyon sa IOTA network
Ang transaksyon ay naka-attach sa tangle kasama ng dalawang reference na tumuturo sa mga validated na transaksyon.
Ang istrukturang ito ay maaaring imodelo bilang isang nakadirekta na acyclic graph, kung saan ang mga vertice ay kumakatawan sa mga solong transaksyon at ang mga gilid ay kumakatawan sa mga sanggunian sa mga pares ng mga transaksyon.
Ang isang genesis na transaksyon ay nasa tangle root at kasama ang lahat ng available na IOTA token, na tinatawag na iotas.
Gumagamit ang IOTA 1.0 ng medyo hindi kinaugalian na diskarte sa pagpapatupad batay sa trinary na representasyon: ang bawat elemento sa IOTA ay inilalarawan gamit ang trits = -1, 0, 1 sa halip na bits, at trytes ng 3 trits sa halip na bytes. Ang isang tryte ay kinakatawan bilang isang integer mula -13 hanggang 13, na naka-encode gamit ang mga titik (AZ) at numero 9.
Pinapalitan ng IOTA 1.5 (Chrysalis) ang layout ng trinary na transaksyon ng binary na istraktura.
Kasama sa network ng IOTA ang mga node at kliyente. Ang isang node ay konektado sa mga kapantay sa network at nag-iimbak ng kopya ng tangle. Ang kliyente ay isang device na may binhi na gagamitin para gumawa ng mga address at lagda.
Lumilikha at pumirma ang kliyente ng mga transaksyon at ipinapadala ang mga ito sa node upang ma-validate at maiimbak ng network ang mga ito. Ang mga transaksyon sa pag-withdraw ay dapat maglaman ng wastong lagda. Kapag ang isang transaksyon ay itinuturing na wasto, idaragdag ito ng node sa ledger nito, ina-update ang mga balanse ng mga apektadong address at i-broadcast ang transaksyon sa mga kapitbahay nito.
IOTA 1.5 – Chrysalis
Ang layunin ng IOTA Foundation ay i-optimize ang pangunahing net ng IOTA bago ang Coordicide at mag-alok ng solusyon na handa sa negosyo para sa ecosystem ng IOTA. Ito ay nakakamit sa pamamagitan ng isang intermediate update na tinatawag na Chrysalis. Ang mga pangunahing pag-upgrade na ipinakilala ng Chrysalis ay:
- Mga muling magagamit na address: ang pagpapatibay ng Ed25519 signature scheme, na pinapalitan ang Winternitz one time signature scheme (W-OTS), ay nagbibigay-daan sa mga user na ligtas na magpadala ng mga token mula sa parehong address nang maraming beses;
- Wala nang bundle: Ginagamit ng IOTA 1.0 ang konsepto ng mga bundle para gumawa ng mga paglilipat. Ang mga bundle ay isang hanay ng mga transaksyong pinagsama-sama ng kanilang root reference (trunk). Gamit ang IOTA 1.5 update, ang lumang bundle construct ay aalisin at papalitan ng mas simpleng mga transaksyon sa Atomic. Ang Tangle vertex ay kinakatawan ng Mensahe na isang uri ng container na maaaring magkaroon ng arbitrary payloads (ibig sabihin, Token payload o Indexation payload);
- Modelo ng UTXO: orihinal, ang IOTA 1.0 ay gumamit ng modelong nakabatay sa account para sa pagsubaybay sa mga indibidwal na token ng IOTA: ang bawat IOTA address ay nagtataglay ng ilang mga token at ang pinagsama-samang bilang ng mga token mula sa lahat ng mga address ng IOTA ay katumbas ng kabuuang supply. Sa halip, ginagamit ng IOTA 1.5 ang hindi nagastos na modelo ng output ng transaksyon, o UTXO, batay sa ideya ng pagsubaybay sa mga hindi nagastos na halaga ng mga token sa pamamagitan ng istraktura ng data na tinatawag na output;
- Hanggang 8 Magulang: sa IOTA 1.0, palagi kang kailangang sumangguni sa 2 transaksyon ng magulang. Sa Chrysalis, ipinakilala ang mas malaking bilang ng mga reference na parent node (hanggang 8). Upang makuha ang pinakamahusay na mga resulta, inirerekomenda ang hindi bababa sa 2 natatanging magulang sa isang pagkakataon.
MGA KAUGNAY NA LINK
Para sa karagdagang impormasyon tungkol sa Chrysalis, mangyaring sumangguni sa pahina ng dokumentasyong ito
Katibayan-ng-Trabaho
Ang IOTA protocol ay gumagamit ng Proof-of-Work bilang isang paraan upang i-rate-limit ang network.
Ginamit ng IOTA 1.0 ang Curl-P-81 trinary hash function at nangangailangan ng hash na may katugmang bilang ng trailing zero trits upang mag-isyu ng transaksyon sa Tangle.
Sa Chrysalis, posibleng mag-isyu ng mga binary na mensahe ng di-makatwirang laki. Inilalarawan ng RFC na ito kung paano iaangkop ang umiiral na mekanismo ng PoW sa mga bagong kinakailangan. Nilalayon nitong maging hindi gaanong nakakagambala hangga't maaari sa kasalukuyang mekanismo ng PoW.
Arkitektura
Ang pagpapalawak ng STM32Cube na ito ay nagbibigay-daan sa pagbuo ng mga application na nag-a-access at gumagamit ng IOTA DLT middleware.
Ito ay batay sa STM32CubeHAL hardware abstraction layer para sa STM32 microcontroller at nagpapalawak ng STM32Cube na may partikular na board support package (BSP) para sa microphone expansion board at middleware na mga bahagi para sa pagpoproseso ng audio at USB na komunikasyon sa isang PC.
Ang mga layer ng software na ginagamit ng software ng application para ma-access at magamit ang microphone expansion board ay:
- STM32Cube HAL layer: nagbibigay ng generic, multi-instance na set ng mga API para makipag-ugnayan sa mga upper layer (ang application, mga library at stack). Binubuo ito ng mga generic at extension na API batay sa isang karaniwang arkitektura na nagbibigay-daan sa iba pang mga layer tulad ng middleware layer na gumana nang walang partikular na Microcontroller Unit (MCU) na mga configuration ng hardware. Pinapabuti ng istrukturang ito ang muling paggamit ng code ng library at ginagarantiyahan ang madaling pagdadala ng device.
- Board Support Package (BSP) layer: ay isang set ng mga API na nagbibigay ng programming interface para sa ilang partikular na board na peripheral (LED, user button atbp.). Nakakatulong din ang interface na ito sa pagtukoy sa partikular na bersyon ng board at nagbibigay ng suporta para sa pagsisimula ng mga kinakailangang peripheral ng MCU at pagbabasa ng data.
Larawan 1. X-CUBE-IOTA1 software architecture
Istruktura ng folder
Figure 2. X-CUBE-IOTA1 na istraktura ng folder
Ang mga sumusunod na folder ay kasama sa software package:
- Dokumentasyon: naglalaman ng isang pinagsama-samang HTML file nabuo mula sa source code at detalyadong dokumentasyon ng mga bahagi ng software at mga API
- Mga driver: naglalaman ng mga driver ng HAL at mga driver na partikular sa board para sa mga sinusuportahang platform ng board at hardware, kabilang ang para sa mga on-board na bahagi at ang CMSIS vendor-independent na layer ng abstraction ng hardware para sa ARM® Cortex®-M processor series
- Mga Middleware: naglalaman ng mga aklatan na nagtatampok ng FreeRTOS; Pamamahala ng Wi-Fi; encryption, hashing, pagpapatunay ng mensahe, at digital signing (Cryptolib); seguridad sa antas ng transportasyon (MbedTLS); IOTA Client API upang makipag-ugnayan sa Tangle
- Mga proyekto: naglalaman ng examples upang matulungan kang bumuo ng isang IOTA DLT Client application para sa sinusuportahang platform na nakabase sa STM32 (B-L4S5I-IOT01A), na may tatlong development environment, IAR Embedded Workbench for ARM (EWARM), RealView Microcontroller Development Kit (MDK-ARM) at STM32CubeIDE
API
Ang detalyadong teknikal na impormasyon na may buong user API function at paglalarawan ng parameter ay nasa isang pinagsama-samang HTML file sa folder na "Dokumentasyon".
Paglalarawan ng application ng IOTA-Client
Ang proyekto files para sa IOTA-Client application ay matatagpuan sa: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Available ang mga ready-to-build na proyekto para sa maraming IDE.
Ang user interface ay ibinibigay sa pamamagitan ng serial port at dapat na i-configure gamit ang mga sumusunod na setting:
Figure 3. Tera Term – Pag-setup ng terminal
Figure 4. Tera Term – Serial port setup
Upang patakbuhin ang application, sundin ang pamamaraan sa ibaba.
Hakbang 1. Magbukas ng serial terminal para makita ang log ng mga mensahe.
Hakbang 2. Ilagay ang configuration ng iyong Wi-Fi network (SSID, Security Mode, at password).
Hakbang 3. Itakda ang mga TLS root CA certificate.
Hakbang 4. Kopyahin at i-paste ang mga nilalaman ng Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Ginagamit ng device ang mga ito upang patotohanan ang mga malayuang host sa pamamagitan ng TLS.
Tandaan: Pagkatapos i-configure ang mga parameter, maaari mong baguhin ang mga ito sa pamamagitan ng pag-restart ng board at pagpindot sa User button (asul na button) sa loob ng 5 segundo. Ang data na ito ay ise-save sa Flash memory.
Figure 5. Mga setting ng parameter ng Wi-Fi
Hakbang 5. Hintaying lumabas ang mensaheng “Press any key to continue”. Ang screen ay nire-refresh sa listahan ng mga pangunahing pag-andar:
- Magpadala ng generic indexation message
- Magpadala ng mensahe ng indexation sensor (kabilang ang timestamp, Temperatura, at Halumigmig)
- Kumuha ng balanse
- Magpadala ng Transaksyon
- Iba pang mga pag-andar
Larawan 6. Pangunahing menu
Hakbang 6. Pumili ng opsyon 3 upang subukan ang isa sa mga sumusunod na function:
Kumuha ng impormasyon ng node | Kumuha ng mga tip |
Kumuha ng output | Mga output mula sa address |
Kumuha ng balanse | Error sa pagtugon |
Kumuha ng mensahe | Magpadala ng mensahe |
Maghanap ng mensahe | Subukan ang wallet |
Tagabuo ng mensahe | Subukan ang crypto |
Figure 7. Iba pang mga function
MGA KAUGNAY NA LINK
Para sa karagdagang detalye tungkol sa mga function ng IOTA 1.5, sumangguni sa dokumentasyon ng IOTA C Client
Gabay sa pag-setup ng system
Paglalarawan ng Hardware
STM32L4+ Discovery kit IoT node
Ang B-L4S5I-IOT01A Discovery kit para sa IoT node ay nagbibigay-daan sa iyong bumuo ng mga application upang direktang kumonekta sa mga cloud server.
Ang Discovery kit ay nagbibigay-daan sa isang malawak na iba't ibang mga application sa pamamagitan ng pagsasamantala sa low-power na komunikasyon, multi-way sensing at ARM®Cortex® -M4+ core-based na mga feature ng serye ng STM32L4+.
Sinusuportahan nito ang Arduino Uno R3 at PMOD na pagkakakonekta na nagbibigay ng walang limitasyong mga kakayahan sa pagpapalawak na may malaking pagpipilian ng mga nakalaang add-on na board.
Larawan 8. B-L4S5I-IOT01A Discovery kit
Pag-setup ng hardware
Ang mga sumusunod na bahagi ng hardware ay kinakailangan:
- isang STM32L4+ Discovery kit para sa IoT node na nilagyan ng Wi-Fi interface (order code: B-L4S5I-IOT01A)
- isang USB type A hanggang Mini-B USB Type B cable para ikonekta ang STM32 discovery board sa PC
Pag-setup ng software
Ang mga sumusunod na bahagi ng software ay kailangan upang i-set up ang development environment para sa paglikha ng IOTA DLT application para sa B-L4S5I-IOT01A:
- X-CUBE-IOTA1: available ang firmware at kaugnay na dokumentasyon sa st.com
- development tool-chain at compiler: sinusuportahan ng STM32Cube expansion software ang mga sumusunod na kapaligiran:
– IAR Embedded Workbench para sa ARM ® (EWARM) toolchain + ST-LINK/V2
– TotooView Toolchain ng Microcontroller Development Kit (MDK-ARM) + ST-LINK/V2
– STM32CubeIDE + ST-LINK/V2
Setup ng system
Ang B-L4S5I-IOT01A Discovery board ay nagbibigay-daan sa pagsasamantala sa mga tampok ng IOTA DLT. Pinagsasama ng board ang ST-LINK/V2-1 debugger/programmer. Maaari mong i-download ang nauugnay na bersyon ng ST-LINK/V2-1 USB driver sa STSW- LINK009.
Kasaysayan ng rebisyon
Talahanayan 2. Kasaysayan ng rebisyon ng dokumento
Petsa | Rebisyon | Mga pagbabago |
13-Hun-19 | 1 | Paunang paglabas |
18-Hun-19 | 2 | Na-update ang Seksyon 3.4.8.1 TX_IN at TX_OUT, Seksyon 3.4.8.3 Pagpapadala ng data sa pamamagitan ng zero-value mga transaksyon at Seksyon 3.4.8.4 Pagpapadala ng mga pondo sa pamamagitan ng mga transaksyon sa paglilipat. |
6-May-21 | 3 | Na-update na Panimula, Seksyon 1 Mga acronym at pagdadaglat, Seksyon 2.1 Overview, Seksyon 2.1.1 IOTA 1.0, Seksyon 2.1.3 Proof-of-Work, Seksyon 2.2 Arkitektura, Seksyon 2.3 Istraktura ng folder, Seksyon 3.2 Setup ng hardware, Seksyon 3.3 Setup ng software at Seksyon 3.4 Setup ng system. Inalis ang Seksyon 2 at pinalitan ng isang link sa Panimula. Inalis ang Seksyon 3.1.2 Mga Transaksyon at mga bundle, Seksyon 3.1.3 Account at mga lagda, Seksyon 3.1.5 Hashing. Seksyon 3.4 Paano magsulat ng mga aplikasyon at kaugnay na mga sub-section, Seksyon 3.5 IOTALightNode paglalarawan ng aplikasyon at mga kaugnay na subsection, at Seksyon 4.1.1 STM32 Nucleo platform Idinagdag ang Seksyon 2.1.2IOTA 1.5 – Chrysalis, Seksyon 2.5 IOTA-Paglalarawan ng application ng kliyente, Seksyon 2.4 API at Seksyon 3.1.1 STM32L4+ Discovery kit IoT node. |
MAHALAGA PAUNAWA - MANGYARING BASAHIN NG MAANGAT
Ang STMicroelectronics NV at ang mga subsidiary nito ("ST") ay may karapatang gumawa ng mga pagbabago, pagwawasto, pagpapahusay, pagbabago, at pagpapabuti sa mga produkto ng ST at / o sa dokumentong ito anumang oras nang walang abiso. Dapat kumuha ang mga tagabili ng pinakabagong kaugnay na impormasyon sa mga produkto ng ST bago maglagay ng mga order. Ang mga produkto ng ST ay ibinebenta alinsunod sa mga tuntunin at kundisyon ng pagbebenta ng ST sa lugar ng pagkilala ng order.
Ang mga tagabili ay responsable lamang para sa pagpili, pagpili, at paggamit ng mga produkto ng ST at hindi ipinapalagay ng ST ang pananagutan para sa tulong sa aplikasyon o ang disenyo ng mga produkto ng mga Purchasers.
Walang lisensya, hayag o ipinahiwatig, sa anumang karapatan sa intelektwal na ari-arian ang ipinagkaloob ng ST dito.
Ang muling pagbebenta ng mga produktong ST na may mga probisyon na iba sa impormasyong nakasaad dito ay magpapawalang-bisa sa anumang warranty na ibinigay ng ST para sa naturang produkto.
Ang ST at ang ST logo ay mga trademark ng ST. Para sa karagdagang impormasyon tungkol sa mga trademark ng ST, mangyaring sumangguni sa www.st.com/trademarks. Ang lahat ng iba pang pangalan ng produkto o serbisyo ay pag-aari ng kani-kanilang mga may-ari.
Ang impormasyon sa dokumentong ito ay pinapalitan at pinapalitan ang impormasyong dating ibinigay sa anumang mga naunang bersyon ng dokumentong ito.
© 2021 STMicroelectronics – Nakalaan ang lahat ng karapatan
Mga Dokumento / Mga Mapagkukunan
![]() |
ST X-CUBE-IOTA1 Expansion Software Package para sa STM32Cube [pdf] User Manual ST, X-CUBE-IOTA1, Pagpapalawak, Software Package, para sa, STM32Cube |