You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/he/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moistur...

6.6 KiB

מדידת לחות קרקע - חומרה וירטואלית ל-IoT

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

חומרה וירטואלית

מכשיר ה-IoT הווירטואלי ישתמש בחיישן לחות קרקע קיבולי מדומה מסוג Grove. זה שומר על המעבדה זהה לשימוש ב-Raspberry Pi עם חיישן לחות קרקע קיבולי פיזי.

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

זהו חיישן אנלוגי, ולכן הוא משתמש בממיר ADC מדומה של 10 ביט כדי לדווח על ערך בטווח של 1-1,023.

הוספת חיישן לחות הקרקע ל-CounterFit

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

משימה - הוספת חיישן לחות הקרקע ל-CounterFit

הוסיפו את חיישן לחות הקרקע לאפליקציית CounterFit.

  1. צרו אפליקציית Python חדשה במחשב שלכם בתיקייה בשם soil-moisture-sensor עם קובץ יחיד בשם app.py וסביבת עבודה וירטואלית של Python, והוסיפו את חבילות ה-pip של CounterFit.

    ⚠️ ניתן לעיין בהוראות ליצירת והגדרת פרויקט Python של CounterFit בשיעור 1 במידת הצורך.

  2. ודאו שאפליקציית הווב של CounterFit פועלת.

  3. צרו חיישן לחות קרקע:

    1. בתיבה Create sensor בלשונית Sensors, פתחו את התפריט הנפתח של Sensor type ובחרו Soil Moisture.

    2. השאירו את Units על NoUnits.

    3. ודאו שה-Pin מוגדר ל-0.

    4. לחצו על כפתור Add כדי ליצור את חיישן ה-Soil Moisture על Pin 0.

    הגדרות חיישן לחות הקרקע

    חיישן לחות הקרקע ייווצר ויופיע ברשימת החיישנים.

    חיישן לחות הקרקע שנוצר

תכנות אפליקציית חיישן לחות הקרקע

כעת ניתן לתכנת את אפליקציית חיישן לחות הקרקע באמצעות החיישנים של CounterFit.

משימה - תכנות אפליקציית חיישן לחות הקרקע

תכנתו את אפליקציית חיישן לחות הקרקע.

  1. ודאו שאפליקציית soil-moisture-sensor פתוחה ב-VS Code.

  2. פתחו את הקובץ app.py.

  3. הוסיפו את הקוד הבא לראש הקובץ app.py כדי לחבר את האפליקציה ל-CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. הוסיפו את הקוד הבא לקובץ app.py כדי לייבא ספריות נדרשות:

    import time
    from counterfit_shims_grove.adc import ADC
    

    הפקודה import time מייבאת את המודול time, שישמש בהמשך המשימה.

    הפקודה from counterfit_shims_grove.adc import ADC מייבאת את המחלקה ADC כדי לתקשר עם ממיר אנלוגי לדיגיטלי וירטואלי שיכול להתחבר לחיישן של CounterFit.

  5. הוסיפו את הקוד הבא מתחת לזה כדי ליצור מופע של המחלקה ADC:

    adc = ADC()
    
  6. הוסיפו לולאה אינסופית שקוראת מהממיר ADC על Pin 0 וכותבת את התוצאה לקונסולה. הלולאה תישן למשך 10 שניות בין קריאות.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  7. מתוך אפליקציית CounterFit, שנו את הערך של חיישן לחות הקרקע שייקרא על ידי האפליקציה. ניתן לעשות זאת באחת משתי דרכים:

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

    • סמנו את תיבת הסימון Random, הזינו ערכי Min ו-Max, ואז לחצו על כפתור Set. בכל פעם שהחיישן יקרא ערך, הוא יקרא מספר אקראי בין Min ל-Max.

  8. הריצו את אפליקציית ה-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. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.