אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » מיקרו בקרים » Pi Pico – מבוא

Pi Pico – מבוא

רן בר-זיק מאי 22, 2022 9:07 am 3 תגובות

כך כותבים קוד למיקרובקרים עם… ג׳אווהסקריפט!

רספברי פיי הוא מאוד מאוד אינטואיטיבי כהגעה והצצה ראשונה אל עולם ה-IoT. הוא מחשב לכל דבר ועניין שעושה הכל בלי קשר בכלל ל-IoT ופה יש לא מעט מאמרים המתארים פרויקטים שלא מתייחסים בכלל לקשר שלו ל-IoT וכוללים פרויקטי תוכנה טהורים. זו הסיבה שלפרחחי ווב (כמוני!) מאוד קל יחסית עם רספברי פיי. שגם יש לו את כל הדברים ההיקפיים שצריך – מבלוטות' ועד ווי פיי וחיבור רשת.

אבל יש כמה בעיות עם רספברי פיי. הוא יקר והוא צורך המון חשמל. אם אני צריך איזה מחשב קטנטן שעושה כמה דברים ב-IoT – למשל מדליק אורות או סוגר מעגל חשמלי כאשר חיישן כלשהו עובד – לעשות את זה ברספברי זה קצת אוברקיל. בשביל זה בדיוק באים מיקרו בקרים. מחשבים קטנים בלי כל ההיקפים, חסכוניים בחשמל וגם זולים. גם לרספברי יש את גרסת המיקרו בקר שלה – פיי פיקו. הפיקו הוא מיקרובקר חזק, עם מעבד כפול ליבה, 264 ק"ב זיכרון פנימי וגם bus והכל. המעבד שלו חזק, אבל חלש מכדי להריץ לינוקס והוא לא מכיל חיבורים רבים. אבל מהצד השני הוא חסכוני בחשמל וזול. כמה זול? קניתי עכשיו ב-8 דולר באמזון. שזה באיזור השלושים ומשהו שקל.

עצה שלי: כדאי להשקיע כמה דולרים נוספים ולרכוש pre soldered, זה יעלה לכם עוד כמה דולרים אבל יחסוך הלחמות (😱) בהמשך.

במאמר הזה אני אסביר על Pi Pico כאשר ההסבר מיועד למתכנתי אינטרנט/ ג'אווהסקריפט. הרי אני פרחח ווב במקור וכל הדברים האלו נראו לי כמו סינית מדוברת עד לא מזמן.

אז אחרי שקנינו וקיבלנו את הרספברי פיי יש לנו בידיים לוח קטנטן עם חיבור של מיקרו USB. זה הזמן לקחת כבל של USB to micro USB ולחבר אותו אל מחשב חלונות שיש לנו או לינוקס. מהניסיון שלי – אפשר לחבר למק ויש סיכוי שהוא יעבוד כמעט מההתחלה אבל יש גם סיכוי גבוה לאכול קש רציני ביותר עם ה-SMB. לשיקולכם. אני בחרתי בחלונות במקרה הזה כי זה אחד הלפטופים הפנויים. כמובן שחלונות עם GitHub CLI וטרמינל נורמלי שדומה ללינוקס.

או קיי, ועכשיו מה? בניגוד לרספברי, שבו כתבנו קוד ישירות. פה צריך לכתוב את הקוד קודם ואז לטעון אותו 😱 ממש כמו בימי הביניים. או כמו שירותי ענן כמו heroku שקודם כותבים ואז עושים דיפלוי. השאלה היא… במה כותבים? אפשר בפייתון, אפשר ב-C. אבל אפשר גם בג'אווהסקריפט. I SHIT YOU NOT! יאפ. ממש כמו ב-Node.js. יש פריימוורק שמאפשר לכתוב למיקרובקרים בג'אווהסקריפט! זה נעשה עם KalumaJS. יש ממש את בדוקומנטציה את ה-Hello World אבל אני אחזור עליו פה.

ראשית נחבר את המיקרובקר על המחשב שלנו. בדוקומנטציה כתוב שצריך ללחוץ על כפתור ה-Bootsel ואז לחבר את הכבל ואחרי ששומעים את צליל החיבור לשחרר את הכפתור ואז יהיה אפשר לראות את הבקר ממש כמו כונן USB.

