תוכן עניינים:
- שלב 1: קבלת נתוני הטייה ב- Python
- שלב 2: חיבור התקן לענן
- שלב 3: שליחת נתונים לענן
- שלב 4: תוצאה סופית
וִידֵאוֹ: כיצד לשלוט בטמפרטורת תסיסת הבירה ובכבידה מהסמארטפון שלך: 4 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
כאשר הבירה מתסיסה, עליך לעקוב אחר כוח המשיכה והטמפרטורה שלה מדי יום. קל לשכוח לעשות זאת, ואי אפשר אם אתה לא נמצא.
לאחר חיפוש מסויים, מצאתי מספר פתרונות לניטור כבידה אוטומטי (אחד, שניים, שלושה). אחד מהם, עם קונספט חכם מאוד, נקרא Tilt. הטיה מרחפת בבירה שלך ומודדת את זווית ההטיה שלה. זווית זו תלויה בצפיפות הנוזל, ולכן יכולה למדוד את כוח הכבידה של הבירה המותססת.
Tilt מגיעה עם אפליקציה לנייד, המתחברת אליה ויכולה לפרסם נתונים לכל שירות אינטרנט. הבעיה היא שאתה צריך להיות לא רחוק מטיל כדי שתוכל לעשות זאת. יש גם תוכנית Raspberry Pi שעובדת עם Tilt.
שלב 1: קבלת נתוני הטייה ב- Python
אני כבר משתמש ב- Raspberry Pi כדי לפקח על טמפרטורת המרתף ושירות לוח בקרה בענן cloud4rpi.io. אם Tilt יכול לדבר עם Raspberry Pi, צריך להיות שאפשר לחבר אליו cloud4rpi. Tilt משתמש בפרוטוקול אלחוטי, כך שתזדקק ל- Raspberry Pi עם שבב אלחוטי (Rasbperry Pi 3 או Zero W).
למרבה המזל, יש ריפו GitHub לתוכנת Tilt עם כמה דוגמאות. כשאתה מסתכל על https://github.com/baronbrew/tilt-scan אתה יכול לראות שטיל נראה בעיני אחרים כ- BLE iBeacon, עם "צבע" המקודד ב- UUID, והטמפרטורה וכוח הכבידה נמצאים בבייטים גדולים וקטנים.
הקוד לדוגמא שלהם הוא עבור Node.js, ויש לי תוכנית בקרת פייתון המבוססת על תבנית cloud4rpi
אז אני צריך לקבל נתוני Tilt בפייתון. לאחר קצת חיפוש בגוגל מצאתי https://github.com/switchdoclabs/iBeacon-Scanner-- Python iBeacon scanner. זוהי תוכנית, לא ספרייה, ולכן שיניתי אותה כדי להחזיר מילון במקום מחרוזת. וכתבתי גם מודול ספציפי ל- Tilt כדי לקבל צבע, טמפרטורה וכוח הכבידה של הטיה הראשונה שנמצאה (יש לי רק אחת) ותוכנית בדיקה פשוטה לבדוק אם היא יכולה לראות את הטיה שלי:
הטמעת ייבוא זמן
בעוד שזה נכון:
res = tilt.getFirstTilt () הדפסה res time.sleep (2)
רץ ובדוק שזה עובד. עכשיו אני יכול לחבר אותו לתוכנית הבקרה שלי. יש לי כבר תוכנית פייתון המחוברת ל- cloud4rpi.io, אבל הרשה לי להראות כיצד לעשות זאת מהתחלה.
שלב 2: חיבור התקן לענן
ראשית, היכנס ל- cloud4rpi.io ולאחר מכן צור מכשיר חדש.
תינתן לך אסימון התקנה והוראות התקנה. עבור Raspberry Pi בצע את ההוראות כאן https://docs.cloud4rpi.io/start/rpi/-ודא שהמערכת שלך מעודכנת:
עדכון sudo apt && sudo apt upgrade
התקן דרישות מוקדמות:
sudo apt להתקין git python python-pip
התקן חבילות פייתון cloud4rpi:
sudo pip התקן cloud4rpi
לאחר מכן קבל אפליקציית פייתון לדוגמא עבור Raspberry Pi (בתיקיית הבקרה):
שיבוט git https://github.com/cloud4rpi/cloud4rpi-raspberryp… שליטה
בקרת תקליטורים
שנה את control.py - ציין את אסימון המכשיר שלך בשורה
DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
הסר ערכים מיותרים מהצהרות משתנות המכשיר, השאר רק CPUTemp לבדיקת חיבור המכשיר:
# שים כאן הצהרות משתנות משתנים = {'CPU Temp': {'type': 'numeric', 'bind': rpi.cpu_temp}}
עכשיו בצעו בדיקת מבחן:
sudo python control.py
אם הכל תקין, דף המכשיר שלך יעודכן באופן מיידי עם נתוני אבחון.
שלב 3: שליחת נתונים לענן
כעת עלינו לשנות את control.py כדי לקרוא ולדווח על הצבע, הטמפרטורה וכוח המשיכה של Tilt. התוצאה נראית כך:
מאת os יבוא unamefrom שקע יבוא gethostname יבוא sys זמן יבוא cloud4rpi יבוא rpi ייבוא
# שים את אסימון המכשיר שלך כאן. כדי לקבל את האסימון, # הירשם בכתובת https://cloud4rpi.io וצור מכשיר. DEVICE_TOKEN = '_YOUR_DEVICE_TOKEN_'
# קבועים
DATA_SENDING_INTERVAL = 60 # שניות DIAG_SENDING_INTERVAL = 600 # שניות POLL_INTERVAL = 0.5 # 500 אלפיות השנייה
משואה = {}
def F2C (מעלות F):
החזרה (מעלות F - 32) / 1.8
def getTemp ():
החזר F2C (int (משואה ['טמפ'])) אם משואה אחר אין
def getGravity ():
החזר משואה ['כוח משיכה'] אם משואה אחר אין
def main ():
# שים כאן הצהרות משתנות
משתנים = {'Gravity': {'type': 'numeric', 'bind': getGravity}, 'Temp Beer': {'type': 'numeric', 'bind': getTemp}}
אבחון = {
'Temp CPU': rpi.cpu_temp, 'כתובת IP': rpi.ip_address, 'Host': gethostname (), 'מערכת הפעלה': "".join (uname ())}
מכשיר = cloud4rpi.connect (DEVICE_TOKEN)
device.declare (משתנים) device.declare_diag (אבחון)
device.publish_config ()
# מוסיף עיכוב של שנייה אחת כדי לוודא שנוצרים משתני מכשיר
time.sleep (1)
לְנַסוֹת:
data_timer = 0 diag_timer = 0 while True: if data_timer <= 0: beacon global beacon = tilt.getFirstTilt () device.publish_data () data_timer = DATA_SENDING_INTERVAL
אם diag_timer <= 0: device.publish_diag () diag_timer = DIAG_SENDING_INTERVAL
time.sleep (POLL_INTERVAL)
diag_timer -= POLL_INTERVAL data_timer -= POLL_INTERVAL
למעט מקלדת הפרעה:
cloud4rpi.log.info ('התקבלה הפרעה למקלדת. מפסיקה …')
למעט חריגה כמו e:
error = cloud4rpi.get_error_message (e) cloud4rpi.log.error ("ERROR! %s %s", error, sys.exc_info () [0])
סוף כל סוף:
sys.exit (0)
אם _name_ == '_ עיקר_':
רָאשִׁי()
עכשיו הפעל אותו ידנית כדי לראות אם זה עובד:
sudo python control.py
אם הכל טוב, תראה את המשתנים שלך באינטרנט.
כדי להפעיל את control.py בעת הפעלת המערכת, התקן אותו כשירות. Cloud4rpi מספק סקריפט התקנה service_install.sh לשם כך. כללתי את זה בריפו שלי. כדי להתקין את control.py כשירות, הפעל
sudo bash service_install.sh control.py
עכשיו אתה יכול להתחיל | לעצור | להפעיל מחדש את השירות הזה על ידי הפעלת פקודה
sudo systemctl התחל cloud4rpi.service
השירות שומר על מצבו הקודם בזמן ההפעלה, כך שאם הוא היה פועל, הוא יפעל לאחר אתחול מחדש או הפסקת חשמל.
שלב 4: תוצאה סופית
זהו זה, עכשיו יש לי את הפרמטרים של הטיה שלי שנשלחים לענן, כך שאוכל להקים עבורו לוח בקרה נחמד לענן. עבור אל https://cloud4rpi.io/control-panels וצור לוח בקרה חדש, הוסף ווידג'ט ובחר/Gravity ו- Beer Temp כמקור נתונים. עכשיו אני יכול לעקוב אחר מה שקורה גם אם אני רחוק מהבית.
הקוד שהעתקתי וכתבתי זמין כאן: https://github.com/superroma/tilt-cloud4rpi. הוא רחוק מלהיות מושלם, הוא עובד רק עם הטיה אחת, לא אכפת לו מה"צבע "של המכשיר, מה שזה לא אומר, ואני בכלל לא בחור פייתון, אז תיקונים, הצעות או מזלגות יתקבלו בברכה !
מוּמלָץ:
פותחן הבירה ומזלג: 7 שלבים (עם תמונות)
פותחן הבירה ומזלג: לפרויקט זה, הדרישה הייתה להמציא המצאה או מערכת שכבר הומצאה, אך הדורשת כמה שיפורים. כפי שחלקם יודעים, בלגיה פופולרית מאוד בזכות הבירה שלה. בפרויקט זה, ההמצאה שצריכה כמה
מכונת הבירה הפונג האולטימטיבית - PongMate CyberCannon Mark III: 6 שלבים (עם תמונות)
מכונת הבירה הפונג האולטימטיבית - PongMate CyberCannon Mark III: מבוא ה- PongMate CyberCannon Mark III היא פיסת הטכנולוגיה החדישה והמתקדמת ביותר שנמכרה לציבור. עם ה- CyberCannon החדש, כל אדם יכול להפוך לשחקן החשש ביותר ליד שולחן הבירה פונג. איך זה p
לשלוט על הלדים שלך עם שלט הטלוויזיה שלך ?! -- מדריך IR ל- Arduino: 5 שלבים (עם תמונות)
לשלוט על הלדים שלך עם שלט הטלוויזיה שלך ?! || הדרכת IR של Arduino: בפרויקט זה אראה לך כיצד עיצבתי מחדש את הכפתורים חסרי התועלת בשלט הטלוויזיה שלי כדי לשלוט בנורות הלדים מאחורי הטלוויזיה שלי. אתה יכול גם להשתמש בטכניקה זו כדי לשלוט בכל מיני דברים עם קצת עריכת קוד. אני גם אדבר קצת על התאוריה
הניף את היד שלך כדי לשלוט בזרוע הרובוטית של OWI ללא מחרוזות: 10 שלבים (עם תמונות)
הניף את היד שלך כדי לשלוט בזרוע הרובוטית של OWI … ללא מחרוזות: הרעיון: ישנם לפחות 4 פרויקטים נוספים ב- Instructables.com (החל מה -13 במאי 2015) סביב שינוי או שליטה בזרוע הרובוטית של OWI. לא מפתיע, מכיוון שזו ערכה רובוטית כל כך נהדרת וזולה לשחק איתה. פרויקט זה דומה ב
שליטה במכשירי חשמל ביתיים מהסמארטפון שלך באמצעות אפליקציית Blynk ו- Raspberry Pi: 5 שלבים (עם תמונות)
שליטה במכשירי חשמל ביתיים מהסמארטפון שלך באמצעות אפליקציית Blynk ו- Raspberry Pi: בפרויקט זה נלמד כיצד להשתמש באפליקציית Blynk ו- Raspberry Pi 3 על מנת לשלוט במכשיר הביתי (מכונת קפה, מנורה, מסך חלון ועוד … ) .רכיבי חומרה: Raspberry Pi 3 מנורת ממסר חוטי לוחות יישומי תוכנה: Blynk A