UM2606
راهنمای کاربر
شروع به کار با دفتر کل توزیع شده IOTA
توسعه نرم افزار فناوری برای STM32Cube
مقدمه
را X-CUBE-IOTA1 بسته نرم افزاری توسعه برای STM32Cube روی STM32 اجرا میشود و شامل میانافزار برای فعال کردن عملکردهای فناوری دفتر کل توزیعشده IOTA (DLT) است.
IOTA DLT یک لایه تسویه تراکنش و انتقال داده برای اینترنت اشیا (IoT) است. آیوتا به افراد و ماشینها اجازه میدهد پول و/یا داده را بدون هیچ گونه کارمزد تراکنش در یک محیط غیرقابل اعتماد، بدون مجوز و غیرمتمرکز انتقال دهند. این فناوری حتی پرداخت های خرد را بدون نیاز به یک واسطه قابل اعتماد از هر نوعی ممکن می سازد. توسعه بر اساس فناوری نرم افزار STM32Cube ساخته شده است تا قابلیت حمل در میکروکنترلرهای مختلف STM32 را آسان کند. نسخه فعلی نرم افزار بر روی B-L4S5I-IOT01A کیت کشف برای گره اینترنت اشیا و از طریق رابط Wi-Fi متصل به اینترنت متصل می شود.
لینک های مرتبط
از اکوسیستم STM32Cube دیدن کنید web صفحه www.st.com برای اطلاعات بیشتر
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
مخفف ها و اختصارات
جدول 1. فهرست کلمات اختصاری
مخفف | توضیحات |
DLT | فناوری دفتر کل توزیع شده |
IDE | محیط توسعه مجتمع |
اینترنت اشیا | اینترنت اشیا |
PoW | اثبات کار |
توسعه نرم افزار X-CUBE-IOTA1 برای STM32Cube
تمام شدview
را X-CUBE-IOTA1 بسته نرم افزاری گسترش می یابد STM32Cube عملکرد با ویژگی های کلیدی زیر:
- سیستم عامل کامل برای ساخت برنامه های IOTA DLT برای بردهای مبتنی بر STM32
- کتابخانه های میان افزار شامل:
– FreeRTOS
– مدیریت وای فای
- رمزگذاری، هش کردن، احراز هویت پیام و امضای دیجیتال (Cryptolib)
- امنیت در سطح حمل و نقل (MbedTLS)
– IOTA Client API برای تعامل با Tangle - درایور کامل برای ساخت برنامه هایی که به حسگرهای حرکتی و محیطی دسترسی دارند
- Exampبرای کمک به درک چگونگی توسعه یک برنامه IOTA DLT Client
- به لطف STM32Cube، قابلیت حمل آسان در خانواده های مختلف MCU
- شرایط مجوز رایگان و کاربرپسند
توسعه نرم افزار میان افزاری را برای فعال کردن IOTA DLT در میکروکنترلر STM32 فراهم می کند. IOTA DLT یک لایه تسویه تراکنش و انتقال داده برای اینترنت اشیا (IoT) است. آیوتا به افراد و ماشینها اجازه میدهد پول و/یا داده را بدون هیچ گونه کارمزد تراکنش در یک محیط غیرقابل اعتماد، بدون مجوز و غیرمتمرکز انتقال دهند. این فناوری حتی پرداخت های خرد را بدون نیاز به یک واسطه قابل اعتماد از هر نوعی ممکن می سازد.
آیوتا 1.0
فناوری های دفتر کل توزیع شده (DLTs) بر روی یک شبکه گره ساخته شده اند که یک دفتر کل توزیع شده را نگهداری می کند که یک پایگاه داده توزیع شده از نظر رمزنگاری ایمن برای ثبت تراکنش ها است. گره ها تراکنش ها را از طریق یک پروتکل اجماع صادر می کنند.
آیوتا یک فناوری دفتر کل توزیع شده است که به طور خاص برای اینترنت اشیا طراحی شده است.
دفتر کل توزیع شده IOTA، Tangle نامیده می شود و توسط تراکنش های صادر شده توسط گره ها در شبکه IOTA ایجاد می شود.
برای انتشار یک تراکنش در تاگل، یک گره باید:
- دو تراکنش تایید نشده به نام نکات را تایید کنید
- تراکنش جدید را ایجاد و امضا کنید
- اثبات کار کافی را انجام دهید
- انتقال تراکنش جدید به شبکه آیوتا
تراکنش به همراه دو مرجع که به تراکنش های معتبر اشاره می کنند به درهم وصل می شود.
این ساختار را می توان به عنوان یک گراف غیر چرخه ای جهت دار مدل کرد، که در آن رئوس نشان دهنده تراکنش های منفرد و یال ها نشان دهنده مراجع بین جفت تراکنش ها هستند.
یک تراکنش پیدایش ریشه درهم و برهم دارد و شامل تمام توکنهای موجود IOTA به نام آیوتاس میشود.
IOTA 1.0 از یک رویکرد اجرای نسبتاً غیر متعارف مبتنی بر نمایش سهگانه استفاده میکند: هر عنصر در IOTA با استفاده از trits = -1، 0، 1 به جای بیتها، و trytes از 3 trits به جای بایت توصیف میشود. یک tryte به عنوان یک عدد صحیح از -13 تا 13 نشان داده می شود که با استفاده از حروف (AZ) و شماره 9 کدگذاری می شود.
آیوتا 1.5 (Chrysalis) طرح تراکنش های سه گانه را با ساختار باینری جایگزین می کند.
شبکه آیوتا شامل گره ها و کلاینت ها می شود. یک گره به همتایان در شبکه متصل می شود و یک کپی از درهم را ذخیره می کند. کلاینت وسیلهای است که برای ایجاد آدرسها و امضاها استفاده میشود.
مشتری تراکنش ها را ایجاد و امضا می کند و آنها را به گره می فرستد تا شبکه بتواند آنها را اعتبارسنجی و ذخیره کند. تراکنش های برداشت باید دارای امضای معتبر باشد. هنگامی که تراکنش معتبر در نظر گرفته می شود، گره آن را به دفتر خود اضافه می کند، موجودی آدرس های آسیب دیده را به روز می کند و تراکنش را برای همسایگان خود پخش می کند.
IOTA 1.5 - Chrysalis
هدف بنیاد IOTA بهینه سازی شبکه اصلی IOTA قبل از Coordicide و ارائه یک راه حل آماده برای سازمانی برای اکوسیستم IOTA است. این توسط یک به روز رسانی متوسط به نام Chrysalis به دست می آید. ارتقاء اصلی معرفی شده توسط Chrysalis عبارتند از:
- آدرسهای قابل استفاده مجدد: پذیرش طرح امضای Ed25519 که جایگزین طرح امضای یکباره Winternitz (W-OTS) میشود، به کاربران اجازه میدهد تا چندین بار با خیال راحت توکنها را از یک آدرس ارسال کنند.
- بدون بستههای دیگر: IOTA 1.0 از مفهوم بستهها برای ایجاد انتقال استفاده میکند. باندلها مجموعهای از تراکنشها هستند که توسط مرجع ریشهشان (ترانک) به هم مرتبط شدهاند. با بهروزرسانی IOTA 1.5، ساختار بسته قدیمی حذف شده و با تراکنشهای سادهتر Atomic جایگزین میشود. راس Tangle با پیام نمایش داده می شود که نوعی محفظه است که می تواند بارهای دلخواه داشته باشد (یعنی بار توکن یا بار شاخص).
- مدل UTXO: در ابتدا، IOTA 1.0 از یک مدل مبتنی بر حساب برای ردیابی توکنهای IOTA استفاده میکرد: هر آدرس IOTA تعدادی توکن را در خود جای میداد و تعداد کل توکنها از همه آدرسهای IOTA برابر با کل عرضه بود. در عوض، IOTA 1.5 از مدل خروجی تراکنش خرج نشده یا UTXO بر اساس ایده ردیابی مقادیر خرج نشده توکن ها از طریق ساختار داده ای به نام خروجی استفاده می کند.
- حداکثر 8 والد: با IOTA 1.0، شما همیشه باید به 2 تراکنش والدین مراجعه کنید. با Chrysalis، تعداد بیشتری از گره های والد مرجع (تا 8) معرفی می شود. برای به دست آوردن بهترین نتایج، حداقل 2 والدین منحصر به فرد در یک زمان توصیه می شود.
لینک های مرتبط
برای اطلاعات بیشتر در مورد Chrysalis، لطفاً به این صفحه مستندات مراجعه کنید
اثبات کار
پروتکل IOTA از Proof-of-Work به عنوان وسیله ای برای محدود کردن نرخ شبکه استفاده می کند.
آیوتا 1.0 از C استفاده کردurl-P-81 تابع هش سهگانه است و برای صدور تراکنش به Tangle به یک هش با تعداد منطبق از صفر تریتهای بعدی نیاز دارد.
با Chrysalis امکان صدور پیام های باینری با اندازه دلخواه وجود دارد. این RFC چگونگی تطبیق مکانیسم PoW موجود را با نیازهای جدید شرح می دهد. هدف آن این است که تا حد ممکن کمتر مخل مکانیسم PoW فعلی باشد.
معماری
این بسط STM32Cube امکان توسعه برنامههایی را فراهم میکند که به میانافزار IOTA DLT دسترسی داشته باشند و از آن استفاده کنند.
این بر اساس لایه انتزاعی سخت افزار STM32CubeHAL برای میکروکنترلر STM32 است و STM32Cube را با یک بسته پشتیبانی برد خاص (BSP) برای برد توسعه میکروفون و اجزای میان افزار برای پردازش صدا و ارتباط USB با رایانه شخصی گسترش می دهد.
لایه های نرم افزاری که توسط نرم افزار کاربردی برای دسترسی و استفاده از برد توسعه میکروفون استفاده می شود عبارتند از:
- لایه STM32Cube HAL: مجموعه ای کلی و چند نمونه ای از API ها را برای تعامل با لایه های بالایی (برنامه، کتابخانه ها و پشته ها) فراهم می کند. این شامل APIهای عمومی و الحاقی مبتنی بر معماری مشترک است که به لایههای دیگر مانند لایه میانافزار اجازه میدهد بدون پیکربندیهای سختافزاری واحد میکروکنترلر (MCU) خاص کار کنند. این ساختار قابلیت استفاده مجدد کد کتابخانه را بهبود می بخشد و قابلیت حمل آسان دستگاه را تضمین می کند.
- لایه بسته پشتیبانی برد (BSP): مجموعه ای از API ها است که یک رابط برنامه نویسی برای برخی از تجهیزات جانبی خاص برد (LED، دکمه کاربر و غیره) فراهم می کند. این رابط همچنین به شناسایی نسخه برد خاص کمک می کند و برای مقداردهی اولیه لوازم جانبی MCU و خواندن داده ها پشتیبانی می کند.
شکل 1. معماری نرم افزار X-CUBE-IOTA1
ساختار پوشه
شکل 2. ساختار پوشه X-CUBE-IOTA1
پوشه های زیر در بسته نرم افزار گنجانده شده است:
- مستندات: حاوی یک HTML کامپایل شده است file تولید شده از کد منبع و مستندات دقیق اجزای نرم افزار و APIها
- رانندگان: شامل درایورهای HAL و درایورهای مخصوص برد برای پلتفرمهای برد و سختافزار پشتیبانیشده، از جمله موارد مربوط به اجزای داخل برد و لایه انتزاعی سختافزار مستقل از فروشنده CMSIS برای سری پردازندههای ARM® Cortex®-M.
- میان افزارها: شامل کتابخانه های دارای FreeRTOS است. مدیریت وای فای؛ رمزگذاری، هش کردن، احراز هویت پیام و امضای دیجیتال (Cryptolib)؛ امنیت در سطح حمل و نقل (MbedTLS)؛ IOTA Client API برای تعامل با Tangle
- پروژه ها: شامل سابقampبرای کمک به شما در توسعه یک برنامه IOTA DLT Client برای پلتفرم مبتنی بر STM32 پشتیبانی شده (B-L4S5I-IOT01A)، با سه محیط توسعه، IAR Embedded Workbench for ARM (EWARM)، RealView کیت توسعه میکروکنترلر (MDK-ARM) و STM32CubeIDE
API
اطلاعات فنی دقیق با عملکرد کامل کاربر API و توضیحات پارامتر در یک HTML کامپایل شده است file در پوشه "Documentation"
شرح برنامه IOTA-Client
پروژه files برای برنامه IOTA-Client را می توان در: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client پیدا کرد.
پروژه های آماده ساخت برای چندین IDE در دسترس هستند.
رابط کاربری از طریق پورت سریال ارائه می شود و باید با تنظیمات زیر پیکربندی شود:
شکل 3. Tera Term – راه اندازی ترمینال
شکل 4. Tera Term – راه اندازی پورت سریال
برای اجرای برنامه، مراحل زیر را دنبال کنید.
مرحله 1. یک ترمینال سریال را برای تجسم گزارش پیام ها باز کنید.
مرحله 2. پیکربندی شبکه Wi-Fi خود (SSID، حالت امنیتی و رمز عبور) را وارد کنید.
مرحله 3. گواهینامه های CA ریشه TLS را تنظیم کنید.
مرحله 4. محتویات Projects\B-L4S5I-IOT01A\Applications\IOTAClient\usertrust_thetangle.pem را کپی و جایگذاری کنید. دستگاه از آنها برای احراز هویت هاست های راه دور از طریق TLS استفاده می کند.
توجه: پس از پیکربندی پارامترها، میتوانید با راهاندازی مجدد برد و فشار دادن دکمه کاربر (دکمه آبی) در عرض 5 ثانیه آنها را تغییر دهید. این داده ها در حافظه فلش ذخیره می شوند.
شکل 5. تنظیمات پارامتر Wi-Fi
مرحله 5. منتظر بمانید تا پیام «برای ادامه هر کلید را فشار دهید» ظاهر شود. سپس صفحه با لیستی از عملکردهای اصلی به روز می شود:
- یک پیام نمایه سازی عمومی ارسال کنید
- ارسال یک پیام حسگر نمایه سازی (شامل زمانamp، دما و رطوبت)
- تعادل را بدست آورید
- ارسال تراکنش
- توابع دیگر
شکل 6. منوی اصلی
مرحله 6. برای تست یکی از توابع زیر گزینه 3 را انتخاب کنید:
دریافت اطلاعات گره | راهنمایی بگیرید |
خروجی بگیرید | خروجی از آدرس |
تعادل را بدست آورید | خطای پاسخ |
دریافت پیام | ارسال پیام |
یافتن پیام | کیف پول تست کنید |
پیام ساز | کریپتو را تست کنید |
شکل 7. توابع دیگر
لینک های مرتبط
برای جزئیات بیشتر در مورد عملکردهای IOTA 1.5، به مستندات IOTA C Client مراجعه کنید
راهنمای راه اندازی سیستم
توضیحات سخت افزار
STM32L4+ کیت کشف گره اینترنت اشیا
کیت کشف B-L4S5I-IOT01A برای گره اینترنت اشیا به شما امکان می دهد برنامه هایی را برای اتصال مستقیم به سرورهای ابری توسعه دهید.
کیت Discovery با بهرهبرداری از ارتباطات کم مصرف، سنجش چند طرفه و ویژگیهای سری STM4L32+ مبتنی بر هسته ARM®Cortex® -M4+، طیف گستردهای از برنامهها را فعال میکند.
از اتصال Arduino Uno R3 و PMOD پشتیبانی می کند که قابلیت های توسعه نامحدود را با انتخاب زیادی از بردهای افزودنی اختصاصی ارائه می دهد.
شکل 8. کیت کشف B-L4S5I-IOT01A
راه اندازی سخت افزار
قطعات سخت افزاری زیر مورد نیاز است:
- یک کیت STM32L4+ Discovery برای گره اینترنت اشیا مجهز به رابط Wi-Fi (کد سفارش: B-L4S5I-IOT01A)
- یک کابل USB نوع A به Mini-B USB نوع B برای اتصال برد اکتشافی STM32 به رایانه شخصی
راه اندازی نرم افزار
اجزای نرم افزار زیر برای راه اندازی محیط توسعه برای ایجاد برنامه های کاربردی IOTA DLT برای B-L4S5I-IOT01A مورد نیاز است:
- X-CUBE-IOTA1: سیستم عامل و اسناد مربوطه در st.com موجود است
- توسعه زنجیره ابزار و کامپایلر: نرم افزار توسعه STM32Cube از محیط های زیر پشتیبانی می کند:
– میز کار جاسازی شده IAR برای زنجیره ابزار ARM® (EWARM) + ST-LINK/V2
- واقعیView کیت توسعه میکروکنترلر (MDK-ARM) زنجیره ابزار + ST-LINK/V2
– STM32CubeIDE + ST-LINK/V2
راه اندازی سیستم
برد Discovery B-L4S5I-IOT01A امکان بهره برداری از ویژگی های IOTA DLT را فراهم می کند. این برد دیباگر/برنامه نویس ST-LINK/V2-1 را ادغام می کند. می توانید نسخه مربوطه درایور USB ST-LINK/V2-1 را در STSW-LINK009 دانلود کنید.
تاریخچه تجدید نظر
جدول 2. تاریخچه بازنگری سند
تاریخ | تجدید نظر | تغییرات |
13 ژوئن-19 | 1 | انتشار اولیه |
18 ژوئن-19 | 2 | به روز شده بخش 3.4.8.1 TX_IN و TX_OUT، بخش 3.4.8.3 ارسال داده ها از طریق مقدار صفر معاملات و بخش 3.4.8.4 ارسال وجوه از طریق تراکنش های انتقالی. |
6-مه-21 | 3 | مقدمه به روز شده، بخش 1 مخفف ها و اختصارات، بخش 2.1view، بخش 2.1.1 IOTA 1.0، بخش 2.1.3 اثبات کار، بخش 2.2 معماری، بخش 2.3 ساختار پوشه، بخش 3.2 راه اندازی سخت افزار، بخش 3.3 راه اندازی نرم افزار و بخش 3.4 تنظیم سیستم. بخش 2 حذف شد و با پیوندی در مقدمه جایگزین شد. بخش 3.1.2 تراکنش ها و بسته ها، بخش 3.1.3 حساب و امضاها، بخش حذف شد 3.1.5 هش. بخش 3.4 نحوه نوشتن برنامه ها و بخش های فرعی مرتبط، بخش 3.5 شرح برنامه IOTALightNode و زیربخش های مرتبط، و بخش 4.1.1 STM32 پلتفرم Nucleo بخش 2.1.2IOTA 1.5 اضافه شد - Chrysalis، بخش 2.5 توضیحات برنامه IOTA-Client، بخش 2.4 API و بخش 3.1.1 STM32L4+ کیت کشف گره اینترنت اشیا. |
اعلان مهم - لطفاً با دقت بخوانید
STMicroelectronics NV و شرکتهای تابعه آن ("ST") حق ایجاد ، تغییر ، اصلاح ، بهبود ، اصلاح و اصلاح محصولات ST و / یا این سند را در هر زمان و بدون اطلاع قبلی دارند. خریداران باید آخرین اطلاعات مربوط به محصولات ST را قبل از ثبت سفارش بدست آورند. محصولات ST طبق شرایط و ضوابط فروش ST در زمان تأیید سفارش به فروش می رسند.
خریداران تنها مسئولیت انتخاب ، انتخاب و استفاده از محصولات ST را بر عهده دارند و ST هیچگونه مسئولیتی در قبال کمک برنامه یا طراحی محصولات خریداران ندارد.
هیچ مجوز صریح یا ضمنی برای هیچ گونه حق مالکیت معنوی توسط ST در اینجا اعطا نمی شود.
فروش مجدد محصولات ST با مقرراتی متفاوت از اطلاعات مندرج در اینجا هرگونه ضمانت اعطا شده توسط ST برای چنین محصولی را باطل می کند.
ST و آرم ST علائم تجاری ST هستند. برای اطلاعات بیشتر در مورد علائم تجاری ST، لطفاً به www.st.com/trademarks مراجعه کنید. سایر نام های محصول یا خدمات متعلق به صاحبان مربوطه می باشد.
اطلاعات این سند جایگزین اطلاعاتی می شود که قبلاً در هر نسخه قبلی این سند ارائه شده است.
© 2021 STMicroelectronics – کلیه حقوق محفوظ است
اسناد / منابع
![]() |
بسته نرم افزاری توسعه ST X-CUBE-IOTA1 برای STM32Cube [pdf] دفترچه راهنمای کاربر ST, X-CUBE-IOTA1, Expansion, Software Package, for, STM32Cube |