מיקרו בקר מחובר למחשב
מיקרו בקר מחובר למחשב – שימו לב לכפתור הלבן: Bootsel

השלב הבא הוא להעתיק לשם את קובץ ה-uf2 של Kaluma כדי לצרוב את המיקרובקר עם המערכת שיודעת לקבל את הקוד שלנו. לצרוב זו מילה חזקה – אבל כמובן שלא מעורב פה ריתוך או פעולה בלתי הפיכה.

אחרי ההעתקה המיקרו בקר יעלם לנו מה-USB ויאתחל את עצמו. אחרי כמה שניות אפשר להתחיל לעבוד. אנו ניצור פרויקט עם npm init ונתקין גלובלית את המודול של kaluma עם:

npm install -g @kaluma/cli

עכשיו יהיה לנו את Kaluma בטרמינל. נכתוב תוכנה פשוטה בג'אווהסקריפט שמפעילה את ה-LED הקטן של רספברי. התוכנה, שמאוד פשוטה עבור מי שמכיר ג'אווהסקריפט, נראית כך:

const led = 25;
pinMode(led, OUTPUT);
setInterval(() => {
  digitalToggle(led);
}, 1000);

אחרי שכתבנו את התוכנה, זה הזמן לבדוק אותה. אנו נשמור את הקובץ ב-index.js ומהטרמינל נטען את הקובץ אל הבקר כך:

kaluma flash index.js --bundle 

תראו שנורת ה-LED הקטנה מהבהבת! איזה כיף! מה טוב? אם תנתקו את הבקר ותחברו אותו למקור חשמל עצמאי או בטריות (אפשר לקנות מתאם בטריות למיקרו-USB גם בכמה דולרים), תראו שהנורה תמשיך להבהב. התוכנה שכתבנו, בג׳אווהסקריפט, מתחילה לעבוד מייד כשמחברים מקור מתח למיקרו בקר.

איך מבצעים דיבאגינג לזה? kaluma מאפשרת לנו לעשות console.log וכאשר אנו מריצים את השורה שמבצעת צריבה של התוכנה של המיקרובקר ומוסיפים על ה-shell– כאשר הוא מחובר למחשב – אנו נראה את הפלט. למשל:

// index.js
const led = 25;
pinMode(led, OUTPUT);
setInterval(() => {
  console.log('beep!');
  digitalToggle(led);
}, 1000);

נצרוב את התוכנה למיקרובקר אבל בפקודת הצריבה נוסיף shell– – כך:

kaluma flash ./index.js --bundle --shell

אנו נראה את כל שלבי הפריסה ואז גם את הקונסולה. הנה צילום מסך שמראה איך אני רואה את ה"beep" בכל שניה.

Done
>
> .load
beep!
beep!
beep!

וזהו, פה סיימנו את המבוא. בחלקים הבאים נלמד לעשות משהו יותר רציני מלהבהב ב-LED של התוכנה. מבטיח שזה יהיה כיף!

pi pico מיקרו בקרים

3 תגובות

  1. יוסף הגב מאי 29, 2022 בשעה 9:17 pm

    היי, מגניב!
    אבל מה בעצם אפשר לעשות עם דבר כזה חוץ נורה שמהבהבת?
    אני מבין שברסברי פיי אפשר ממש לבנות מחשב קטן..

  2. הלל הגב אוגוסט 16, 2022 בשעה 9:38 am

    היי
    אפשר לקנות בחנות ישראלית יותר זול מאמאזון ומשלוח תוך 5-5 ימי עסקים
    מצורף לינק (לא ממומן (-:)
    https://piitel.co.il/shop/raspberry-pi-pico-h/

    • רן בר-זיק הגב אוגוסט 16, 2022 בשעה 9:40 am

      לא ידעתי שהם מוכרים! המלצתי עליהם בעבר 🙂

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

    הפרויקטים שאני כותב ושוחררו לציבור ברישיון קוד פתוח נמצאים ברובם בגיטהאב.
חיפוש

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד