6.3 KiB
שליטה בממסר - חומרה וירטואלית לאינטרנט של הדברים
בחלק זה של השיעור, תוסיפו ממסר למכשיר האינטרנט של הדברים הווירטואלי שלכם בנוסף לחיישן לחות הקרקע, ותשלבו אותו בהתאם לרמת לחות הקרקע.
חומרה וירטואלית
מכשיר האינטרנט של הדברים הווירטואלי ישתמש בממסר Grove מדומה. זה שומר על המעבדה זהה לשימוש ב-Raspberry Pi עם ממסר Grove פיזי.
במכשיר אינטרנט של הדברים פיזי, הממסר יהיה ממסר פתוח-בדרך כלל (כלומר מעגל היציאה פתוח או מנותק כאשר לא נשלח אות לממסר). ממסר כזה יכול להתמודד עם מעגלי יציאה עד 250V ו-10A.
הוספת ממסר ל-CounterFit
כדי להשתמש בממסר וירטואלי, עליכם להוסיף אותו לאפליקציית CounterFit.
משימה
הוסיפו את הממסר לאפליקציית CounterFit.
-
פתחו את פרויקט
soil-moisture-sensor
מהשיעור הקודם ב-VS Code אם הוא לא פתוח כבר. תוסיפו לפרויקט הזה. -
ודאו שאפליקציית הווב של CounterFit פועלת.
-
צרו ממסר:
-
בתיבה Create actuator בלשונית Actuators, פתחו את תיבת Actuator type ובחרו Relay.
-
הגדירו את Pin ל-5.
-
לחצו על כפתור Add כדי ליצור את הממסר על Pin 5.
הממסר ייווצר ויופיע ברשימת המפעילים.
-
תכנות הממסר
אפליקציית חיישן לחות הקרקע יכולה עכשיו להיות מתוכנתת לשימוש בממסר הווירטואלי.
משימה
תכנתו את המכשיר הווירטואלי.
-
פתחו את פרויקט
soil-moisture-sensor
מהשיעור הקודם ב-VS Code אם הוא לא פתוח כבר. תוסיפו לפרויקט הזה. -
הוסיפו את הקוד הבא לקובץ
app.py
מתחת לייבוא הקיים:from counterfit_shims_grove.grove_relay import GroveRelay
שורה זו מייבאת את
GroveRelay
מספריות ה-Grove Python shim כדי לתקשר עם ממסר Grove הווירטואלי. -
הוסיפו את הקוד הבא מתחת להצהרת מחלקת
ADC
כדי ליצור מופע שלGroveRelay
:relay = GroveRelay(5)
זה יוצר ממסר באמצעות Pin 5, הפין שאליו חיברתם את הממסר.
-
כדי לבדוק שהממסר עובד, הוסיפו את הקוד הבא ללולאת
while True:
:relay.on() time.sleep(.5) relay.off()
הקוד מדליק את הממסר, ממתין 0.5 שניות, ואז מכבה אותו.
-
הריצו את אפליקציית ה-Python. הממסר ידלק ויכבה כל 10 שניות, עם עיכוב של חצי שנייה בין הדלקה לכיבוי. תוכלו לראות את הממסר הווירטואלי באפליקציית CounterFit נסגר ונפתח כשהממסר נדלק ונכבה.
שליטה בממסר לפי לחות הקרקע
עכשיו כשהממסר עובד, ניתן לשלוט בו בתגובה לקריאות לחות הקרקע.
משימה
שליטה בממסר.
-
מחקו את שלוש שורות הקוד שהוספתם כדי לבדוק את הממסר. החליפו אותן בקוד הבא במקום:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
קוד זה בודק את רמת לחות הקרקע מחיישן לחות הקרקע. אם היא מעל 450, הוא מדליק את הממסר, ומכבה אותו אם היא יורדת מתחת ל-450.
💁 זכרו שחיישן לחות הקרקע הקיבולי קורא שככל שרמת לחות הקרקע נמוכה יותר, יש יותר לחות בקרקע ולהפך.
-
הריצו את אפליקציית ה-Python. תוכלו לראות את הממסר נדלק או נכבה בהתאם לרמות לחות הקרקע. שנו את Value או את הגדרות Random של חיישן לחות הקרקע כדי לראות את הערך משתנה.
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
💁 תוכלו למצוא את הקוד הזה בתיקיית code-relay/virtual-device.
😀 התוכנית שלכם לשליטה בממסר באמצעות חיישן לחות הקרקע הווירטואלי הייתה הצלחה!
כתב ויתור:
מסמך זה תורגם באמצעות שירות תרגום מבוסס בינה מלאכותית Co-op Translator. למרות שאנו שואפים לדיוק, יש לקחת בחשבון שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי על ידי אדם. איננו נושאים באחריות לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.