אחרי שלמדנו להתחבר מרחוק גם עם VNC וגם עם SSH, נותר לנו ללמוד איך אנחנו ממש מפתחים על הרספברי. כלומר, nano זה נחמד, vi אפילו יותר. אבל רוב האנשים יעדיפו לפתח יותר בקלות עם IDE מודרני. עם visual studio code, שהוא עורך קוד מעולה והסברתי עליו גם במאמר הזה (כולל הוראות התקנה) וגם בהרחבה בספר שלי ללימוד ג'אווהסקריפט (הפרקים הראשונים ללא תשלום פה, למי שצריך הסבר על מה זה IDE ולמה אנחנו צריכים אותו יש מאמר וסרטון שלי פה על זה).
למרבה השמחה, בגלל שרספברי פיי הוא פופולרי ובגלל ש-Visual Studio Code הוא פופולרי, מאוד קל לפתח מרחוק על רספברי פיי. עלינו להצטייד ב:
במחשב המקומי:
- עורך קוד מסוג Visual Studio Code.
- לוודא שאנחנו יכולים להתחבר מרחוק עם SSH, כפי שהסברתי במאמר הקודם.
במחשב המרוחק:
- להתקין שרת 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. ים מסיקה יצא עם יוזמה חדשה ומלהיבה במיוחד שגם היא חינמית ושווה לבדוק אותה. יש עוד כמה קורסים בחינם ובתשלום ברשת. של חיים מיכאל ושל ינון פרק. מומלץ לבדוק.
11 תגובות
חשבתי ששני החיצים זה האייקון של VSCODE 🙂 אתה בטוח?
בי"ת, אמנם VSCODE טהרבה מהתוספים שלו (גם ממיקרוסופט) הם קוד פתוח, דווקא הREMOTEים (WSL – REMOTE, DOCKER – REMOTE וSSH – REMOTE הם לא (יחד עם עוד כמה כמו C++ של מיקרוסופט. הסיבה – הם מכילים קוד שמשותף למוצרים קנייניים כמו VS (ע"פ מיקרוסופט).
אתה לא צודק זה כן של התוסף
האייקון הזה משמש לחיבור של VSCODE לשרת של VSCODE. השרת יכול לרוץ ב-WSL או על מחשב אחר כמו ראספברי פיי דרך SSH.
WSL דורש תוסף מתאים ו-SSH דורש תוסף אחר.
בנוסף, חשוב לציין שלא כל התוספים יעבדו בעבודה מרחוק. רובם כן, אבל יש תוספים שצריכים התאמה כדי לעבוד ואממה, לא עשו את זה.
מקסימום תעבוד בתצורה של XSERVER במקרה הכי גרוע
בקישור לגיטהאב של ים מסיקה קפץ לך קישור יציאה מפייסבוק.
github.com/PythonFreeCourse/Notebooks
אני עוקב וקורא את הכתבות שאתה כותב, הכתבה האחרונה כתבת מצוין ויחד עם זאת לא הייתי רוצה לפספס את הסיבה הפנימית שלשמה לדבריך פצחת בסדרת הפאי
אתה רושם שתביא הסבר טוב לאיך אפשר לקודד וליצור מיטוב פרקטי של הקוד, אבל: מדוע החלטת ללכת על סגנון עבודה מרחוק במקום לפנות מקום
הערת אגב אין אפשרות לעשות עריכה של התגובות, פיתרון פשוט יהיה באתן קליקאבל שנקרא ערוך.
ממש לא ברור למה אתה עובד עם הפאי מרחוק, תמשיך לחדד את הנושא בכתבה 4
יוצא לי לפתח לא מעט על רספברי פי ומה שהכי נוח לי זה תוכנה חינמית בשם mobaxterm שמאפשר לך לפתוח את הקוד בide שלך גם אם זה לא vscode
תודה על הסדרת מאמרים.
רק מציין שיש קצת בעיות עם רסברי-פאי ישנים (מעבד armv6)
התוסף של vscode לא תומך בהם, וגם ההתקנה של nodejs עושה קצת בעיות.
אני התקנתי מפה : https://github.com/audstanley/NodeJs-Raspberry-Pi