בנה תחנת מזג אוויר פטל משלך

Build Your Own Raspberry Pi Weather Station



Raspberry Pi Sense Hat הוא לוח הרחבה שניתן להשתמש בו עם מחשבי לוח יחיד של Raspberry Pi. כובע ה- Raspberry Pi Sense כולל צג LED 8 × 8 וג'ויסטיק בעל 5 כפתורים והוא מצויד בחיישנים הבאים:

  1. ג'ִירוֹסקוֹפּ
  2. מד תאוצה
  3. מגנטומטר
  4. טֶמפֶּרָטוּרָה
  5. לחץ ברומטרי
  6. לחות

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







  1. Raspberry Pi 3 או Raspberry Pi 4 עם קישוריות לרשת.
  2. מודול Raspberry Pi Sense Hat.
  3. מתאם מתח מיקרו USB (Raspberry Pi 3) או USB Type-C (Raspberry Pi 4).
  4. כרטיס microSD בנפח 16 GB או 32 GB עם מערכת הפעלה Raspberry Pi.
  5. מחשב נייד או מחשב שולחני לגישה מרחוק לשולחן העבודה של VNC או גישת SSH ל- Raspberry Pi.

הערה: במאמר זה, נתחבר ל- Raspberry Pi מרחוק באמצעות VNC או SSH באמצעות ההתקנה נטולת הראש של ה- Raspberry Pi. אם אינך רוצה לגשת ל- Raspberry Pi שלך מרחוק באמצעות SSH או VNC, יהיה עליך לחבר צג, מקלדת ועכבר ל- Raspberry Pi שלך.



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



חיבור כובע Sense Raspberry Pi ל- Raspberry Pi

ערכת Raspberry Pi Sense Hat מגיעה עם לוח התוספות של Raspberry Pi Sense Hat, כותרת של 40 פינים זכר לנקבה, וכמה ברגים ומרווחים.





לפני שתוכל לחבר את לוח Sense Hat ל- Raspberry Pi, עליך לחבר את הכותרת 40 פינים לכובע Sense. חבר את סיכות הזכר של כותרת הזכר-נקבה עם 40 פינים לכובע Sense כפי שמוצג בתמונות למטה.



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

לאחר מכן, חבר מרווח לבורג.

לאחר שתוסיף את כל ארבעת הברגים והמרווחים, ה- Raspberry Pi שלך אמור להיראות כמו שמופיע בתמונה למטה.

חבר את כובע ה- Raspberry Pi Sense לכותרת הזכר GPIO של 40 פינים של ה- Raspberry Pi, כפי שמוצג בתמונות למטה.

הערה: היזהר בעת ניתוק כובע ה- Raspberry Pi Sense מכותרת ה- RIO 40 פינים של Raspberry Pi כדי להימנע מכפיפת הפינים של ה- Raspberry Pi GPIO.

בעזרת ארבעת הברגים הנותרים, חברו את כובע Sense Raspberry Pi, כפי שמוצג בתמונות למטה.

הפעלה של ה- Raspberry Pi

כעת, לאחר שכובע ה- Raspberry Pi Sense מחובר ל- Raspberry Pi, הכנס את כרטיס ה- microSD עם מערכת ההפעלה Raspberry Pi לחריץ כרטיס ה- microSD של ה- Raspberry Pi, חבר את כבל החשמל ל- Raspberry Pi והפעל אותו.

התקנת ספריית פייתון Raspberry Pi Sense Hat

כדי להשתמש ב- Raspberry Pi Sense Hat על ה- Raspberry Pi, ה- כובע חוש יש להתקין את ספריית פייתון במערכת ההפעלה Raspberry Pi. ה כובע חוש הספרייה זמינה במאגר החבילות הרשמי של מערכת ההפעלה Raspberry Pi.

להתקנת ה- Raspberry Pi כובע חוש ספריית פייתון במערכת ההפעלה Raspberry Pi, עדכן תחילה את מטמון מאגר החבילות APT בפקודה הבאה:

עדכון $ sudo apt

לאחר מכן, הפעל את הפקודה הבאה:

$ sudo apt להתקין sense -hat -y

התקנת ספריית ה- Python של Flask Micro Web Framework

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

