תוכן עניינים:

חיבור ה- Raspberry Pi שלך לרשת: 9 שלבים
חיבור ה- Raspberry Pi שלך לרשת: 9 שלבים

וִידֵאוֹ: חיבור ה- Raspberry Pi שלך לרשת: 9 שלבים

וִידֵאוֹ: חיבור ה- Raspberry Pi שלך לרשת: 9 שלבים
וִידֵאוֹ: הפיכת Raspberry Pi Pico שלך למיצובישי FX1N PLC 2024, יולי
Anonim
חיבור ה- Raspberry Pi שלך לרשת
חיבור ה- Raspberry Pi שלך לרשת

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

שלב 1: לקוח ושרת

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

מאפייני הלקוח:

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

מאפייני שרת:

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

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

שלב 2: צור שרת אינטרנט מקומי

ה- Raspberry Pi יכול להפוך לשרת אינטרנט על ידי התקנה והפעלת יישום שרת. שני יישומי שרת קוד פתוח פופולריים הם: NGINX (מנוע x מבוטא) ו- Apache. בשיעור זה תשתמש באפצ'י מכיוון שנכון לכתיבת שורות אלה הוא מתועד יותר. זה הופך את חיפוש התשובות באינטרנט לקל יותר תוך כדי למידה.

ה- Raspberry Pi שלך יארח אתר שכל מכשיר באותה רשת יכול לגשת אליו. בואו נתחיל!

שלב 3: התקן את Apache

התקן את חבילת apache2. הדגל -y עונה עבורך על שאלת האבטחה לפני ההתקנה.

sudo apt -get להתקין apache2 -y

אפאצ'י מגיע עם קובץ HTML לבדיקה היוצר דף אינטרנט של מציין מקום לבדיקת ההתקנה איתו. קובץ HTML זה מופיע בספריית השורש של Apache. כברירת מחדל, Apache מוגדר לחפש בספרייה זו מסמכי אינטרנט ליצירת תוכן בדפדפן אינטרנט. כדי להציץ בדף בדיקה זה ולוודא שאפצ'י אכן התקנה כראוי, העלה אותו בדפדפן האינטרנט שלך על ידי הקלדת כתובת URL זו:

localhost/

אם Apache מותקן כראוי, תראה את דף האינטרנט של בדיקת Apache בדפדפן:

תמונה
תמונה

מצא את כתובת ה- IP של Raspberry Pi שלך

אתה יכול להשתמש בכתובת localhost כדי לגשת לדף האינטרנט כשהוא נמצא ב- Raspberry Pi. כדי לגשת לדף האינטרנט ממחשב אחר אתה צריך את כתובת ה- IP של ה- Raspberry Pi שלך. כדי למצוא את סוג כתובת ה- IP ב- LXTerminal:

ifconfig

תמונה
תמונה

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

תמונה
תמונה

שלב 4: צור דף אינטרנט סטטי

Raspberry Pi שלך יכול כעת לארח דף אינטרנט וכל התוכן שיפורסם בו. ישנם שני סוגים בסיסיים של דפי אינטרנט: סטטי ודינאמי. בדף סטטי יש תוכן שאינו משתנה. דף דינמי מסוגל להציג נתונים משתנים כגון קריאות חיישנים או הזמן והתאריך המשתנים.

נתחיל עם דף סטטי. כדי ליצור אחד אתה צריך להשתמש בשפה שנקראת HTML. כאשר אתה נכנס לדף אינטרנט הדבר הראשון שאתה רואה מוצג הוא כנראה דף index.html. דף זה הוא דף ברירת המחדל שדפדפן מציג אם לא צוין דף אחר. כברירת מחדל, Apache מחפש את הקובץ index.html כאן:

/var/www/html

זה נקרא שורש המסמך, וזו תיקייה נסתרת. הוא מיועד להחזקת דפי אינטרנט. לך לשם ותסתכל מסביב:

cd/var/www/html

ls

תראה את קובץ ברירת המחדל של הבדיקה index.html. אם ברצונך לשמור את קובץ ברירת המחדל, שנה את שמו למשהו כמו defaultIndex.html באמצעות הפקודה mv.

sudo mv index.html defaultIndex.html

אם אינך רוצה לשמור אותו, הסר את הקובץ באמצעות הפקודה rm:

sudo rm index.html

כעת תוכל ליצור ולהתחיל לערוך קובץ index.html משלך:

סודו ננו index.html

זכור להשתמש ב- sudo, מדריכי www ו- html הם בבעלות root, כך שעליך לשמש כשורש כדי ליצור, לערוך ולתפעל כל קובץ המתגורר בספריות אלה.

דף HTML בסיסי

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

ראשית, ספר לדפדפן באיזו גירסת HTML אתה משתמש. מסמך זה מוכרז כמסמך HTML5:

התחל עם תגי html ו- body:

עיקר התוכן שלך עובר אחר כך, בין תגי הגוף. הפוך את השורה הראשונה לכותרת עם תג h1. המספר שאחרי ה- "h" מגדיר את חשיבות הכותרת המשפיעה על גודל הגופן. השתמש בתג p כדי להגדיר פסקה:

