עבודה מרחוק על קוד ברפסברי פיי

איך מפתחים ממש עם IDE מרחוק על רספברי פיי

אחרי שלמדנו להתחבר מרחוק גם עם VNC וגם עם SSH, נותר לנו ללמוד איך אנחנו ממש מפתחים על הרספברי. כלומר, nano זה נחמד, vi אפילו יותר. אבל רוב האנשים יעדיפו לפתח יותר בקלות עם IDE מודרני. עם visual studio code, שהוא עורך קוד מעולה והסברתי עליו גם במאמר הזה (כולל הוראות התקנה) וגם בהרחבה בספר שלי ללימוד ג'אווהסקריפט (הפרקים הראשונים ללא תשלום פה, למי שצריך הסבר על מה זה IDE ולמה אנחנו צריכים אותו יש מאמר וסרטון שלי פה על זה).

למרבה השמחה, בגלל שרספברי פיי הוא פופולרי ובגלל ש-Visual Studio Code הוא פופולרי, מאוד קל לפתח מרחוק על רספברי פיי. עלינו להצטייד ב:

במחשב המקומי:

  1. עורך קוד מסוג Visual Studio Code.
  2. לוודא שאנחנו יכולים להתחבר מרחוק עם SSH, כפי שהסברתי במאמר הקודם.

במחשב המרוחק:

  1. להתקין שרת SSH כפי שהסברתי במאמר הקודם.

וכמובן להצטייד בשני ליטר מים, נעליים גבוהות ומצב רוח טוב!

השלב הבא הוא להתקין תוסף על ה-visual studio code. למי שלא יודע ה-IDE הזה, שהוא בקוד פתוח. תומך בלא מעט תוספים שגם הם כתובים בקוד פתוח. אחד מהם הוא Remote – SSH. ההתקנה של התוסף היא באמת פשוטה – נכנסים ל-IDE ואז File->Preferences->Extension ומחפשים אחר ה-extension הזה ומתקינים. או פשוט נכנסים לדף של התוסף ולוחצים על כפתור ההתקנה.

אחרי ההתקנה, אנו נראה את האייקון של התוסף, שנראה כמו שני חצים עקומים, מצד שמאל למטה.

לחיצה עליהם תציג לי תפריט. אנו נבחר ב- Remote SSH: Connect to Host…

כיוון שזו הפעם הראשונה שאנו מתחברים, נצטרך ליצור חיבור חדש ונלחץ על Add new SSH host:

ייפתח חלון שבו נוכל להקליד את פקודת ה-SSH.

אם שימרתם את שם המשתמש הדיפולטיבי – pi. הכניסו את הפקודה: ssh [email protected] ממש כמו בחיבור SSH רגיל. אחרי כן אנו נידרש לשמור את הקונפיגורציה. אני מעדיף לשמור אותה תחת שם המשתמש שלי.

אחרי שבחרנו, אנו נבחר ב-Connect:

נכניס את הסיסמה שלנו:

ונמתין לחיבור. אם הסיסמה לא תקינה, אנו נקבל חיווי שהיא לא תקינה ונוכל להקליד חדשה.

אם קופץ לנו חלון שמחייב אותנו בחירה במערכת ההפעלה המרוחקת, אנו נבחר בלינוקס.

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

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

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

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

Node.js

מדובר במימוש של ג'אווהסקריפט לצד השרת המאפשר בקלות ליצור אתרים, אפליקציות וכלים נוספים שהוא מאוד פופולרי בשנים האחרונות. גם ככלי העומד בפני עצמו וגם כפלטפורמה לשפות נוספות. על מנת להריץ Node.js על השרת, אני צריך להתקין אותו על השרת. אני יכול להתקין Node.js בקלות עם הפקודה (בטרמינל) להוספת המאגר של Node.js מתוך nodesource

curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash -

ואז התקנת הגרסה האחרונה של Node.js כאן:

apt-get install -y nodejs

ועכשיו? אם אני אקליד node -v אני אראה, גם בטרמינל של Visual Studio Code, ש-Node.js מותקנת ואני יכול להריץ סקריפט של Node.js! למשל, אם ניצור index.js – אני יכול להכניס אליו את הקוד שיוצר שרת http:

const http = require('http');

http.createServer((req, res) => {
  res.write('Hello World!'); // Write the response.
  res.end(); // End transmission.
}).listen(80); // Listen to 80.

להקליד בטרמינל

su node index.js

ה-su נדרש על מנת להפעיל כל תוכנה שמשתמשת בפורטים נמוכים. כמו פורט 80 שמשמש לתקשורת וובץ

ואז להכנס עם הדפדפן אל http://raspberrypi.local ולראות את התוצאה.

אם כל מה שכתבתי כאן נראה לכם כמו ג'יבריש, פיתוח ב-Node.js מעניין אתכם, יש לי ממש כאן באתר סדרת מדריכים על Node,js וכמובן ספר מאוד מקיף שמלמד ברמות מתקדמות.

פייתון

פייתון כבר בא מותקן על רספברי פיי OS, אז לא צריך להתקין אותו. כל מה שצריך זה ליצור סקריפט פייתון שיוצר שרת. למשל:

import SimpleHTTPServer
import SocketServer

PORT = 80

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

ואז להריץ את הקובץ עם:

sudo python index.py 

אנו נדרשים ל-sudo כי אני מבצע האזנה לפורט נמוך. עכשיו כל מה שנותר לי זה להכנס עם הדפדפן אל http://raspberrypi.local ולראות את התוצאה.

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

פוסטים נוספים שכדאי לקרוא

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

פתרונות ומאמרים על פיתוח אינטרנט

המנעו מהעלאת source control לשרת פומבי

לא תאמינו כמה אתרים מעלים את ה-source control שלהם לשרת. ככה תמצאו אותם וגם הסבר למה זה רעיון רע.

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