UM2606
Buku pituduh
Ngamimitian ku IOTA Distributed Ledger
Ékspansi software téhnologi pikeun STM32Cube
Bubuka
The X-KUBE-IOTA1 pakét software ékspansi pikeun STM32Kubus dijalankeun dina STM32 tur ngawengku middleware pikeun ngaktipkeun fungsi IOTA Distributed Ledger Technology (DLT).
IOTA DLT mangrupikeun padumukan transaksi sareng lapisan transfer data pikeun Internet of Things (IoT). IOTA ngamungkinkeun jalma sareng mesin pikeun nransferkeun artos sareng / atanapi data tanpa biaya urus dina lingkungan anu teu amanah, tanpa izin sareng desentralisasi. Téknologi ieu bahkan ngajantenkeun pangmayaran mikro tanpa peryogi perantara anu dipercaya tina naon waé. Ékspansi diwangun dina téknologi parangkat lunak STM32Cube pikeun ngagampangkeun portabilitas dina sababaraha mikrokontroler STM32. Versi ayeuna tina software dijalankeun dina B-L4S5I-IOT01A Kit Discovery pikeun titik IoT sareng nyambung ka Internét ngalangkungan antarbeungeut Wi-Fi anu napel.
Tumbu patali
Nganjang ka ékosistem STM32Cube web kaca dina www.st.com pikeun inpo nu salajengna
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
Akronim jeung singgetan
Tabél 1. Daptar akronim
Akronim | Katerangan |
DLT | téhnologi ledger disebarkeun |
IDE | Lingkungan pangwangunan terpadu |
IoT | Internét tina hal |
PoW | Bukti-of-Gawé |
ékspansi software X-CUBE-IOTA1 pikeun STM32Cube
Leuwihview
The X-KUBE-IOTA1 pakét software expands STM32Kubus fungsionalitas kalawan fitur konci handap:
- Firmware lengkep pikeun ngawangun aplikasi IOTA DLT pikeun papan basis STM32
- Perpustakaan Middleware nampilkeun:
- FreeRTOS
- Manajemén Wi-Fi
- enkripsi, hashing, auténtikasi pesen, sareng tanda tangan digital (Cryptolib)
- kaamanan tingkat angkutan (MbedTLS)
- API Klién IOTA pikeun berinteraksi sareng Tangle - Supir lengkep pikeun ngawangun aplikasi ngaksés gerak sareng sensor lingkungan
- Examples pikeun mantuan ngartos kumaha carana ngamekarkeun aplikasi IOTA DLT Klien
- Gampang portability sakuliah kulawarga MCU béda, hatur nuhun kana STM32Cube
- Syarat lisénsi gratis, ramah-pamaké
Ékspansi parangkat lunak nyayogikeun middleware pikeun ngaktipkeun IOTA DLT dina mikrokontroler STM32. IOTA DLT mangrupikeun padumukan transaksi sareng lapisan transfer data pikeun Internet of Things (IoT). IOTA ngamungkinkeun jalma sareng mesin pikeun nransferkeun artos sareng/atanapi data tanpa biaya transaksi dina lingkungan anu teu amanah, tanpa izin sareng desentralisasi. Téknologi ieu bahkan ngajantenkeun pangmayaran mikro tanpa peryogi perantara anu dipercaya tina naon waé.
IOTA 1.0
Distributed Ledger Technologies (DLTs) diwangun dina jaringan titik anu ngajaga buku besar anu disebarkeun, anu mangrupikeun database anu disebarkeun sacara kriptografis pikeun ngarékam transaksi. Node ngaluarkeun transaksi ngaliwatan protokol konsensus.
IOTA mangrupakeun téhnologi ledger disebarkeun husus dirancang pikeun IoT.
Ledger anu disebarkeun IOTA disebut tangle sareng diciptakeun ku transaksi anu dikaluarkeun ku titik-titik dina jaringan IOTA.
Pikeun nyebarkeun transaksi dina tangle, hiji titik kedah:
- sangkan méré konfirmasi dua transaksi unapproved disebut tips
- nyieun jeung asup transaksi anyar
- ngalaksanakeun Bukti-of-Gawé cukup
- nyiarkeun transaksi anyar ka jaringan IOTA
Transaksi digantelkeun kana tangle sareng dua rujukan anu nunjuk kana transaksi anu disahkeun.
Struktur ieu bisa dimodelkeun salaku grafik asiklik diarahkeun, dimana vertex ngagambarkeun transaksi tunggal jeung edges ngagambarkeun rujukan diantara pasangan transaksi.
A urus genesis aya dina akar tangle tur ngawengku sagala tokens IOTA sadia, disebutna iotas.
IOTA 1.0 ngagunakeun pendekatan palaksanaan rada unconventional dumasar kana ngagambarkeun trinary: unggal unsur dina IOTA digambarkeun ngagunakeun trits = -1, 0, 1 tinimbang bit, sarta trytes 3 trits tinimbang bait. A tryte digambarkeun salaku integer ti -13 nepi ka 13, disandikeun maké hurup (AZ) jeung angka 9.
IOTA 1.5 (Chrysalis) ngagentos tata perenah transaksi trinér sareng struktur binér.
Jaringan IOTA kalebet titik sareng klien. Hiji titik disambungkeun ka peers dina jaringan jeung nyimpen salinan tangle nu. Klién mangrupikeun alat anu ngagaduhan siki anu dianggo pikeun nyiptakeun alamat sareng tanda tangan.
Klién nyiptakeun sareng nandatanganan transaksi sareng ngirimkeunana ka titik supados jaringan tiasa ngesahkeun sareng nyimpenana. Transaksi mundur kedah ngandung tanda tangan anu sah. Nalika urus dianggap sah, node nambihkeun kana buku ageung, ngamutahirkeun kasaimbangan alamat anu kapangaruhan sareng nyiarkeun transaksi ka tatanggana.
IOTA 1.5 - Chrysalis
Tujuan Yayasan IOTA nyaéta pikeun ngaoptimalkeun jaringan utama IOTA sateuacan Coordicide sareng nawiskeun solusi anu siap-usaha pikeun ékosistem IOTA. Ieu kahontal ku update panengah disebut Chrysalis. Pembaruan utama anu diwanohkeun ku Chrysalis nyaéta:
- Alamat anu tiasa dianggo deui: nyoko kana skéma tandatangan Ed25519, ngagentos skéma tanda tangan hiji waktos Winternitz (W-OTS), ngamungkinkeun para pangguna aman ngirim token tina alamat anu sami sababaraha kali;
- Henteu aya deui bundel: IOTA 1.0 nganggo konsép bundle pikeun nyiptakeun transfer. Bundles mangrupakeun sakumpulan transaksi numbu babarengan ku rujukan akar maranéhanana (batang). Kalayan pembaruan IOTA 1.5, konstruk kebat anu lami dihapus sareng diganti ku transaksi Atom anu langkung sederhana. Vertex Tangle diwakilan ku Pesen anu mangrupikeun jinis wadah anu tiasa gaduh muatan sawenang-wenang (nyaéta, payload Token atanapi payload Indexation);
- model UTXO: asalna, IOTA 1.0 dipaké modél dumasar-akun pikeun nyukcruk tokens IOTA individu: unggal alamat IOTA ngayakeun Jumlah tokens sarta jumlah aggregated of tokens ti sakabeh alamat IOTA éta sarua jeung total suplai. Gantina, IOTA 1.5 ngagunakeun modél kaluaran transaksi unspent, atawa UTXO, dumasar kana pamanggih nyukcruk jumlah unspent of tokens via struktur data disebut kaluaran;
- Nepi ka 8 Kolot: sareng IOTA 1.0, anjeun kedah ngarujuk kana 2 transaksi indungna. Kalayan Chrysalis, langkung seueur titik induk anu dirujuk (dugi ka 8) diwanohkeun. Pikeun ménta hasil pangalusna, sahenteuna 2 kolotna unik dina hiji waktu dianjurkeun.
Tumbu patali
Kanggo inpo nu langkung lengkep ihwal Chrysalis, mangga tingal kaca dokuméntasi ieu
Bukti-of-Gawé
Protokol IOTA ngagunakeun Proof-of-Work minangka sarana pikeun meunteun-wates jaringan.
IOTA 1.0 nganggo Curl-P-81 fungsi hash trinér sarta diperlukeun Hash kalawan jumlah cocog labuh enol trits pikeun ngaluarkeun transaksi ka Tangle.
Kalayan Chrysalis, anjeun tiasa ngaluarkeun pesen binér ukuran sawenang. RFC ieu ngajelaskeun kumaha carana adaptasi mékanisme PoW anu tos aya kana sarat anyar. Tujuanana pikeun janten sakedik ngaganggu kana mékanisme PoW ayeuna.
Arsitéktur
Ekspansi STM32Cube ieu ngamungkinkeun ngembangkeun aplikasi ngakses jeung ngagunakeun middleware IOTA DLT.
Hal ieu dumasar kana lapisan abstraksi hardware STM32CubeHAL pikeun mikrokontroler STM32 tur ngalegaan STM32Cube ku pakét rojongan dewan husus (BSP) pikeun dewan ékspansi mikropon jeung komponén middleware pikeun ngolah audio jeung komunikasi USB jeung PC.
Lapisan parangkat lunak anu dianggo ku parangkat lunak aplikasi pikeun ngaksés sareng ngagunakeun papan ékspansi mikropon nyaéta:
- STM32Cube HAL lapisan: nyadiakeun generik, multi-instance set API pikeun berinteraksi sareng lapisan luhur (aplikasi, perpustakaan jeung tumpukan). Éta diwangun ku API umum sareng ekstensi dumasar kana arsitéktur umum anu ngamungkinkeun lapisan sanés sapertos lapisan middleware tiasa dianggo tanpa konfigurasi hardware Unit Mikrokontroler (MCU) khusus. Struktur ieu ngaronjatkeun reusability kode perpustakaan jeung ngajamin portability alat gampang.
- Board Rojongan Paket (BSP) lapisan: mangrupakeun sakumpulan API nu nyadiakeun panganteur programming pikeun périferal husus dewan (LED, tombol pamaké jsb). panganteur ieu ogé mantuan dina ngaidentipikasi versi dewan husus sarta nyadiakeun rojongan pikeun initializing diperlukeun périferal MCU jeung data bacaan.
angka 1. arsitéktur software X-CUBE-IOTA1
Struktur folder
Gambar 2. Struktur folder X-CUBE-IOTA1
Polder di handap ieu kalebet dina pakét parangkat lunak:
- Dokuméntasi: ngandung HTML disusun file dihasilkeun tina kode sumber sareng dokuméntasi lengkep ngeunaan komponén parangkat lunak sareng API
- Supir: ngandung panggerak HAL sareng panggerak spésifik papan pikeun platform papan sareng hardware anu dirojong, kalebet pikeun komponén on-board sareng lapisan abstraksi hardware-independen vendor CMSIS pikeun séri prosesor ARM® Cortex®-M.
- Middlewares: ngandung perpustakaan anu nampilkeun FreeRTOS; manajemén Wi-Fi; énkripsi, hashing, auténtikasi pesen, sareng tanda tangan digital (Cryptolib); kaamanan tingkat angkutan (MbedTLS); API Klién IOTA pikeun berinteraksi sareng Tangle
- Proyék: ngandung examples pikeun mantuan Anjeun ngamekarkeun aplikasi IOTA DLT Klien pikeun platform basis STM32 dirojong (B-L4S5I-IOT01A), kalawan tilu lingkungan ngembangkeun, IAR Embedded Workbench pikeun ARM (EWARM), NyataView Kit Pangwangunan Mikrokontroler (MDK-ARM) sareng STM32CubeIDE
API
Inpormasi téknis lengkep sareng fungsi API pangguna lengkep sareng pedaran parameter aya dina HTML anu disusun file dina folder "Dokuméntasi".
IOTA-klien pedaran aplikasi
Proyék files pikeun aplikasi IOTA-klien bisa kapanggih dina: $ BASE_DIR \ Projects \ B-L4S5IIOT01A \ Aplikasi \ IOTA-klien.
Proyék siap-diwangun sayogi pikeun sababaraha IDE.
Antarbeungeut pangguna disayogikeun via port serial sareng kedah dikonpigurasi sareng setélan ieu:
Angka 3. Istilah Tera - Pangaturan Terminal
angka 4. Term Tera - Setélan port serial
Pikeun ngajalankeun aplikasi, tuturkeun prosedur di handap ieu.
Lengkah 1. Buka terminal séri pikeun ngabayangkeun log pesen.
Lengkah 2. Lebetkeun konfigurasi jaringan Wi-Fi anjeun (SSID, Modeu Kaamanan, sareng kecap akses).
Lengkah 3. Setel sertipikat TLS root CA.
Lengkah 4. Salin sareng témpél eusi Projects\B-L4S5I-IOT01A\Applications\IOTAClient\userrust_thetangle.pem. Alatna nganggo aranjeunna pikeun ngabuktoskeun kaaslianana host jauh ngalangkungan TLS.
Catetan: Saatos ngonpigurasikeun parameter, anjeun tiasa ngarobih ku ngabalikan deui papan sareng pencét tombol Pamaké (tombol biru) dina 5 detik. Data ieu bakal disimpen dina mémori Flash.
Angka 5. Setélan parameter Wi-Fi
Lengkah 5. Antosan dugi pesen "Pencét naon waé pikeun neraskeun" némbongan. Layar teras disegerkeun sareng daptar fungsi utama:
- Kirim pesen indéksasi umum
- Kirim pesen sénsor indexation (kaasup timestamp, Suhu, sareng Kelembapan)
- Meunang kasaimbangan
- Kirim Transaksi
- fungsi séjén
Gambar 6. ménu utama
Lengkah 6. Pilih pilihan 3 pikeun nguji salah sahiji fungsi ieu:
Kéngingkeun inpormasi node | Kéngingkeun kiat |
Meunang kaluaran | Kaluaran ti alamat |
Meunang kasaimbangan | Kasalahan réspon |
Kéngingkeun pesen | Kirim pesen |
Panggihan pesen | Dompét tés |
Pangwangun pesen | Nguji crypto |
Gambar 7. Fungsi séjén
Tumbu patali
Pikeun detil salajengna ngeunaan fungsi IOTA 1.5, tingal dokuméntasi Klién IOTA C
Pituduh setelan sistem
Katerangan hardware
STM32L4 + Papanggihan kit titik IoT
Kit B-L4S5I-IOT01A Discovery pikeun titik IoT ngamungkinkeun anjeun pikeun ngembangkeun aplikasi pikeun langsung nyambung ka server awan.
Kit Discovery ngamungkinkeun rupa-rupa aplikasi ku cara ngamangpaatkeun komunikasi kakuatan-rendah, sensing multi-arah sareng fitur séri STM4L32+ basis inti ARM®Cortex® -M4+.
Éta ngadukung Arduino Uno R3 sareng konektipitas PMOD anu nyayogikeun kamampuan ékspansi anu henteu terbatas sareng pilihan ageung papan tambihan khusus.
angka 8. B-L4S5I-IOT01A Papanggihan kit
Setélan hardware
Komponén hardware di handap ieu diperlukeun:
- hiji STM32L4 + Discovery kit pikeun titik IoT dilengkepan panganteur Wi-Fi (kode urutan: B-L4S5I-IOT01A)
- a USB tipe A mun Mini-B USB Tipe B kabel pikeun nyambungkeun STM32 dewan pamanggihan ka PC nu
Setup parangkat lunak
Komponén parangkat lunak di handap ieu diperyogikeun pikeun nyetél lingkungan pangembangan pikeun nyiptakeun aplikasi IOTA DLT pikeun B-L4S5I-IOT01A:
- X-CUBE-IOTA1: firmware jeung dokuméntasi patali sadia on st.com
- alat-ranté pangwangunan sareng kompiler: parangkat lunak ékspansi STM32Cube ngadukung lingkungan ieu:
– IAR Embedded Workbench pikeun ARM ® (EWARM) toolchain + ST-LINK/V2
– NyataView Microcontroller Development Kit (MDK-ARM) toolchain + ST-link / V2
- STM32CubeIDE + ST-link / V2
Setélan sistem
Papan Papanggihan B-L4S5I-IOT01A ngamungkinkeun eksploitasi fitur IOTA DLT. dewan integrates ST-link / V2-1 debugger / programmer. Anjeun tiasa ngundeur versi relevan tina ST-link / V2-1 supir USB di STSW- LINK009.
Riwayat révisi
Méja 2. Sajarah révisi dokumén
titimangsa | Révisi | Parobahan |
13-Jun-19 | 1 | Pelepasan awal |
18-Jun-19 | 2 | Diropéa Bagéan 3.4.8.1 TX_IN na TX_OUT, Bagéan 3.4.8.3 Ngirim data ngaliwatan nol-nilai transaksi jeung Bagian 3.4.8.4 Ngirim dana ngaliwatan transaksi mindahkeun. |
6-Mei-21 | 3 | Bubuka diropéa, Bagéan 1 Akronim jeung singketan, Bagéan 2.1 Leuwihview, Bagéan 2.1.1 IOTA 1.0, Bagéan 2.1.3 Buktina Gawé, Bagéan 2.2 Arsitéktur, Bagéan 2.3 Struktur folder, Bagéan 3.2 Setup hardware, Bagéan 3.3 Setup parangkat lunak sareng Bagéan 3.4 Setup sistem. Dipiceun Bagéan 2 jeung diganti ku tumbu dina Bubuka. Dipiceun Bagian 3.1.2 Transaksi jeung bundles, Bagian 3.1.3 Akun jeung tanda tangan, Bagian 3.1.5 Hashing. Bagian 3.4 Cara nulis aplikasi sareng sub-bagian anu aya hubunganana, Bagian 3.5 Katerangan aplikasi IOTALightNode sareng sub-bagian anu aya hubunganana, sareng Bagian 4.1.1 STM32 platform Nucleo ditambahkeun Bagian 2.1.2IOTA 1.5 - Chrysalis, bagian 2.5 IOTA-klien pedaran aplikasi, Bagian 2.4 API jeung Bagian 3.1.1 STM32L4 + Papanggihan kit titik IoT. |
PERHATOSAN Penting - Punten Maca Ati-ati
STMicroelectronics NV sareng anak perusahaanna ("ST") ngagaduhan hak pikeun ngalakukeun parobihan, koréksi, paningkatan, modifikasi, sareng paningkatan produk ST sareng / atanapi kana dokumen ieu iraha waé tanpa aya bewara. Pembeli kedah kéngingkeun inpormasi anu paling relevan pikeun produk ST sateuacan nempatkeun pesenan. Produk ST dijual dumasar kana istilah sareng kaayaan jual beuli ST dina tempat pangakuan pesenan.
Pembeli tanggung jawab ngan ukur pikeun pilihan, pamilihan, sareng panggunaan produk ST sareng ST henteu ngagaduhan tanggungan pikeun bantosan aplikasi atanapi desain produk Purchasers.
Henteu aya lisénsi, terang atanapi tersirat, kana hak cipta intelektual anu dipasihkeun ku ST di dieu.
Dijual deui produk ST kalayan katangtuan anu béda ti inpormasi anu dijelaskeun di dieu bakal ngabatalkeun jaminan anu dipasihkeun ku ST pikeun produk sapertos kitu.
ST jeung logo ST mangrupakeun mérek dagang ti ST. Pikeun émbaran tambahan ngeunaan merek dagang ST, mangga tingal www.st.com/trademarks. Sadaya nami produk atanapi jasa sanés mangrupikeun hak milik nu gaduhna.
Inpormasi dina dokumén ieu ngagentos sareng ngagentos inpormasi anu disayogikeun saacanna dina versi sateuacanna tina dokumén ieu.
© 2021 STMicroelectronics – Sadaya hak ditangtayungan
Dokumén / Sumberdaya
![]() |
Paket Software ékspansi ST X-CUBE-IOTA1 pikeun STM32Cube [pdf] Manual pamaké ST, X-CUBE-IOTA1, ékspansi, Paket software, keur, STM32Cube |