$ sudo apt להתקין python3 -flask -y

יצירת מדריך פרויקטים

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

$ mkdir ~/work

לאחר יצירת מדריך הפרויקטים, נווט לספריית הפרויקטים באופן הבא:

$ cd ~/עבודה

בדיקת כובע Sense Raspberry Pi

כדי לבדוק אם הכובע Sense Raspberry Pi עובד, נוכל לכתוב סקריפט פייתון פשוט לבדיקה. אתה יכול ליצור סקריפט Python חדש בשם test.py עם ה ננו עורך הטקסט כדלקמן:

$ nano test.py

הזן את הקוד הבא ב test.py קוֹבֶץ. ייבוא ​​שורה 1 SenseHat מ ה חוש_האט מודול, שורה 3 יוצרת SenseHat אובייקט ומאחסנת הפניה ב לָחוּשׁ משתנה, וקווים 5-6 מגדירים את הצבע של כל הנורות 8 × 8 לאדום. לאחר שתסיים, לחץ על + איקס בא אחריו וגם ו .

אתה יכול להפעיל את test.py סקריפט פייתון עם הפקודה הבאה:

$ python3 test.py

מטריצת ה- 8 × 8 LED צריכה להאיר בצבע אדום כפי שמוצג בתמונה למטה.

כדי לכבות את נוריות ה- LED של הכובע Sense, הפעל את ברור() שיטה ללא כל ערך צבע ב test.py סקריפט פייתון, כפי שמוצג בצילום המסך למטה, והפעל את test.py סקריפט פייתון שוב.

כעת יש לכבות את נוריות ה- Sense Hat, כפי שמוצג בתמונה למטה.

אם הכובע Sense פועל כראוי, המשך לסעיף הבא.

קבלת נתוני מזג אוויר מ- Sense Hat

אתה יכול להשיג נתוני חיישנים מה- Sense Hat בקלות רבה על ידי שימוש ב כובע חוש ספריית פייתון. כדי לאחזר נתוני חיישנים מה- Sense Hat, תוכל ליצור סקריפט Python חדש read_sensor_data.py כדלהלן:

$ nano read_sensor_data.py

הזן את הקוד הבא ב read_sensor_data.py קובץ פייתון.

מחוש_האטיְבוּאSenseHat
מ זְמַן יְבוּאלִישׁוֹן
לָחוּשׁ=SenseHat()
לָחוּשׁ.ברור()
בזמן נָכוֹן:
tempC=לָחוּשׁ.get_temperature()
tempF=טמפ ' *(9/5)+32
לַחַץ=לָחוּשׁ.get_pressure()
לחות=לָחוּשׁ.לקבל_לחות()

הדפס('טמפרטורה: %.2f ° C/ %.2f ° F n'%(tempC,tempF))
הדפס('לחץ: %.2f mb n'%(לַחַץ))
הדפס('לחות:%.2f %% n n'%(לחות))
לִישׁוֹן(5)

לאחר שתסיים, לחץ על + איקס בא אחריו וגם ו .

בקוד למעלה שורות 1 ו -2 מייבאות את כל הספריות הנדרשות, שורה 4 יוצרת א SenseHat אובייקט, וקו 5 מכבה את כל נוריות ה- LED של הכובע Sense באמצעות ברור() שיטה. לולאת ה- while בשורה 7 היא לולאה אינסופית שתפעיל את הקוד בשורות 8-16 לנצח.

בשורה 8, ה get_temperature () השיטה משמשת לקריאת נתוני הטמפרטורה (במעלות צלזיוס) מחיישן הלחות של הכובע Sense. בשורה 9 נתוני הטמפרטורה מומרים מ מעלות צלזיוס למעלות פרנהייט. בשורה 10, ה get_pressure () השיטה משמשת לקריאת נתוני לחץ האוויר (במיליבר) מחיישן הלחץ של הכובע Sense. בשורה 11, ה get_humidity () השיטה משמשת לקריאת נתוני הלחות (באחוזים %) מחיישן הלחות של הכובע Sense.

שורות 13–15 משמשות להדפסת נתוני החיישנים לקונסולה, ושורה 16 ​​משמשת להמתנה של 5 שניות לפני קריאת נתוני החיישן שוב.

