6.6 KiB
מדידת לחות קרקע - חומרה וירטואלית ל-IoT
בחלק זה של השיעור, תוסיפו חיישן לחות קרקע קיבולי למכשיר ה-IoT הווירטואלי שלכם, ותקראו ממנו ערכים.
חומרה וירטואלית
מכשיר ה-IoT הווירטואלי ישתמש בחיישן לחות קרקע קיבולי מדומה מסוג Grove. זה שומר על המעבדה זהה לשימוש ב-Raspberry Pi עם חיישן לחות קרקע קיבולי פיזי.
במכשיר IoT פיזי, חיישן לחות הקרקע יהיה חיישן קיבולי שמודד את לחות הקרקע על ידי זיהוי הקיבוליות של הקרקע, תכונה שמשתנה בהתאם לשינויי הלחות בקרקע. ככל שלחות הקרקע עולה, המתח יורד.
זהו חיישן אנלוגי, ולכן הוא משתמש בממיר ADC מדומה של 10 ביט כדי לדווח על ערך בטווח של 1-1,023.
הוספת חיישן לחות הקרקע ל-CounterFit
כדי להשתמש בחיישן לחות קרקע וירטואלי, יש להוסיף אותו לאפליקציית CounterFit.
משימה - הוספת חיישן לחות הקרקע ל-CounterFit
הוסיפו את חיישן לחות הקרקע לאפליקציית CounterFit.
-
צרו אפליקציית Python חדשה במחשב שלכם בתיקייה בשם
soil-moisture-sensor
עם קובץ יחיד בשםapp.py
וסביבת עבודה וירטואלית של Python, והוסיפו את חבילות ה-pip של CounterFit.⚠️ ניתן לעיין בהוראות ליצירת והגדרת פרויקט Python של CounterFit בשיעור 1 במידת הצורך.
-
ודאו שאפליקציית הווב של CounterFit פועלת.
-
צרו חיישן לחות קרקע:
-
בתיבה Create sensor בלשונית Sensors, פתחו את התפריט הנפתח של Sensor type ובחרו Soil Moisture.
-
השאירו את Units על NoUnits.
-
ודאו שה-Pin מוגדר ל-0.
-
לחצו על כפתור Add כדי ליצור את חיישן ה-Soil Moisture על Pin 0.
חיישן לחות הקרקע ייווצר ויופיע ברשימת החיישנים.
-
תכנות אפליקציית חיישן לחות הקרקע
כעת ניתן לתכנת את אפליקציית חיישן לחות הקרקע באמצעות החיישנים של CounterFit.
משימה - תכנות אפליקציית חיישן לחות הקרקע
תכנתו את אפליקציית חיישן לחות הקרקע.
-
ודאו שאפליקציית
soil-moisture-sensor
פתוחה ב-VS Code. -
פתחו את הקובץ
app.py
. -
הוסיפו את הקוד הבא לראש הקובץ
app.py
כדי לחבר את האפליקציה ל-CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
הוסיפו את הקוד הבא לקובץ
app.py
כדי לייבא ספריות נדרשות:import time from counterfit_shims_grove.adc import ADC
הפקודה
import time
מייבאת את המודולtime
, שישמש בהמשך המשימה.הפקודה
from counterfit_shims_grove.adc import ADC
מייבאת את המחלקהADC
כדי לתקשר עם ממיר אנלוגי לדיגיטלי וירטואלי שיכול להתחבר לחיישן של CounterFit. -
הוסיפו את הקוד הבא מתחת לזה כדי ליצור מופע של המחלקה
ADC
:adc = ADC()
-
הוסיפו לולאה אינסופית שקוראת מהממיר ADC על Pin 0 וכותבת את התוצאה לקונסולה. הלולאה תישן למשך 10 שניות בין קריאות.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
מתוך אפליקציית CounterFit, שנו את הערך של חיישן לחות הקרקע שייקרא על ידי האפליקציה. ניתן לעשות זאת באחת משתי דרכים:
-
הזינו מספר בתיבה Value של חיישן לחות הקרקע, ואז לחצו על כפתור Set. המספר שתזינו יהיה הערך שיוחזר על ידי החיישן.
-
סמנו את תיבת הסימון Random, הזינו ערכי Min ו-Max, ואז לחצו על כפתור Set. בכל פעם שהחיישן יקרא ערך, הוא יקרא מספר אקראי בין Min ל-Max.
-
-
הריצו את אפליקציית ה-Python. תראו את מדידות לחות הקרקע נכתבות לקונסולה. שנו את Value או את הגדרות ה-Random כדי לראות את הערך משתנה.
(.venv) ➜ soil-moisture-sensor $ python app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
💁 ניתן למצוא את הקוד הזה בתיקייה code/virtual-device.
😀 תוכנית חיישן לחות הקרקע שלכם הצליחה!
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.