UM2606
Kullanıcı kılavuzu
IOTA Dağıtılmış Defterine Başlarken
STM32Cube için teknoloji yazılım genişlemesi
giriiş
The X-CUBE-IOTA1 genişleme yazılım paketi STM32Küp STM32 üzerinde çalışır ve IOTA Dağıtık Defter Teknolojisi (DLT) işlevlerini etkinleştirmek için ara yazılım içerir.
IOTA DLT, Nesnelerin İnterneti (IoT) için bir işlem yerleşimi ve veri aktarım katmanıdır. IOTA, insanların ve makinelerin güvensiz, izinsiz ve merkezi olmayan bir ortamda herhangi bir işlem ücreti ödemeden para ve/veya veri aktarmasını sağlar. Bu teknoloji, herhangi bir türde güvenilir bir aracıya ihtiyaç duymadan mikro ödemeleri bile mümkün kılar. Genişleme, farklı STM32 mikrodenetleyicileri arasında taşınabilirliği kolaylaştırmak için STM32Cube yazılım teknolojisi üzerine kurulmuştur. Yazılımın mevcut sürümü, B-L4S5I-IOT01A IoT düğümü için keşif kitidir ve ekli Wi-Fi arayüzü aracılığıyla İnternet'e bağlanır.
İLGİLİ BAĞLANTILAR
STM32Cube ekosistemini ziyaret edin web Daha fazla bilgi için www.st.com sayfasında
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
Kısaltmalar ve kısaltmalar
Tablo 1. Kısaltma listesi
Kısaltma | Tanım |
DLT | Dağıtılmış muhasebe teknolojisi |
İDE | Entegre geliştirme ortamı |
Nesnelerin İnterneti | Nesnelerin interneti |
İşe Yarar Belgesi | İş Kanıtı |
STM1Cube için X-CUBE-IOTA32 yazılım genişletmesi
Üzerindeview
The X-CUBE-IOTA1 yazılım paketi genişliyor STM32Küp Aşağıdaki temel özelliklere sahip işlevsellik:
- STM32 tabanlı kartlar için IOTA DLT uygulamaları oluşturmak için eksiksiz aygıt yazılımı
- Şu özelliklere sahip ara yazılım kütüphaneleri:
– ÜcretsizRTOS
– Wi-Fi yönetimi
– şifreleme, karma oluşturma, mesaj doğrulama ve dijital imzalama (Cryptolib)
– taşıma düzeyinde güvenlik (MbedTLS)
– Tangle ile etkileşim kurmak için IOTA İstemci API'si - Hareket ve çevresel sensörlere erişen uygulamalar oluşturmak için eksiksiz sürücü
- ExampIOTA DLT İstemci uygulamasının nasıl geliştirileceğini anlamanıza yardımcı olacak bilgiler
- STM32Cube sayesinde farklı MCU aileleri arasında kolay taşınabilirlik
- Ücretsiz, kullanıcı dostu lisans koşulları
Yazılım genişlemesi, STM32 mikrodenetleyicisinde IOTA DLT'yi etkinleştirmek için ara yazılımı sağlar. IOTA DLT, Nesnelerin İnterneti (IoT) için bir işlem yerleşimi ve veri aktarım katmanıdır. IOTA, insanların ve makinelerin güvensiz, izinsiz ve merkezi olmayan bir ortamda herhangi bir işlem ücreti ödemeden para ve/veya veri aktarmalarına olanak tanır. Bu teknoloji, herhangi bir türde güvenilir bir aracıya ihtiyaç duymadan mikro ödemeleri bile mümkün kılar.
IOTA 1.0
Dağıtılmış Defter Teknolojileri (DLT'ler), işlemleri kaydetmek için kriptografik olarak güvenli, dağıtılmış bir veritabanı olan dağıtılmış bir defteri tutan bir düğüm ağı üzerine kuruludur. Düğümler, bir fikir birliği protokolü aracılığıyla işlemleri yayınlar.
IOTA, IoT için özel olarak tasarlanmış dağıtık bir defter teknolojisidir.
IOTA dağıtık defterine tangle adı verilir ve IOTA ağındaki düğümler tarafından yapılan işlemlerle oluşturulur.
Tangle'da bir işlemi yayınlamak için bir düğümün şunları yapması gerekir:
- onaylanmamış iki işlemi doğrulamak için ipuçları adı verilir
- yeni işlemi oluştur ve imzala
- yeterli İş Kanıtı gerçekleştirin
- yeni işlemi IOTA ağına yayınla
İşlem, doğrulanmış işlemleri işaret eden iki referansla birlikte düğüme eklenir.
Bu yapı, köşelerin tekil işlemleri, kenarların ise işlem çiftleri arasındaki referansları temsil ettiği yönlendirilmiş döngüsüz bir grafik olarak modellenebilir.
Genesis işlemi, dolanıklık kökünde yer alır ve iota adı verilen tüm mevcut IOTA token'larını içerir.
IOTA 1.0, üçlü gösterime dayalı oldukça alışılmadık bir uygulama yaklaşımı kullanır: IOTA'daki her öğe bitler yerine trit = -1, 0, 1 ve baytlar yerine 3 tritlik tryte'ler kullanılarak tanımlanır. Tryte, harfler (AZ) ve 13 rakamı kullanılarak kodlanmış -13 ile 9 arasında bir tam sayı olarak gösterilir.
IOTA 1.5 (Chrysalis) üçlü işlem düzenini ikili yapıyla değiştiriyor.
IOTA ağı düğümler ve istemciler içerir. Bir düğüm ağdaki eşlere bağlanır ve karışıklığın bir kopyasını depolar. Bir istemci, adresler ve imzalar oluşturmak için kullanılacak bir tohuma sahip bir cihazdır.
İstemci işlemleri oluşturur ve imzalar ve bunları düğüme gönderir, böylece ağ bunları doğrulayabilir ve depolayabilir. Geri çekilen işlemler geçerli bir imza içermelidir. Bir işlem geçerli kabul edildiğinde, düğüm bunu defterine ekler, etkilenen adreslerin bakiyelerini günceller ve işlemi komşularına yayınlar.
IOTA 1.5 – Krizalit
IOTA Vakfı'nın amacı, Coordicide'dan önce IOTA ana ağını optimize etmek ve IOTA ekosistemi için kurumsal düzeyde hazır bir çözüm sunmaktır. Bu, Chrysalis adlı bir ara güncelleme ile gerçekleştirilir. Chrysalis tarafından sunulan ana yükseltmeler şunlardır:
- Tekrar kullanılabilir adresler: Winternitz tek zamanlı imza şemasının (W-OTS) yerini alan Ed25519 imza şemasının benimsenmesi, kullanıcıların aynı adresten tokenleri güvenli bir şekilde birkaç kez göndermelerine olanak tanır;
- Artık paket yok: IOTA 1.0, transferleri oluşturmak için paket kavramını kullanır. Paketler, kök referansları (gövde) ile birbirine bağlı bir dizi işlemdir. IOTA 1.5 güncellemesiyle, eski paket yapısı kaldırılır ve daha basit Atomik işlemlerle değiştirilir. Tangle tepe noktası, keyfi yükler (yani, Token yükü veya Endeksleme yükü) içerebilen bir tür kapsayıcı olan Mesaj tarafından temsil edilir;
- UTXO modeli: başlangıçta, IOTA 1.0 bireysel IOTA token'larını izlemek için hesap tabanlı bir model kullanıyordu: her IOTA adresi belirli sayıda token tutuyordu ve tüm IOTA adreslerinden gelen token'ların toplam sayısı toplam arza eşitti. Bunun yerine, IOTA 1.5 harcanmamış işlem çıktı modelini veya UTXO'yu kullanır; bu, çıktı adı verilen bir veri yapısı aracılığıyla harcanmamış token miktarlarını izleme fikrine dayanır;
- 8'e Kadar Ebeveyn: IOTA 1.0 ile her zaman 2 ebeveyn işlemine başvurmanız gerekiyordu. Chrysalis ile daha fazla sayıda başvurulan ebeveyn düğümü (8'e kadar) tanıtıldı. En iyi sonuçları elde etmek için, aynı anda en az 2 benzersiz ebeveyn önerilir.
İLGİLİ BAĞLANTILAR
Chrysalis hakkında daha fazla bilgi için lütfen bu dokümantasyon sayfasına bakın
İş Kanıtı
IOTA protokolü, ağın hızını sınırlamak için bir araç olarak İş Kanıtı'nı kullanır.
IOTA 1.0 C'yi kullandıurl-P-81 üçlü karma fonksiyonu ve Tangle'a bir işlem göndermek için eşleşen sayıda son sıfır trit içeren bir karma gereklidir.
Chrysalis ile, keyfi boyutta ikili mesajlar yayınlamak mümkündür. Bu RFC, mevcut PoW mekanizmasının yeni gereksinimlere nasıl uyarlanacağını açıklar. Mevcut PoW mekanizmasına mümkün olduğunca az zarar vermeyi amaçlar.
Mimarlık
STM32Cube genişlemesi, IOTA DLT ara yazılımına erişen ve onu kullanan uygulamaların geliştirilmesine olanak sağlıyor.
STM32 mikrodenetleyicisi için STM32CubeHAL donanım soyutlama katmanına dayanmaktadır ve STM32Cube'u mikrofon genişletme kartı için özel bir kart destek paketi (BSP) ve ses işleme ve PC ile USB iletişimi için ara yazılım bileşenleri ile genişletir.
Uygulama yazılımının mikrofon genişletme kartına erişmek ve kartı kullanmak için kullandığı yazılım katmanları şunlardır:
- STM32Cube HAL katmanı: Üst katmanlarla (uygulama, kütüphaneler ve yığınlar) etkileşim kurmak için genel, çok örnekli bir API seti sağlar. Ortak bir mimariye dayalı genel ve uzantı API'lerinden oluşur ve bu da ara katman gibi diğer katmanların belirli Mikrodenetleyici Birimi (MCU) donanım yapılandırmaları olmadan işlev görmesini sağlar. Bu yapı, kütüphane kodunun yeniden kullanılabilirliğini iyileştirir ve kolay cihaz taşınabilirliğini garanti eder.
- Kart Destek Paketi (BSP) katmanı: belirli karta özgü çevre birimleri (LED, kullanıcı düğmesi vb.) için bir programlama arayüzü sağlayan bir API kümesidir. Bu arayüz ayrıca belirli kart sürümünün belirlenmesine yardımcı olur ve gerekli MCU çevre birimlerinin başlatılması ve verilerin okunması için destek sağlar.
Şekil 1. X-CUBE-IOTA1 yazılım mimarisi
Klasör yapısı
Şekil 2. X-CUBE-IOTA1 klasör yapısı
Yazılım paketinde aşağıdaki klasörler bulunur:
- Belgeler: derlenmiş bir HTML içerir file Yazılım bileşenlerinin ve API'lerin kaynak kodundan ve ayrıntılı belgelerinden oluşturulmuştur
- Sürücüler: ARM® Cortex®-M işlemci serisi için yerleşik bileşenler ve CMSIS satıcıdan bağımsız donanım soyutlama katmanı dahil olmak üzere desteklenen kart ve donanım platformları için HAL sürücülerini ve karta özgü sürücüleri içerir
- Ara yazılımlar: FreeRTOS'u içeren kütüphaneler; Wi-Fi yönetimi; şifreleme, karma oluşturma, mesaj kimlik doğrulaması ve dijital imzalama (Cryptolib); taşıma düzeyinde güvenlik (MbedTLS); Tangle ile etkileşim kurmak için IOTA İstemci API'si içerir
- Projeler: eski içerirampDesteklenen STM32 tabanlı platform (B-L4S5I-IOT01A) için üç geliştirme ortamı, IAR Embedded Workbench for ARM (EWARM), Realtek ve RM Gömülü Çalışma Tezgahı ile bir IOTA DLT İstemci uygulaması geliştirmenize yardımcı olacak dosyalarView Mikrodenetleyici Geliştirme Kiti (MDK-ARM) ve STM32CubeIDE
API
Tam kullanıcı API işlevi ve parametre açıklaması ile ayrıntılı teknik bilgiler, derlenmiş bir HTML'dedir file "Belgeler" klasöründe.
IOTA-İstemci uygulama açıklaması
Proje fileIOTA-Client uygulamasına ait kodlar şurada bulunabilir: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
Birden fazla IDE için hazır projeler mevcuttur.
Kullanıcı arayüzü seri port üzerinden sağlanır ve aşağıdaki ayarlarla yapılandırılmalıdır:
Şekil 3. Tera Term – Terminal kurulumu
Şekil 4. Tera Term – Seri port kurulumu
Uygulamayı çalıştırmak için aşağıdaki prosedürü izleyin.
Adım 1. Mesajların kayıtlarını görüntülemek için seri bir terminal açın.
Adım 2. Wi-Fi ağ yapılandırmanızı (SSID, Güvenlik Modu ve parola) girin.
Adım 3. TLS kök CA sertifikalarını ayarlayın.
Adım 4. Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem içeriğini kopyalayıp yapıştırın. Cihaz bunları uzak ana bilgisayarları TLS aracılığıyla doğrulamak için kullanır.
Not: Parametreleri yapılandırdıktan sonra, kartı yeniden başlatarak ve 5 saniye içinde Kullanıcı düğmesine (mavi düğme) basarak değiştirebilirsiniz. Bu veriler Flash belleğe kaydedilecektir.
Şekil 5. Wi-Fi parametre ayarları
Adım 5. “Devam etmek için herhangi bir tuşa basın” mesajının görünmesini bekleyin. Ekran daha sonra ana işlevlerin listesiyle yenilenir:
- Genel bir dizinleme mesajı gönder
- Bir dizinleme sensörü mesajı gönderin (zaman bilgisi dahil)amp, Sıcaklık ve Nem)
- Dengeyi sağla
- İşlemi Gönder
- Diğer işlevler
Şekil 6. Ana menü
Adım 6. Aşağıdaki işlevlerden birini test etmek için 3. seçeneği seçin:
Düğüm bilgilerini al | İpuçları alın |
Çıktıyı al | Adresten çıktılar |
Dengeyi sağla | Yanıt hatası |
Mesajı al | Mesaj gönder |
Mesajı bul | Test cüzdanı |
Mesaj oluşturucu | Kripto testi |
Şekil 7. Diğer işlevler
İLGİLİ BAĞLANTILAR
IOTA 1.5 işlevleri hakkında daha fazla ayrıntı için IOTA C İstemci belgelerine bakın
Sistem kurulum kılavuzu
Donanım açıklaması
STM32L4+ Discovery kiti IoT düğümü
IoT düğümü için B-L4S5I-IOT01A Discovery kiti, bulut sunucularına doğrudan bağlanacak uygulamalar geliştirmenize olanak tanır.
Discovery kiti, düşük güç iletişimi, çok yönlü algılama ve ARM®Cortex® -M4+ çekirdek tabanlı STM32L4+ serisinin özelliklerini kullanarak çok çeşitli uygulamalara olanak tanır.
Arduino Uno R3 ve PMOD bağlantısını destekler ve geniş eklenti kartı seçenekleriyle sınırsız genişleme olanağı sunar.
Şekil 8. B-L4S5I-IOT01A Keşif kiti
Donanım Kurulumu
Aşağıdaki donanım bileşenleri gereklidir:
- Wi-Fi arayüzüyle donatılmış IoT düğümü için bir STM32L4+ Discovery kiti (sipariş kodu: B-L4S5I-IOT01A)
- STM32 discovery kartını bilgisayara bağlamak için USB Type A'dan Mini-B USB Type B kablosu
Yazılım kurulumu
B-L4S5I-IOT01A için IOTA DLT uygulamaları oluşturmak üzere geliştirme ortamını kurmak için aşağıdaki yazılım bileşenlerine ihtiyaç vardır:
- X-CUBE-IOTA1: aygıt yazılımı ve ilgili belgeler st.com'da mevcuttur
- geliştirme araç zinciri ve derleyici: STM32Cube genişletme yazılımı aşağıdaki ortamları destekler:
– ARM ® (EWARM) araç zinciri için IAR Embedded Workbench + ST-LINK/V2
- GerçekView Mikrodenetleyici Geliştirme Kiti (MDK-ARM) araç zinciri + ST-LINK/V2
– STM32CubeIDE + ST-LINK/V2
Sistem kurulumu
B-L4S5I-IOT01A Discovery kartı, IOTA DLT özelliklerinin kullanılmasına olanak tanır. Kart, ST-LINK/V2-1 hata ayıklayıcı/programlayıcıyı entegre eder. ST-LINK/V2-1 USB sürücüsünün ilgili sürümünü STSW-LINK009 adresinden indirebilirsiniz.
Revizyon geçmişi
Tablo 2. Belge revizyon geçmişi
Tarih | Revizyon | Değişiklikler |
13-Haz-19 | 1 | İlk sürüm |
18-Haz-19 | 2 | Bölüm 3.4.8.1 TX_IN ve TX_OUT, Bölüm 3.4.8.3 Sıfır değerli veri gönderme güncellendi İşlemler ve Bölüm 3.4.8.4 Transfer işlemleri yoluyla para gönderme. |
6-Mayıs-21 | 3 | Güncellenmiş Giriş, Bölüm 1 Kısaltmalar ve kısaltmalar, Bölüm 2.1view, Bölüm 2.1.1 IOTA 1.0, Bölüm 2.1.3 İş Kanıtı, Bölüm 2.2 Mimari, Bölüm 2.3 Klasör yapısı, Bölüm 3.2 Donanım kurulumu, Bölüm 3.3 Yazılım kurulumu ve Bölüm 3.4 Sistem kurulumu. Bölüm 2 kaldırıldı ve Giriş'te bir bağlantıyla değiştirildi. Bölüm 3.1.2 İşlemler ve paketler, Bölüm 3.1.3 Hesap ve imzalar, Bölüm kaldırıldı 3.1.5 Karma. Bölüm 3.4 Uygulamaların nasıl yazılacağı ve ilgili alt bölümler, Bölüm 3.5 IOTALightNode uygulama açıklaması ve ilgili alt bölümler ve Bölüm 4.1.1 STM32 Nucleo platformuna Bölüm 2.1.2 eklendi IOTA 1.5 – Chrysalis, Bölüm 2.5 IOTA-İstemci uygulama açıklaması, Bölüm 2.4 API ve Bölüm 3.1.1 STM32L4+ Discovery kiti IoT düğümü. |
ÖNEMLİ UYARI - LÜTFEN DİKKATLE OKUYUN
STMicroelectronics NV ve bağlı kuruluşları ("ST"), ST ürünlerinde ve / veya bu belgede herhangi bir zamanda bildirimde bulunmaksızın değişiklik, düzeltme, geliştirme, modifikasyon ve iyileştirme yapma hakkını saklı tutar. Alıcılar, sipariş vermeden önce ST ürünleriyle ilgili en son bilgileri almalıdır. ST ürünleri, sipariş kabulü sırasında ST'nin satış hüküm ve koşullarına göre satılır.
ST ürünlerinin seçiminden, seçiminden ve kullanımından yalnızca satın alanlar sorumludur ve ST, uygulama yardımı veya Alıcıların ürünlerinin tasarımı için hiçbir sorumluluk kabul etmez.
ST tarafından burada herhangi bir fikri mülkiyet hakkına ilişkin açık veya örtük hiçbir lisans verilmemektedir.
ST ürünlerinin burada belirtilen bilgilerden farklı hükümlerle yeniden satışı, ST tarafından söz konusu ürün için verilen her türlü garantiyi geçersiz kılar.
ST ve ST logosu, ST'nin ticari markalarıdır. ST ticari markaları hakkında ek bilgi için lütfen www.st.com/trademarks adresine bakın. Diğer tüm ürün veya hizmet adları ilgili sahiplerinin mülkiyetindedir.
Bu belgedeki bilgiler, bu belgenin önceki sürümlerinde sağlanan bilgilerin yerini alır ve bu bilgilerin yerine geçer.
© 2021 STMicroelectronics – Tüm hakları saklıdır
Belgeler / Kaynaklar
![]() |
STM1Cube için ST X-CUBE-IOTA32 Genişletme Yazılım Paketi [pdf] Kullanıcı Kılavuzu ST, X-CUBE-IOTA1, Genişletme, Yazılım Paketi, STM32Cube için |