אתה יכול להפעיל את read_sensor_data.py סקריפט פייתון כדלקמן:

$ python3 read_sensor_data.py

לאחר הפעלת התסריט, נתוני החיישן יודפסו לקונסולה.

כעת, כשאנו יכולים לקרוא את נתוני החיישנים מה- Sense Hat, לחץ על + ג כדי לעצור את התוכנית.

יצירת אפליקציית אינטרנט של תחנת מזג אוויר

בחלק זה, נראה לך כיצד להשתמש במסגרת האינטרנט של פייתון בקבוק ליצירת ממשק API של מזג אוויר ויישום מזג אוויר. אפליקציית מזג האוויר תיכנס לממשק ה- API של נתוני מזג האוויר ותציג את נתוני מזג האוויר בזמן אמת. כל הקוד שנדון בסעיף זה זמין ב- GitHub בכתובת אפליקציה shovon8 / פטל-פי-חוש-כובע-מזג אוויר .

ראשית, צור א server.py סקריפט פייתון בספריית הפרויקטים כדלקמן:

$ nano server.py

הזן את הקוד הבא ב server.py קובץ פייתון.

מבקבוקיְבוּאבקבוק
מבקבוקיְבוּאjsonify
מבקבוקיְבוּאrender_template
מבקבוקיְבוּאurl_for
מחוש_האטיְבוּאSenseHat
אפליקציה=בקבוק(__שֵׁם__)
אפליקציה.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
לָחוּשׁ=SenseHat()
לָחוּשׁ.ברור()
עםאפליקציה.test_request_context():
url_for('סטָטִי',שם קובץ='style.css')
url_for('סטָטִי',שם קובץ='app.js')
@אפליקציה.מַסלוּל('/אֵשׁ')
defאֵשׁ():
tempC=לָחוּשׁ.get_temperature()
tempF=טמפ ' *(9/5)+32
לַחַץ=לָחוּשׁ.get_pressure()
לחץ פס=לחץ *0.0145038
לחץ P.=לחץ *100
לחות=לָחוּשׁ.לקבל_לחות()

