UM2606
מדריך למשתמש
תחילת העבודה עם IOTA Distributed Ledger
הרחבת תוכנה טכנולוגית עבור STM32Cube
מָבוֹא
ה X-CUBE-IOTA1 חבילת תוכנת הרחבה עבור STM32Cube פועל על STM32 וכולל תוכנת ביניים כדי לאפשר את הפונקציות של IOTA Distributed Ledger Technology (DLT).
ה-IOTA DLT הוא שכבת יישוב עסקאות והעברת נתונים עבור האינטרנט של הדברים (IoT). IOTA מאפשר לאנשים ומכונות להעביר כסף ו/או נתונים ללא כל עמלות עסקה בסביבה חסרת אמון, חסרת הרשאות ומבוזרת. טכנולוגיה זו אף מאפשרת מיקרו-תשלומים ללא צורך במתווך מהימן מכל סוג שהוא. ההרחבה בנויה על טכנולוגיית תוכנת STM32Cube כדי להקל על הניידות בין בקרי STM32micro-controllers שונים. הגרסה הנוכחית של התוכנה פועלת על B-L4S5I-IOT01A ערכת גילוי לצומת IoT ומתחברת לאינטרנט דרך ממשק ה-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 | סביבת פיתוח משולבת |
IoT | אינטרנט של דברים |
PoW | הוכחת עבודה |
הרחבת תוכנת X-CUBE-IOTA1 עבור STM32Cube
מֵעַלview
ה X-CUBE-IOTA1 חבילת התוכנה מתרחבת STM32Cube פונקציונליות עם התכונות העיקריות הבאות:
- השלם קושחה לבניית יישומי IOTA DLT עבור לוחות מבוססי STM32
- ספריות תוכנת ביניים הכוללות:
– FreeRTOS
- ניהול Wi-Fi
- הצפנה, hashing, אימות הודעות וחתימה דיגיטלית (Cryptolib)
- אבטחה ברמת תחבורה (MbedTLS)
- IOTA Client API לאינטראקציה עם Tangle - מנהל התקן שלם לבניית יישומים עם גישה לחיישני תנועה וסביבה
- Exampמידע שיעזור להבין כיצד לפתח יישום IOTA DLT Client
- ניידות קלה בין משפחות MCU שונות, הודות ל- STM32Cube
- תנאי רישיון חינמיים וידידותיים למשתמש
הרחבת התוכנה מספקת את התוכנה כדי לאפשר את ה-IOTA DLT במיקרו-בקר STM32. ה-IOTA DLT הוא שכבת יישוב עסקאות והעברת נתונים עבור האינטרנט של הדברים (IoT). IOTA מאפשר לאנשים ומכונות להעביר כסף ו/או נתונים ללא כל עמלות עסקה בסביבה חסרת אמון, חסרת הרשאות ומבוזרת. טכנולוגיה זו אף מאפשרת מיקרו-תשלומים ללא צורך במתווך מהימן מכל סוג שהוא.
IOTA 1.0
טכנולוגיות לדג'ר מבוזרות (DLT) בנויות על רשת צמתים אשר מחזיקה ספר חשבונות מבוזר, שהוא מסד נתונים מבוזר מאובטח קריפטוגרפי לתיעוד עסקאות. צמתים מנפיקים עסקאות באמצעות פרוטוקול קונצנזוס.
IOTA היא טכנולוגיית ספר חשבונות מבוזר שתוכננה במיוחד עבור IoT.
ספר החשבונות המבוזר של IOTA נקרא הסבך והוא נוצר על ידי העסקאות שהונפקו על ידי הצמתים ברשת IOTA.
כדי לפרסם עסקה בסבך, צומת צריך:
- לאמת שתי עסקאות לא מאושרות הנקראות טיפים
- ליצור ולחתום על העסקה החדשה
- לבצע הוכחת עבודה מספקת
- שדר את העסקה החדשה לרשת IOTA
העסקה מצורפת לסבך יחד עם שתי הפניות המצביעות על העסקאות המאומתות.
ניתן לעצב מבנה זה כגרף א-ציקלי מכוון, כאשר הקודקודים מייצגים עסקאות בודדות והקצוות מייצגים הפניות בין זוגות של עסקאות.
עסקת בראשית נמצאת בשורש הסבך וכוללת את כל אסימוני ה-IOTA הזמינים, הנקראים iotas.
IOTA 1.0 משתמש בגישת יישום די לא שגרתית המבוססת על ייצוג טרינירי: כל אלמנט ב-IOTA מתואר באמצעות trits = -1, 0, 1 במקום ביטים, ו-trytes של 3 טריטים במקום בתים. טריטה מיוצג כמספר שלם מ-13 עד 13, מקודד באמצעות אותיות (AZ) ומספר 9.
IOTA 1.5 (Chrysalis) מחליף את פריסת העסקה המשולשת במבנה בינארי.
רשת IOTA כוללת צמתים ולקוחות. צומת מחובר לעמיתים ברשת ומאחסן עותק של הפלונטר. לקוח הוא מכשיר עם סיד שישמש ליצירת כתובות וחתימות.
הלקוח יוצר וחותם עסקאות ושולח אותן לצומת כך שהרשת תוכל לאמת ולאחסן אותן. משיכת עסקאות חייבות להכיל חתימה תקפה. כאשר עסקה נחשבת תקפה, הצומת מוסיף אותה לפנקס החשבונות שלו, מעדכן את יתרות הכתובות המושפעות ומשדר את העסקה לשכניו.
IOTA 1.5 – כריסליס
מטרת קרן IOTA היא לייעל את הרשת הראשית של IOTA לפני Coordicide ולהציע פתרון מוכן לארגון עבור המערכת האקולוגית של IOTA. זה מושג על ידי עדכון ביניים בשם Chrysalis. השדרוגים העיקריים שהציגה Chrysalis הם:
- כתובות לשימוש חוזר: אימוץ תכנית החתימות Ed25519, המחליפה את תכנית החתימה החד פעמית של Winternitz (W-OTS), מאפשרת למשתמשים לשלוח בבטחה אסימונים מאותה כתובת מספר פעמים;
- לא עוד חבילות: IOTA 1.0 משתמש בקונספט של חבילות כדי ליצור העברות. חבילות הן קבוצה של עסקאות המקושרות זו לזו על ידי הפניה לשורש שלהן (טראנק). עם עדכון IOTA 1.5, מבנה החבילה הישן מוסר ומוחלף בעסקאות האטומיות הפשוטות יותר. קודקוד ה-Tangle מיוצג על ידי ה- Message שהוא מעין מיכל שיכול להיות בעל מטענים שרירותיים (כלומר, מטען אסימון או מטען אינדקס);
- מודל UTXO: במקור, IOTA 1.0 השתמש במודל מבוסס חשבון למעקב אחר אסימוני IOTA בודדים: כל כתובת IOTA החזיקה מספר אסימונים והמספר המצטבר של אסימונים מכל כתובות IOTA היה שווה לסך האספקה. במקום זאת, IOTA 1.5 משתמש במודל פלט עסקאות שלא הוצא, או UTXO, המבוסס על הרעיון של מעקב אחר כמויות של אסימונים שלא הוצאו באמצעות מבנה נתונים הנקרא פלט;
- עד 8 הורים: עם IOTA 1.0, תמיד היית צריך להתייחס ל-2 עסקאות אב. עם Chrysalis, מוצג מספר גדול יותר של צמתים אב מוזכרים (עד 8). כדי להשיג את התוצאות הטובות ביותר, מומלץ לפחות 2 הורים ייחודיים בכל פעם.
קישורים קשורים
למידע נוסף על Chrysalis, עיין בדף התיעוד הזה
הוכחת עבודה
פרוטוקול IOTA משתמש ב-Proof-of-Work כאמצעי להגבלת קצב הרשת.
IOTA 1.0 השתמש ב-Curl-P-81 פונקציית Hash משולשת והצריכה Hash עם המספר התואם של אפס טריטים נגררים כדי להנפיק עסקה ל-Tangle.
עם Chrysalis, אפשר להוציא הודעות בינאריות בגודל שרירותי. RFC זה מתאר כיצד להתאים את מנגנון ה-PoW הקיים לדרישות החדשות. מטרתו היא להפריע כמה שיותר פחות למנגנון ה-PoW הנוכחי.
אַדְרִיכָלוּת
הרחבת STM32Cube זו מאפשרת פיתוח של יישומים הנגישים ומשתמשים בתוכנת התווך של IOTA DLT.
הוא מבוסס על שכבת הפשטת החומרה STM32CubeHAL עבור המיקרו-בקר STM32 ומרחיב את STM32Cube עם חבילת תמיכה ספציפית ללוח (BSP) עבור לוח הרחבת המיקרופון ורכיבי תווך לעיבוד שמע ותקשורת USB עם מחשב.
שכבות התוכנה המשמשות את תוכנת היישום כדי לגשת ללוח ההרחבה של המיקרופון ולהשתמש בהם הן:
- שכבת STM32Cube HAL: מספקת קבוצה גנרית מרובת מופעים של ממשקי API לאינטראקציה עם השכבות העליונות (האפליקציה, הספריות והערימות). הוא מורכב ממשקי API גנריים והרחבות המבוססים על ארכיטקטורה משותפת המאפשרת לשכבות אחרות כמו שכבת התווך לפעול ללא תצורות חומרה ספציפיות של יחידת מיקרו-בקר (MCU). מבנה זה משפר את יכולת השימוש החוזרת של קוד הספרייה ומבטיח ניידות קלה של המכשיר.
- שכבת Board Support Package (BSP): היא קבוצה של ממשקי API המספקת ממשק תכנות עבור ציוד היקפי ספציפי ללוח (LED, כפתור משתמש וכו'). ממשק זה מסייע גם בזיהוי גרסת הלוח הספציפית ומספק תמיכה באתחול ציוד היקפי נדרש של MCU וקריאת נתונים.
איור 1. ארכיטקטורת תוכנה X-CUBE-IOTA1
מבנה תיקיות
איור 2. מבנה התיקיות X-CUBE-IOTA1
התיקיות הבאות כלולות בחבילת התוכנה:
- תיעוד: מכיל HTML מקופל file נוצר מקוד המקור ותיעוד מפורט של רכיבי התוכנה וממשקי ה-API
- נהגים: מכיל את מנהלי ההתקן HAL ואת מנהלי ההתקן הספציפיים ללוח עבור פלטפורמות לוח וחומרה נתמכות, כולל אלו עבור הרכיבים המובנים ושכבת הפשטת החומרה הבלתי תלויה בספק CMSIS עבור סדרת מעבדי ARM® Cortex®-M
- כלי ביניים: מכיל ספריות הכוללות FreeRTOS; ניהול Wi-Fi; הצפנה, hashing, אימות הודעות וחתימה דיגיטלית (Cryptolib); אבטחה ברמת תחבורה (MbedTLS); IOTA Client API לאינטראקציה עם Tangle
- פרויקטים: מכיל אקסamples כדי לעזור לך לפתח יישום IOTA DLT Client עבור הפלטפורמה הנתמכת מבוססת STM32 (B-L4S5I-IOT01A), עם שלוש סביבות פיתוח, IAR Embedded Workbench for ARM (EWARM), RealView ערכת פיתוח מיקרו-בקר (MDK-ARM) ו-STM32CubeIDE
ממשק API
מידע טכני מפורט עם פונקציית API מלאה של משתמש ותיאור פרמטרים נמצאים ב-HTML מקופל file בתיקייה "תיעוד".
תיאור אפליקציית IOTA-Client
הפרויקט files עבור יישום IOTA-Client ניתן למצוא ב: $BASE_DIR\Projects\B-L4S5IIOT01A\Applications\IOTA-Client.
פרויקטים מוכנים לבנייה זמינים עבור מספר IDEs.
ממשק המשתמש מסופק באמצעות יציאה טורית ויש להגדיר אותו עם ההגדרות הבאות:
איור 3. Tera Term - הגדרת מסוף
איור 4. Tera Term - הגדרת יציאה טורית
כדי להפעיל את האפליקציה, בצע את ההליך שלהלן.
שלב 1. פתח מסוף טורי כדי לראות את יומן ההודעות.
שלב 2. הזן את תצורת רשת ה-Wi-Fi שלך (SSID, מצב אבטחה וסיסמה).
שלב 3. הגדר את אישורי ה-CA root 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+ צומת IoT ערכת Discovery
ערכת הגילוי B-L4S5I-IOT01A לצומת IoT מאפשרת לך לפתח יישומים לחיבור ישיר לשרתי ענן.
ערכת ה-Discovery מאפשרת מגוון רחב של יישומים על ידי ניצול תקשורת בהספק נמוך, חישה רב-כיוונית ותכונות מסדרת STM4L32+ מבוססי ליבה של ARM®Cortex® -M4+.
הוא תומך בקישוריות Arduino Uno R3 ו-PMOD המספקת יכולות הרחבה בלתי מוגבלות עם מבחר גדול של לוחות תוספות ייעודיים.
איור 8. ערכת גילוי B-L4S5I-IOT01A
הגדרת חומרה
יש צורך ברכיבי החומרה הבאים:
- ערכת STM32L4+ Discovery אחת עבור צומת IoT מצוידת בממשק Wi-Fi (קוד הזמנה: B-L4S5I-IOT01A)
- כבל USB מסוג A ל-Mini-B USB מסוג B לחיבור לוח הגילוי STM32 למחשב
הגדרת תוכנה
יש צורך ברכיבי התוכנה הבאים כדי להגדיר את סביבת הפיתוח ליצירת יישומי IOTA DLT עבור ה-B-L4S5I-IOT01A:
- X-CUBE-IOTA1: קושחה ותיעוד קשור זמינים ב-st.com
- שרשרת כלי פיתוח ומהדר: תוכנת ההרחבה STM32Cube תומכת בסביבות הבאות:
– IAR Embedded Workbench עבור ARM ® (EWARM) שרשרת כלים + ST-LINK/V2
– אמיתיView שרשרת כלים של ערכת פיתוח מיקרו-בקר (MDK-ARM) + ST-LINK/V2
– STM32CubeIDE + ST-LINK/V2
הגדרת מערכת
לוח הגילוי B-L4S5I-IOT01A מאפשר ניצול של תכונות IOTA DLT. הלוח משלב את מתקן באגים/מתכנת ST-LINK/V2-1. אתה יכול להוריד את הגרסה הרלוונטית של מנהל ההתקן ST-LINK/V2-1 USB ב- 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.1 נגמרview, סעיף 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 ו-Section 3.1.1 STM32L4+ Discovery Kit IoT node. |
הודעה חשובה - אנא קרא בזהירות
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, הרחבה, חבילת תוכנה, עבור, STM32Cube |