ל- Raspberry Pi שלי יש אתר

מה אני צריך לשים כאן?

סיים את הדף על ידי סגירת הגוף וה- html ותגים:

שמור את המסמך עם הסיומת.html ובקר ב- localhost בדפדפן שלך. אתה תראה את דף האינטרנט שלך!

תמונה
תמונה

מה כדאי לשים בדף האינטרנט? בואו נעלה תמונה, או יותר טוב, את animateMe.gif! על מנת שכל נכס יוצג בדף אינטרנט זה עליו להכניס אותו לשורש המסמכים של Apache. עליך להעתיק ולהדביק אותו כך שהוא יישאר גם בספריית boof/fotos שלך. כדי להעתיק ולהדביק קובץ בשורת הפקודה השתמש בפקודה cp. ראשית, תקליטור לספריית הבית שלך:

תקליטור ~

העתק והדבק את הקובץ animateMe.gif:

sudo cp boof/fotos/animateMe.gif/var/www/html

חזור לספריית html:

cd/var/www/html

פתח מחדש את קובץ index.html כך שתוכל להוסיף את התמונה:

סודו ננו index.html

כדי להגדיר ולהטביע תמונה בדף HTML השתמש בתג img. שים את השורה הבאה בין הכותרת לפסקה.

פתח את הדף בדפדפן וזה ייראה כך למעט עם קובץ selfie מסוגנן משלך.

תמונה
תמונה

שלב 5: הוסף קצת סגנון

הדף נראה מעט סתמי. בלי צבע ובלי סגנון. כאן נכנס CSS. זוהי שפה שעובדת יד ביד עם HTML כדי להפוך דף אינטרנט לאטרקטיבי ויצירתי יותר ויזואלית. תוכל לגעת כאן אך אם ברצונך ללמוד עוד, עיין במערכות W3 ללמוד עוד.

כדוגמה, בואו נשנה את צבע הרקע על ידי הוספת CSS לקובץ ה- HTML שלכם. ישנן מספר דרכים לעצב את דף האינטרנט שלך באמצעות CSS. עבור שיעור זה, תשתמש בתגי הסגנון כדי להטביע CSS ישירות בקובץ ה- HTML שלך.

שים את השורות הבאות בין תגי ה- html והגוף הראשונים בראש דף ה- HTML שלך:

תגי body {background-color: powderblue;}. זה יראה כך:

תמונה
תמונה

גוף {color-color: powderblue;}

תמונה
תמונה

שלב 6: התקן PHP

במקום דף סטטי, תוכל ליצור דף דינמי המסוגל לשנות מבלי שתעלה אליו קבצים באופן ידני. דרך פופולרית לעשות זאת היא שימוש בשפת סקריפטים הנקראת PHP. כדי להשתמש ב- PHP ב- Raspberry Pi עליך להתקין אותו תחילה עם חבילת מודולים עבור Apache:

sudo apt-get install libapache2-mod-php5 php5 -y

שלב 7: צור דף אינטרנט דינאמי

שלב PHP עם HTMLAs כל עוד קוד PHP כלול בתגים שאתה יכול לכלול אותו במבנה קובץ HTML. כדוגמה, שלב את סקריפטים HTML ו- PHP הנוכחיים שלך והגדל את הטקסט באמצעות תגי HTML.

בואו לכלול סקריפט PHP פשוט המציג את התאריך והשעה. הדבק את הדברים הבאים בכל מקום בין התגים:

שמור את הקובץ באמצעות Ctrl + o אך שנה את הסיומת מ- HTML ל-.php, מה שישמור קובץ חדש. כדי לא לבלבל את הדפדפן, הסר את גרסת ה- HTML הישנה:

sudo rm index.html

רענן את localhost בדפדפן האינטרנט שלך. הפלט ייראה כך:

תמונה
תמונה

בסדר, אז מה ההבדל? זה נראה כמו דף HTML רגיל לא? רענן את הדף וצפה בקסם. הקסם הוא שהזמן ישתנה! זה PHP ופונקציית התאריך () המובנית שלו עובדת עבורך כדי ליצור דף אינטרנט דינמי.

שלב 8: צור לקוח API של Tumblr

ה- Raspberry Pi יכול לבקש ולקבל מידע מיישומי תוכנה אחרים באינטרנט באמצעות ממשק API (ממשק תכנות אפליקציות). ממשק API מקל על משהו כמו ה- Raspberry Pi לחתוך את כל הנתונים של אתר אינטרנט כדי לתפוס רק את הדברים השימושיים. בקש מ- Raspberry Pi שלך לדבר עם Tumblr, Twitter ו- weather.com כדי לצייץ, לפרסם תמונות ולהציג תחזיות מזג אוויר.

פטל פאי וטמבלר

התרגיל הבא יוצר שיחה בין ה- Raspberry Pi שלך ל- Tumblr. כלקוח, ה- Raspberry Pi שלך יבקש מ- Tumblr קטע נתונים כך שיוכל להעלות תמונות לשרת המרוחק של Tumblr, וכתוצאה מכך התמונות יפורסמו בחשבון Tumblr. כדי לגרום ל- Raspberry Pi לעבוד עם API סביר להניח שכבר תהיה ספרייה שתוכל להשתמש בה. עבור Tumblr יש Pytumblr. לקוח נוצר בתוכנית Python באמצעות פונקציה מובנית שנוצרה ב- Pytumblr. פונקציה זו משתמשת בארבעה קודי הרשאה שנוצרו על ידי Tumblr:

  • מפתח לצרכן
  • סוד הצרכן
  • מפתח אסימון
  • סוד סמלי

לפני שתוכל להשתמש ב- API של Tumblr עליך לקבל ארבעה מפתחות אלה (בדומה לסיסמאות). כדי לקבל אותם בצע את הפעולות הבאות:

  1. צור חשבון Tumblr בחינם והיכנס.
  2. רשום בקשה. עליך רק למסור מידע בסיסי כגון כותרת (נסה "My Raspberry Pi"), תיאור, דוא"ל ואתר אינטרנט (השתמש במידע זה אם אין לך כזה). לאחר הרישום תקבלו מפתח צרכנים וסוד צרכנים. העתק והדבק אותם במקום בטוח, כמו קובץ טקסט או דוא"ל. כדי לגשת אליהם שוב עבור לדף חשבון Tumblr שלך, בחר הגדרות בתפריט חשבון ולחץ על אפליקציות.
  3. היכנס למסוף המפתחים באמצעות מפתחות וקודי ההרשאה הסודיים שלך. לחץ על אפשר כשנשאל אם ברצונך לפרסם בשמך.
  4. לאחר הכניסה למסוף המפתחים, תראה קוד דוגמה במספר שפות שונות. או לחץ על הכרטיסייה Python והעתק את בלוק OAuth, או בתפריט העליון לחץ על הצג מפתחות כדי לראות את מפתח האסימון והקודים הסודיים לאסימון יחד עם שני הקודים שכבר יש לך.

בואו נפעיל את הקודים האלה ונעשה תוכנית Python שמפרסמת את animateMe-g.webp

התקן לראשונה את Pytumblr:

עדכון sudo apt-get

sudo pip התקן pytumblr

מספריית הבית שלך, תקליטור בתיקיית boof וצור קובץ Python:

בוף תקליטורים

צור את הקובץ שלך באמצעות עורך IDLE כדי שיהיה קל יותר לחתוך ולהדביק את קודי ההרשאה הארוכים שלך. שים את זה בקובץ testPytumblr.py שלך, עדכן את ארבעת המפתחות ואת שם המשתמש שלך:

יבוא pytumblr

# מאמת באמצעות OAuth, העתק מתוך https://api.tumblr.com/console/calls/user/info client = pytumblr. TumblrRestClient ('your_consumer_key', 'your_consumer_secret', 'your_token', 'your_token_secret') client.create_photo ('your_account_username', state = "פורסם", תגים = ["raspberrypi", "picamera"], data = "fotos/animateMe.gif") הדפסה ("הועלה")

התוכנית מתייגת עבורך את התמונה שהועלתה באמצעות "raspberrypi" ו- "picamera". אם תרצה, תוכל להסיר, להחליף או להוסיף לתגים אלה. אלה מאוחסנים במשתנה שנקרא תגים המשמשים ב- client.create_photo ().

הקש F5 להפעלת התוכנית. תהיה שגיאה … אבל כבר התקנת את Pytumblr אז למה Python אומר שהוא לא יכול למצוא את המודול? הסיבה לכך היא ש- Pytumblr אינו תומך ב- Python 3, הוא פועל רק ב- Python 2*. פתח את עורך Python 2 IDLE וגזור והדבק את הקוד שלך, החלף את תוכנית Python 3 ולאחר מכן הפעל אותו. כאשר הוא העלה את ה- GIF, "הועלה" יודפס בחלון הקליפה של פייתון.

זה החלק המרגש! עבור לדף Tumblr שלך ובדוק את ה- GIF! החלף "פורסם" בתוכנית שלך ל"טיוטה "אם ברצונך ליצור טיוטות של פוסטים במקום זאת.

תמונה
תמונה

*לאחר פרסום מחלקה זו, משתמש אחר ב- github פישל את המקור והוסיף תמיכה ב- Python 3 עבור פקודות מסוימות.

אם הפוסט אינו מופיע, בדוק שוב שהזנת נכון את ארבעת המפתחות ושם המשתמש שלך ב- Tumblr וכי חיבור האינטרנט של הפי שלך פעיל. אתה יכול גם להריץ את הסקריפט משורת הפקודה באמצעות Python 2 (תקליטור לבוף התיקיות שלך אם אתה כבר לא שם):

מבחן פיתון Pytumblr.py

שלב 9: צלם צילום מסך של Tumblr ו/או אתר

צור אתר כדי להציג לו-g.webp

מוּמלָץ: