Papan Pengembangan ST X-NUCLEO-53L1A2 -- Konfigurasi gangguan

UM2606
Manual pengguna

Bermula dengan Lejar Teragih IOTA
Pengembangan perisian teknologi untuk STM32Cube

pengenalan

The X-CUBE-IOTA1 pakej perisian pengembangan untuk STM32Cube berjalan pada STM32 dan termasuk perisian tengah untuk membolehkan fungsi Teknologi Lejar Teragih (DLT) IOTA.
IOTA DLT ialah penyelesaian transaksi dan lapisan pemindahan data untuk Internet of Things (IoT). IOTA membenarkan orang dan mesin untuk memindahkan wang dan/atau data tanpa sebarang yuran transaksi dalam persekitaran tanpa amanah, tanpa kebenaran dan terdesentralisasi. Teknologi ini juga membolehkan pembayaran mikro tanpa memerlukan pengantara yang dipercayai dalam apa jua bentuk. Pengembangan ini dibina pada teknologi perisian STM32Cube untuk memudahkan kemudahalihan merentas pengawal mikro STM32 yang berbeza. Versi semasa perisian berjalan pada B-L4S5I-IOT01A Kit penemuan untuk nod IoT dan bersambung ke Internet melalui antara muka Wi-Fi yang dilampirkan.

PAUTAN BERKAITAN

Lawati ekosistem STM32Cube web halaman di www.st.com untuk maklumat lanjut
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 dan singkatan

Jadual 1. Senarai akronim

Akronim Penerangan
DLT Teknologi lejar teragih
IDE Persekitaran pembangunan bersepadu
IoT Internet perkara
PoW Bukti-Kerja

Pengembangan perisian X-CUBE-IOTA1 untuk STM32Cube

Berakhirview

The X-CUBE-IOTA1 pakej perisian berkembang STM32Cube fungsi dengan ciri utama berikut:

  • Lengkapkan perisian tegar untuk membina aplikasi IOTA DLT untuk papan berasaskan STM32
  • Perpustakaan middleware yang menampilkan:
    – PercumaRTOS
    – Pengurusan Wi-Fi
    – penyulitan, pencincangan, pengesahan mesej, dan tandatangan digital (Cryptolib)
    – keselamatan peringkat pengangkutan (MbedTLS)
    – API Klien IOTA untuk berinteraksi dengan Tangle
  • Pemacu lengkap untuk membina aplikasi yang mengakses penderia gerakan dan persekitaran
  • Examples untuk membantu memahami cara membangunkan aplikasi Klien IOTA DLT
  • Mudah alih mudah merentas keluarga MCU yang berbeza, terima kasih kepada STM32Cube
  • Syarat lesen percuma dan mesra pengguna

Pengembangan perisian menyediakan perisian tengah untuk membolehkan IOTA DLT pada mikropengawal STM32. IOTA DLT ialah penyelesaian transaksi dan lapisan pemindahan data untuk Internet of Things (IoT). IOTA membenarkan orang dan mesin untuk memindahkan wang dan/atau data tanpa sebarang yuran transaksi dalam persekitaran tanpa amanah, tanpa kebenaran dan terdesentralisasi. Teknologi ini juga membolehkan pembayaran mikro tanpa memerlukan pengantara yang dipercayai dalam apa jua bentuk.

IOTA 1.0

Teknologi Lejar Teragih (DLT) dibina pada rangkaian nod yang mengekalkan lejar teragih, yang merupakan pangkalan data teragih yang terjamin secara kriptografi untuk merekodkan urus niaga. Nod mengeluarkan transaksi melalui protokol konsensus.
IOTA ialah teknologi lejar teragih yang direka khusus untuk IoT.
Lejar yang diedarkan IOTA dipanggil kusut dan dicipta oleh urus niaga yang dikeluarkan oleh nod dalam rangkaian IOTA.
Untuk menerbitkan transaksi dalam kusut, nod perlu:

  1. mengesahkan dua transaksi yang tidak diluluskan yang dipanggil petua
  2. mencipta dan menandatangani transaksi baharu
  3. melaksanakan Bukti-Kerja yang mencukupi
  4. menyiarkan transaksi baharu ke rangkaian IOTA

Urus niaga dilampirkan pada kusut bersama-sama dengan dua rujukan yang menunjuk kepada transaksi yang disahkan.
Struktur ini boleh dimodelkan sebagai graf akiklik terarah, di mana bucu mewakili urus niaga tunggal dan tepi mewakili rujukan antara pasangan urus niaga.
Transaksi genesis berada pada akar kusut dan termasuk semua token IOTA yang tersedia, dipanggil iota.
IOTA 1.0 menggunakan pendekatan pelaksanaan yang agak tidak konvensional berdasarkan perwakilan trinari: setiap elemen dalam IOTA diterangkan menggunakan trits = -1, 0, 1 dan bukannya bit dan trytes daripada 3 trits dan bukannya bait. Tryte diwakili sebagai integer dari -13 hingga 13, dikodkan menggunakan huruf (AZ) dan nombor 9.
IOTA 1.5 (Chrysalis) menggantikan susun atur transaksi trinari dengan struktur binari.
Rangkaian IOTA termasuk nod dan pelanggan. Nod disambungkan kepada rakan sebaya dalam rangkaian dan menyimpan salinan kusut. Pelanggan ialah peranti dengan benih untuk digunakan untuk membuat alamat dan tandatangan.
Pelanggan mencipta dan menandatangani transaksi dan menghantarnya ke nod supaya rangkaian boleh mengesahkan dan menyimpannya. Urus niaga pengeluaran mesti mengandungi tandatangan yang sah. Apabila urus niaga dianggap sah, nod itu menambahkannya pada lejarnya, mengemas kini baki alamat yang terjejas dan menyiarkan urus niaga itu kepada jirannya.

IOTA 1.5 – Chrysalis

Objektif Yayasan IOTA adalah untuk mengoptimumkan jaringan utama IOTA sebelum Coordicide dan untuk menawarkan penyelesaian sedia perusahaan untuk ekosistem IOTA. Ini dicapai dengan kemas kini perantaraan yang dipanggil Chrysalis. Peningkatan utama yang diperkenalkan oleh Chrysalis ialah:

  • Alamat yang boleh diguna semula: penggunaan skim tandatangan Ed25519, menggantikan skema tandatangan sekali masa Winternitz (W-OTS), membolehkan pengguna menghantar token dengan selamat dari alamat yang sama beberapa kali;
  • Tiada lagi himpunan: IOTA 1.0 menggunakan konsep himpunan untuk membuat pemindahan. Himpunan ialah satu set transaksi yang dipautkan bersama oleh rujukan akarnya (batang). Dengan kemas kini IOTA 1.5, binaan berkas lama dialih keluar dan digantikan dengan transaksi Atomic yang lebih mudah. Puncak Tangle diwakili oleh Mesej yang merupakan sejenis bekas yang boleh mempunyai muatan sewenang-wenang (iaitu, muatan Token atau muatan Indeks);
  • Model UTXO: pada asalnya, IOTA 1.0 menggunakan model berasaskan akaun untuk menjejaki token IOTA individu: setiap alamat IOTA memegang beberapa token dan bilangan agregat token daripada semua alamat IOTA adalah sama dengan jumlah bekalan. Sebaliknya, IOTA 1.5 menggunakan model output transaksi yang tidak dibelanjakan, atau UTXO, berdasarkan idea untuk menjejak jumlah token yang tidak dibelanjakan melalui struktur data yang dipanggil output;
  • Sehingga 8 Ibu Bapa: dengan IOTA 1.0, anda sentiasa perlu merujuk 2 transaksi ibu bapa. Dengan Chrysalis, lebih banyak bilangan nod induk yang dirujuk (sehingga 8) diperkenalkan. Untuk mendapatkan hasil yang terbaik, sekurang-kurangnya 2 ibu bapa unik pada satu masa disyorkan.

PAUTAN BERKAITAN
Untuk maklumat lanjut tentang Chrysalis, sila rujuk halaman dokumentasi ini

Bukti-Kerja