לַחֲזוֹרjsonify({
'טֶמפֶּרָטוּרָה':{ 'C': טמפ ', 'F': tempF},
'לַחַץ':{ 'mb': לחץ, 'hPa': לחץ,
'psi': pressurePsi, 'P': לחץ P.},
'לחות': לחות
})
@אפליקציה.מַסלוּל('/')
defבית():
לַחֲזוֹרrender_template('./home.html')

לאחר מכן, לחץ על + איקס בא אחריו וגם ו כדי לשמור את server.py סקריפט פייתון.

בקוד למעלה שורות 1-5 מייבאות את כל הספריות הנדרשות, שורה 7 יוצרת אפליקציית Flask, שורה 11 יוצרת אובייקט SenseHat ושורה 12 מכבה את כל נוריות ה- Sense Hat. שורה 8 מבטלת את שמירת האינטרנט עבור אפליקציית הבקבוק. מכיוון שאפליקציה זו קלה, אין צורך במטמון. אם ברצונך לשנות את האפליקציה, השבתת שמירת האינטרנט תעשה את הבדיקה הרבה יותר קלה.

שורות 18–31 קוראות את נתוני החיישנים מה- Sense Hat ומחזירים את נתוני ה- API בפורמט JSON לבקשת HTTP GET ב /אֵשׁ נקודת הסיום של שרת האינטרנט. שורות 37–39 מחזירות את דף הבית של אפליקציית מזג האוויר ברשת / נקודת הסיום של שרת האינטרנט. דף הבית מוצג מתוך home.html הקובץ, שאמור להיות בתוך תבניות/ ספריית מדריך הפרויקטים.

שורות 14–16 משמשות לאפשר גישה אל style.css ו app.js קבצים סטטיים. קבצים אלה צריכים להיות ב- סטָטִי/ ספריית מדריך הפרויקטים. ה style.css הקובץ משמש לעיצוב ה- home.html דף הבית, ואת app.js הקובץ משמש לבקשת נתוני ה- API מה- /אֵשׁ נקודת קצה ועדכן את נתוני מזג האוויר ב- home.html דף כל 5 שניות.

צור את סטָטִי/ ו תבניות/ ספריית ספריית הפרויקטים כדלקמן:

$ mkdir -v {static, templates}

ליצור home.html הקובץ ב תבניות/ הספרייה כדלקמן:

תבניות $ nano/home.html

הזן את הקוד הבא ב home.html קוֹבֶץ.


< html >
< רֹאשׁ >
< meta שֵׁם='נוף נוף' תוֹכֶן='width = device-width, scale-initial = 1.0'>
< כותרת >תחנת מזג האוויר Raspberry Pi</ כותרת >
< קישור rel='גיליון סגנונות' סוּג='טקסט/css'
href='{{url_for (' static ', filename =' style.css ')}}'/>
</ רֹאשׁ >
< גוּף >
< div תְעוּדַת זֶהוּת='תוֹכֶן'>
< h1 >תחנת מזג האוויר Raspberry Pi</ h1 >

< div מעמד='תוכן נתונים'>
< h2 >טֶמפֶּרָטוּרָה</ h2 >
< div מעמד='שורת נתונים'>
< div מעמד='תא-נתונים' תְעוּדַת זֶהוּת='tempC'>
...
</ div >
< div מעמד='תא-נתונים' תְעוּדַת זֶהוּת='tempF'>
...
</ div >
</ div >
</ div >

< div מעמד='תוכן נתונים'>
< h2 >לַחַץ</ h2 >
< div מעמד='שורת נתונים'>
< div מעמד='תא-נתונים' תְעוּדַת זֶהוּת='לחץ Mb'>
...
</ div >
< div מעמד='תא-נתונים' תְעוּדַת זֶהוּת='לחץ PSI'>
...
</ div >
</ div >
< div מעמד='שורת נתונים'>
< div מעמד='תא-נתונים' תְעוּדַת זֶהוּת='לחץ Hpa'>
...
</ div >
< div מעמד='תא-נתונים' תְעוּדַת זֶהוּת='לחץ P'>
...
</ div >
</ div >
</ div >

< div מעמד='תוכן נתונים'>
< h2 >לחות</ h2 >
< div מעמד='שורת נתונים'>
< div מעמד='תא-נתונים' תְעוּדַת זֶהוּת='לחות'>
...
</ div >
</ div >
</ div >
</ div >

< תַסרִיט סוּג='טקסט/javascript' src='{{url_for (' static ', filename =' app.js ')}}'></ תַסרִיט >
</ גוּף >
</ html >

לאחר מכן, לחץ על + איקס בא אחריו וגם ו כדי לשמור את home.html קוֹבֶץ.

ליצור style.css הקובץ ב סטָטִי/ הספרייה כדלקמן:

$ nano סטטי/style.css

הזן את הקודים הבאים ב style.css קוֹבֶץ.

@יְבוּא url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');
* {
ריפוד: 0;
שולים: 0;
משפחת גופן: 'רוֹבּוֹט', פונט סאנס סריף;
}
גוּף{
רקע כללי: # 737373;
}
h1{
לְהַצִיג: לַחסוֹם;
צֶבַע: #79DC7B;
יישור טקסט: מֶרְכָּז;
משקל גופן: 400;
רקע כללי: # 000;
ריפוד: 0.5 אמ 0;
}
h2{
לְהַצִיג: לַחסוֹם;
רקע כללי: # 000;
צֶבַע: #fff;
יישור טקסט: מֶרְכָּז;
משקל גופן: 400;
גודל גופן: 1 em;
}
.data-content {
שולים: 10 פיקסלים;
גבול: 2 פיקסלים מוצק שָׁחוֹר;
רדיוס גבול: 5 פיקסלים;
צבע רקע: #79DC7B;
}
שורת נתונים {
לְהַצִיג:לְהַגמִישׁ;
כיוון גמיש:שׁוּרָה;
}
תא-נתונים {
רוֹחַב: 100%;
גוֹבַה: 80 פיקסלים;
לְהַצִיג:לְהַגמִישׁ;
יישור-פריטים: מֶרְכָּז;
הצדקה-תוכן: מֶרְכָּז;
משקל גופן: נוֹעָז;
גודל גופן: 1.5 אמ;
צֶבַע: # 006902;
}
תא-נתונים:לְרַחֵף {
רקע כללי: # FFE891;
צֶבַע: # AA8600;
סַמָן: מַצבִּיעַ;
}

לאחר מכן, לחץ על + איקס בא אחריו וגם ו כדי לשמור את style.css קוֹבֶץ.

ליצור app.js הקובץ ב סטָטִי/ הספרייה כדלקמן:

$ nano static/app.js

הזן את הקוד הבא ב app.js קוֹבֶץ.

חַלוֹן.addEventListener('לִטעוֹן',רָאשִׁי);
פוּנקצִיָהרָאשִׁי() {
פוּנקצִיָהgetAPIData() {
איפהhttp= חָדָשׁXMLHttpRequest();

http.onreadystat change = פוּנקצִיָה() {
אם(זֶה.readyState === 4 && זֶה.סטָטוּס === 200) {
עדכון(JSON.לְנַתֵחַ(זֶה.responseText));
}
}

http.לִפְתוֹחַ('לקבל', '/אֵשׁ', נָכוֹן);
http.לִשְׁלוֹחַ();
}


פוּנקצִיָהעדכון(apiData) {
איפהtempC=מסמך.getElementById('tempC');
איפהtempF=מסמך.getElementById('tempF');
איפהלחץ Mb=מסמך.getElementById('לחץ Mb');
איפהלחץ פס=מסמך.getElementById('לחץ PSI');
איפהלחץ HP=מסמך.getElementById('לחץ Hpa');
איפהלחץ P.=מסמך.getElementById('לחץ P');
איפהלחות=מסמך.getElementById('לחות');

tempC.פנימי HTML =parseFloat(apiData.טֶמפֶּרָטוּרָה.ג).toFixed(2) + '° C';
tempF.פנימי HTML =parseFloat(apiData.טֶמפֶּרָטוּרָה.ו).toFixed(2) + '° F';

לחץ Mb.פנימי HTML =parseFloat(apiData.לַחַץ.mb).toFixed(2) + 'mb';
לחץ פס.פנימי HTML =parseFloat(apiData.לַחַץ.psi).toFixed(2) + 'psi';
לחץ HP.פנימי HTML =parseFloat(apiData.לַחַץ.hPa).toFixed(2) + 'hPa';
לחץ P.פנימי HTML =parseFloat(apiData.לַחַץ.פ).toFixed(2) + 'P';

לחות.פנימי HTML =parseFloat(apiData.לחות).toFixed(2) + '%';
}


פוּנקצִיָהאפליקציה() {
חַלוֹן.setInterval(פוּנקצִיָה() {
getAPIData();
}, 5000);
}

אפליקציה();
}

לאחר מכן, לחץ על + איקס בא אחריו וגם ו כדי לשמור את app.js קוֹבֶץ.

כאן, שורה 1 מפעילה את רָאשִׁי() פונקציה כאשר דף האינטרנט מסיים את הטעינה. בתוך ה רָאשִׁי() פונקציה, ה getAPIData () הפונקציה אוספת את נתוני ה- API של מזג האוויר באמצעות AJAX וקוראת ל- עדכון() פונקציה (בשורה 10) לאחר אחזור הנתונים בהצלחה. ה עדכון() פונקציה מעדכנת את רכיב דף האינטרנט באמצעות נתוני ה- API.

בשורה 20, ה document.getElementById () שיטה משמשת לקבלת ההפניה של רכיב דף האינטרנט עם המזהה tempC . שורה 28 משמשת להחלפת התוכן של רכיב דף האינטרנט בעל המזהה tempC עם הטמפרטורה (בצלזיוס) מה- API. באותו אופן, התוכן של כל רכיבי האינטרנט (שורות 21–26) מוחלף בנתוני ה- API המתאימים להם.

בתוך ה אפליקציה () פונקציה, ה getAPIData () נקרא כל 5 שניות (5000 אלפיות השנייה) כדי לשמור על נתוני מזג האוויר מעודכנים באפליקציית מזג האוויר. לבסוף, בשורה 46, ה- אפליקציה () הפונקציה מבוצעת.

כדי לבדוק את אפליקציית האינטרנט, הזן את הפקודה הבאה:

$ FLASK_APP = הפעלת בקבוקי server.py --host = 0.0.0.0

אפליקציית מזג האוויר אמורה לפעול ביציאה 5000 (כברירת מחדל).

כדי לבדוק אם ממשק ה- API של Weather פועל, הפעל את הפקודה הבאה:

$ תלתלים http: // localhost: 5000/api | json_pp

כפי שאתה יכול לראות, נתוני ה- Weather API מודפסים לקונסולה. לכן, ה- API פועל.

כדי לבדוק את אפליקציית מזג האוויר, בקר בכתובת http: // localhost: 5000 מדפדפן Chromium. יש לטעון את אפליקציית מזג האוויר בדפדפן האינטרנט, אך אין להציג נתוני מזג אוויר בהתחלה.

לאחר מספר שניות, אפליקציית מזג האוויר אמורה לסיים לאחזר את נתוני מזג האוויר מ- API ולהציג אותם.

בכל שלב תוכל ללחוץ + ג כדי לעצור את שרת האינטרנט.

יצירת שירות Systemd עבור אפליקציית Weather Web

בחלק זה, נראה לך כיצד ליצור קובץ שירות systemd עבור אפליקציית מזג האוויר כך שהוא יתחיל אוטומטית בעת האתחול.

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

תחנת מזג אוויר $ nano. שירות

הזן את שורות הקוד הבאות ב תחנת מזג אוויר. שירות קוֹבֶץ.

[יחידה]
תיאור = Raspberry Pi תחנת מזג אוויר אינטרנט באמצעות Raspberry Pi Sense Hat
אחרי = network.target

[שֵׁרוּת]
מדריך עבודה =/home/pi/work
סביבה = FLASK_APP = server.py
סביבה = FLASK_ENV = ייצור
ExecStart =/usr/bin/flask run --host = 0.0.0.0
StandardOutput = inherit
StandardError = erft
הפעל מחדש = תמיד
משתמש = pi

[להתקין]
WantedBy = multi-user.target

לאחר מכן, לחץ על + איקס בא אחריו וגם ו כדי לשמור את תחנת מזג אוויר. שירות קוֹבֶץ.

העתק את תחנת מזג אוויר. שירות קובץ אל /etc/systemd/system/ ספרייה עם הפקודה הבאה:

$ sudo cp -v weather -station.service/etc/systemd/system/

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

$ sudo systemctl daemon-reload

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

$ sudo systemctl סטטוס מזג אוויר-תחנה. שירות

תתחיל את תחנת מזג אוויר שירות עם הפקודה הבאה:

$ sudo systemctl התחל מזג אוויר- station.service

כפי שאתה יכול לראות, תחנת מזג אוויר השירות פועל כעת.

$ sudo systemctl סטטוס מזג אוויר-תחנה. שירות

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

$ sudo systemctl אפשר מזג אוויר-station.service

הפעל מחדש את ה- Raspberry Pi שלך באמצעות הפקודה הבאה:

$ sudo אתחול מחדש

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

$ sudo systemctl סטטוס מזג אוויר-תחנה. שירות

גישה לאפליקציית מזג האוויר ממכשירים אחרים

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

אם יש לך גישה לקונסולת Raspberry Pi, תוכל להריץ את הפקודה הבאה כדי למצוא גם את כתובת ה- IP.

$ hostname -I

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

סיכום

במאמר זה, הראנו לכם כיצד להשתמש בכובע Sense Raspberry Pi לבניית תחנת מזג אוויר של Raspberry Pi. השתמשנו ב- כובע חוש ספריית Python לחלץ נתוני מזג אוויר מכובע Sense Raspberry Pi. לאחר מכן, השתמשנו במסגרת האינטרנט המיקרו של Flask Python ליצירת API של מזג אוויר ויישום אינטרנט. אפליקציית האינטרנט מקבלת את נתוני מזג האוויר מ- API מזג האוויר כל 5 שניות כדי לשמור על אפליקציית האינטרנט מעודכנת בנתוני מזג האוויר העדכניים ביותר.