Protokol IOTA menggunakan Bukti Kerja sebagai cara untuk mengehadkan kadar rangkaian.
IOTA 1.0 menggunakan Curl-Fungsi cincang trinari P-81 dan memerlukan cincangan dengan nombor yang sepadan dengan trit sifar mengekor untuk mengeluarkan urus niaga kepada Kusut.
Dengan Chrysalis, adalah mungkin untuk mengeluarkan mesej binari dengan saiz sewenang-wenangnya. RFC ini menerangkan cara menyesuaikan mekanisme PoW sedia ada kepada keperluan baharu. Ia bertujuan untuk mengurangkan gangguan yang mungkin kepada mekanisme PoW semasa.

Seni bina

Pengembangan STM32Cube ini membolehkan pembangunan aplikasi mengakses dan menggunakan perisian tengah IOTA DLT.
Ia berdasarkan lapisan abstraksi perkakasan STM32CubeHAL untuk mikropengawal STM32 dan memanjangkan STM32Cube dengan pakej sokongan papan khusus (BSP) untuk papan pengembangan mikrofon dan komponen middleware untuk pemprosesan audio dan komunikasi USB dengan PC.
Lapisan perisian yang digunakan oleh perisian aplikasi untuk mengakses dan menggunakan papan pengembangan mikrofon ialah:

  • Lapisan HAL STM32Cube: menyediakan set API berbilang contoh generik untuk berinteraksi dengan lapisan atas (aplikasi, perpustakaan dan tindanan). Ia terdiri daripada API generik dan sambungan berdasarkan seni bina biasa yang membenarkan lapisan lain seperti lapisan middleware berfungsi tanpa konfigurasi perkakasan Unit Mikropengawal (MCU) tertentu. Struktur ini meningkatkan kebolehgunaan semula kod perpustakaan dan menjamin mudah alih peranti.
  • Lapisan Pakej Sokongan Papan (BSP): ialah satu set API yang menyediakan antara muka pengaturcaraan untuk persisian khusus papan tertentu (LED, butang pengguna dll.). Antara muka ini juga membantu dalam mengenal pasti versi papan tertentu dan menyediakan sokongan untuk memulakan peranti MCU yang diperlukan dan membaca data.

Rajah 1. Seni bina perisian X-CUBE-IOTA1

Pakej Perisian Pengembangan X-CUBE-IOTA1 -- Pengembangan X-CUBE-IOTA1

Struktur folder

Rajah 2. Struktur folder X-CUBE-IOTA1Pakej Perisian Pengembangan X-CUBE-IOTA1 -- struktur folder

Folder berikut disertakan dalam pakej perisian:

  • Dokumentasi: mengandungi HTML yang disusun file dihasilkan daripada kod sumber dan dokumentasi terperinci komponen perisian dan API
  • Pemandu: mengandungi pemacu HAL dan pemacu khusus papan untuk platform papan dan perkakasan yang disokong, termasuk pemacu untuk komponen atas papan dan lapisan abstraksi perkakasan bebas vendor CMSIS untuk siri pemproses ARM® Cortex®-M
  • Middlewares: mengandungi perpustakaan yang menampilkan FreeRTOS; pengurusan Wi-Fi; penyulitan, pencincangan, pengesahan mesej dan tandatangan digital (Cryptolib); keselamatan peringkat pengangkutan (MbedTLS); API Klien IOTA untuk berinteraksi dengan Tangle
  • Projek: mengandungi examples untuk membantu anda membangunkan aplikasi Klien IOTA DLT untuk platform berasaskan STM32 yang disokong (B-L4S5I-IOT01A), dengan tiga persekitaran pembangunan, IAR Embedded Workbench for ARM (EWARM), RealView Kit Pembangunan Pengawal Mikro (MDK-ARM) dan STM32CubeIDE
API

Maklumat teknikal terperinci dengan fungsi API pengguna penuh dan perihalan parameter terdapat dalam HTML yang disusun file dalam folder "Dokumentasi".

Perihalan aplikasi IOTA-Pelanggan

Projek itu files untuk aplikasi IOTA-Client boleh didapati dalam: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Projek sedia untuk dibina tersedia untuk berbilang IDE.
Antara muka pengguna disediakan melalui port bersiri dan mesti dikonfigurasikan dengan tetapan berikut:

Rajah 3. Istilah Tera – Persediaan terminalPakej Perisian Pengembangan X-CUBE-IOTA1 -- Persediaan port bersiri

Rajah 4. Istilah Tera – Persediaan port bersiriPakej Perisian Pengembangan X-CUBE-IOTA1 -- Persediaan terminal

Untuk menjalankan aplikasi, ikuti prosedur di bawah.
Langkah 1. Buka terminal bersiri untuk menggambarkan log mesej.
Langkah 2. Masukkan konfigurasi rangkaian Wi-Fi anda (SSID, Mod Keselamatan dan kata laluan).
Langkah 3. Tetapkan sijil CA akar TLS.
Langkah 4. Salin dan tampal kandungan Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem. Peranti menggunakannya untuk mengesahkan hos jauh melalui TLS.

Nota: Selepas mengkonfigurasi parameter, anda boleh menukarnya dengan memulakan semula papan dan menekan butang Pengguna (butang biru) dalam masa 5 saat. Data ini akan disimpan dalam memori Flash.

Rajah 5. Tetapan parameter Wi-Fi

Pakej Perisian Pengembangan X-CUBE-IOTA1 -- tetapan parameter Wi-FiLangkah 5. Tunggu mesej "Tekan sebarang kekunci untuk meneruskan" muncul. Skrin kemudiannya disegarkan dengan senarai fungsi utama:

  • Hantar mesej pengindeksan generik
  • Hantar mesej penderia pengindeksan (termasuk masaamp, Suhu dan Kelembapan)
  • Dapatkan keseimbangan
  • Hantar Transaksi
  • Fungsi lain

Rajah 6. Menu utama
Pakej Perisian Pengembangan X-CUBE-IOTA1 -- Menu utama

Langkah 6. Pilih pilihan 3 untuk menguji salah satu fungsi berikut:

Dapatkan maklumat nod Dapatkan petua
Dapatkan output Output daripada alamat
Dapatkan keseimbangan Ralat respons
Dapatkan mesej Hantar mesej
Cari mesej Dompet ujian
Pembina mesej Uji kripto

Rajah 7. Fungsi lainPakej Perisian Pengembangan X-CUBE-IOTA1 -Fungsi lain

PAUTAN BERKAITAN
Untuk butiran lanjut tentang fungsi IOTA 1.5, rujuk kepada dokumentasi Klien IOTA C

Panduan persediaan sistem

Penerangan perkakasan
STM32L4+ Kit penemuan nod IoT

Kit Penemuan B-L4S5I-IOT01A untuk nod IoT membolehkan anda membangunkan aplikasi untuk menyambung terus ke pelayan awan.
Kit Discovery mendayakan pelbagai jenis aplikasi dengan mengeksploitasi komunikasi kuasa rendah, penderiaan berbilang hala dan ciri siri STM4L32+ berasaskan teras ARM®Cortex® -M4+.
Ia menyokong ketersambungan Arduino Uno R3 dan PMOD yang menyediakan keupayaan pengembangan tanpa had dengan pilihan besar papan tambahan khusus.

Rajah 8. B-L4S5I-IOT01A Kit penemuanPakej Perisian Pengembangan X-CUBE-IOTA1 -- B-L4S5I-IOT01A Discovery ki

Persediaan perkakasan

Komponen perkakasan berikut diperlukan:

  1. satu kit Penemuan STM32L4+ untuk nod IoT dilengkapi dengan antara muka Wi-Fi (kod pesanan: B-L4S5I-IOT01A)
  2. kabel USB jenis A ke Mini-B USB Jenis B untuk menyambungkan papan penemuan STM32 ke PC
Persediaan perisian

Komponen perisian berikut diperlukan untuk menyediakan persekitaran pembangunan untuk mencipta aplikasi IOTA DLT untuk B-L4S5I-IOT01A:

  • X-CUBE-IOTA1: perisian tegar dan dokumentasi berkaitan tersedia di st.com
  • rantai alat pembangunan dan pengkompil: perisian pengembangan STM32Cube menyokong persekitaran berikut:
    – Meja Kerja Terbenam IAR untuk rantai alat ARM ® (EWARM) + ST-LINK/V2
    – NyataView Rantai alat Kit Pembangunan Mikropengawal (MDK-ARM) + ST-LINK/V2
    – STM32CubeIDE + ST-LINK/V2
Persediaan sistem

Papan Penemuan B-L4S5I-IOT01A membenarkan eksploitasi ciri DLT IOTA. Papan menyepadukan penyahpepijat/pengaturcara ST-LINK/V2-1. Anda boleh memuat turun versi pemacu USB ST-LINK/V2-1 yang berkaitan di STSW- LINK009.

Sejarah semakan

Jadual 2. Sejarah semakan dokumen

tarikh Semakan Perubahan
13-Jun-19 1 Keluaran awal
18-Jun-19 2 Bahagian 3.4.8.1 TX_IN dan TX_OUT dikemas kini, Bahagian 3.4.8.3 Menghantar data melalui nilai sifar
urus niaga dan Seksyen 3.4.8.4 Menghantar dana melalui urus niaga pemindahan.
6-Mei-21 3 Pengenalan Dikemaskini, Bahagian 1 Akronim dan singkatan, Bahagian 2.1 Lebihview, Bahagian 2.1.1 IOTA 1.0, Bahagian 2.1.3 Bukti Kerja, Bahagian 2.2 Seni Bina, Bahagian 2.3 Struktur folder, Bahagian 3.2 Persediaan perkakasan, Bahagian 3.3 Persediaan perisian dan Bahagian 3.4 Persediaan sistem.
Dialih keluar Bahagian 2 dan digantikan dengan pautan dalam Pengenalan.
Dialih keluar Bahagian 3.1.2 Transaksi dan berkas, Bahagian 3.1.3 Akaun dan tandatangan, Bahagian
3.1.5 Hashing. Bahagian 3.4 Cara menulis aplikasi dan sub-bahagian yang berkaitan, Bahagian 3.5 Perihalan aplikasi IOTALightNode dan subseksyen yang berkaitan, dan Bahagian 4.1.1 STM32
Platform Nucleo Ditambah Bahagian 2.1.2IOTA 1.5 – Chrysalis, Bahagian 2.5 IOTA-Penerangan aplikasi klien, API Bahagian 2.4 dan Bahagian 3.1.1 STM32L4+ Discovery kit nod IoT.

 

NOTIS PENTING – SILA BACA DENGAN TELITI

STMicroelectronics NV dan anak syarikatnya (“ST”) berhak untuk membuat perubahan, pembetulan, penambahbaikan, pengubahsuaian dan penambahbaikan pada produk ST dan/atau pada dokumen ini pada bila-bila masa tanpa notis. Pembeli hendaklah mendapatkan maklumat terkini berkaitan produk ST sebelum membuat pesanan. Produk ST dijual menurut terma dan syarat jualan ST yang ada pada masa penerimaan pesanan.

Pembeli bertanggungjawab sepenuhnya untuk pilihan, pemilihan dan penggunaan produk ST dan ST tidak bertanggungjawab untuk bantuan permohonan atau reka bentuk produk Pembeli.
Tiada lesen, nyata atau tersirat, kepada mana-mana hak harta intelek diberikan oleh ST di sini.
Jualan semula produk ST dengan peruntukan yang berbeza daripada maklumat yang dinyatakan di sini akan membatalkan sebarang waranti yang diberikan oleh ST untuk produk tersebut.
ST dan logo ST ialah tanda dagangan ST. Untuk maklumat tambahan tentang tanda dagangan ST, sila rujuk www.st.com/trademarks. Semua nama produk atau perkhidmatan lain adalah hak milik pemilik masing-masing.
Maklumat dalam dokumen ini menggantikan dan menggantikan maklumat yang dibekalkan sebelum ini dalam mana-mana versi terdahulu dokumen ini.
© 2021 STMicroelectronics – Hak cipta terpelihara

Dokumen / Sumber

Pakej Perisian Pengembangan ST X-CUBE-IOTA1 untuk STM32Cube [pdf] Manual Pengguna
ST, X-CUBE-IOTA1, Pengembangan, Pakej Perisian, untuk, STM32Cube

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *