תוכן עניינים:
- שלב 1: הגדרת הטלפונים שלך לשליחת מיקומם ל- Pi שלך (מתווך MQTT חלק א ')
- שלב 2: הגדרת הטלפונים שלך לשליחת מיקומם ל- Pi שלך (חלק II Owntracks)
- שלב 3: הגדרת ה- Raspberry Pi
- שלב 4: התקנת Node Red (העברת ההודעות משרת MQTT לסקריפט ה- Python שלך)
- שלב 5: למעשה הזזת סרווס עם פייתון על הפי
- שלב 6: סיום התוכנה - טלפונים לשירותים
- שלב 7: בניית השעון הפיזי - חלק א ' - ה- Servos & Axle
- שלב 8: ידי השעון
- שלב 9: השלם
- שלב 10: דברים שלמדתי והייתי עושה יותר טוב/אחרת אם הייתי צריך לעשות את זה שוב
- שלב 11: הרחבות עתידיות אפשריות …?
וִידֵאוֹ: שעון מיקום 'וויזלי' עם 4 ידיים: 11 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
אז, עם פטל פטל שהסתובב זמן מה, רציתי למצוא פרויקט נחמד שיאפשר לי לנצל אותו בצורה הטובה ביותר. נתקלתי בשעון המיקום הנהדר הזה לבנות בעצמך וויזלי משלך על ידי ppeters0502 וחשבתי שיהיה טוב לנסות.
השעון בעצם מורכב מ- Raspberry Pi השולט בסרווואים על מנת לסובב את ידיו של השעון. כמו בבית משפחת וויזלי בספרים/סרטים של הארי פוטר, לכל בן משפחה יש יד משלו. כל יד מצביעה על המיקום הנוכחי של אותו בן משפחה. השעון משיג זאת על ידי קבלת הודעות מהטלפונים הניידים של המשפחה בכל פעם שהם נכנסים או עוזבים רדיוס מוגדר מראש.
ההבדלים העיקריים ביחס להוראה הקודמת היו שאני צריך שיהיו לי 4 ידיים, לא 2 (אחרת הבנות שלי היו מתלוננות) והחלטתי לבנות גם את המסגרת, לא להביא שעון ישן לשימוש חוזר. זאת מכיוון שחששתי שמקום יהווה בעיה במקרה שעון קיים, עם הצורך להתאים 4 סרוו וכו '.
זה לקח הרבה יותר זמן ממה שציפיתי, אם כי בעיקר שם נתקלתי בבעיות מעורפלות שהסעירו אותי, ואשר לא נראו מכוסות בפוסט המקורי. שום דבר נגד ה- Instructable המקורי, שבדרך כלל היה נהדר, אבל עברו כמה שנים וגרסאות של דברים השתנו … וכו '. גם הימצאותם בבריטניה פירושה שחלק מהמרכיבים הקיסריים/מטריים גרמו לאתגרים רבים יותר משציפיתי.
כמו כן, למרות שאני בסדר עם הקידוד, העשייה הפיזית של השעון בהחלט מתיחה אותי, ודרשה כמה כלים נוספים, שגם הם האטו אותי מעט.
בסוף אכלול קטע בנושא "דברים שהייתי עושה אחרת/טוב יותר אם הייתי עושה את זה שוב …"
אספקה:
אחד הדברים שהדהימו אותי היה שהרכיבים היקרים קשורים ביד השעון. 4 ידיים בהחלט יותר יקרות מ -2. החלטתי להכניס כמה תמחור כדי שיהיה לך מושג. זו הפעם הראשונה שאני מוסיף את כל זה, ובהתעלם מהכלים, אני חושב שהוצאתי בערך 200 פאונד. בנוסף כמה דברים שלא השתמשתי בהם (ולא כללתי למטה) בתוספת ה- Pi, בתוספת ספק הכוח שכבר היה לי.
פי וכו '
- פטל פאי - לא זוכר כמה זה עלה במקור אבל זה היה דגם 2B. אני חושב שאם עדיין אין לך כזה, כנראה שאפילו פי אפס היה עושה זאת. הוספתי דונגל wifi וכרטיס SD עם Raspbian. והיה לי מטען ישן של אנדרואיד שוכב.
- סרפוח Adafruit ל- Pi - 16 ליש"ט
- ספק כוח ל- Servohat - זה ממש התאבקתי למצוא כיוון שכל האתרים רק הצביעו על אתר adafruit שאחר כך ממליץ כמובן על ספק כוח אמריקאי. ואז הבנתי שיש לי ספק מתח משתנה ישן עם טיפים להחלפה אז השתמשתי בזה. אבל בארה"ב הוא 8 $ אז זה מגרש הכדורגל.
- מארז ל- Pi, כך שאוכל לצרף אותו למסגרת השעון. 5 פאונד
סרוו והילוכים
כאן אני מצטט את המחיר עבור כל 4, אז חלק אם אתה רוצה פחות ידיים (אם אתה מוסיף את זה זה ~ 40 פאונד ליד = 160 ליש ט: -o
- 4 x סרוווס-השתמשתי באלה המומלצים על ידי ppeters0502-נמצא ב- eBay תמורת ~ £ 15 כל אחד = 60 £-חיפשתי את הטקסט הבא "GWS-Digital-Servo-Sail-Winch-S125-1T-2BB-360-degree "אבל לפעמים הם לא היו זמינים
- 4 x צינורות פליז שהותאמו זה בזה בדיוק - ~ 3 ליש"ט כל אחד. קיבלתי 1 כל אחד בגודל 1/4 ", 7/32", 3/16 ", 5/32" = 11 ליש"ט
- 4 x מהדקים הנצמדים לצינורות הפליז כדי לאפשר לך לחבר הילוכים. ~ 7 ליש"ט כל אחד = 28 ליש"ט. קיבלתי אותם מ- ActiveRobots המבצעים הזמנות קבועות מחברת Servocity בארה"ב, ומאפשרים לך להימנע מהמשלוח הבינלאומי. הם יכולים גם להשיג כל דבר אחר שאתה יכול למצוא באתר הראשי של Servocity בארה"ב. זה היה מאוד שימושי עבור 2 הפריטים הבאים
- 4 x הילוכים בדוגמת אצטיל 0.770 אינץ 'להרכבה על רכזות ההידוק. ~ 6 ליש"ט כל אחד = 24 ליש"ט
- 4 x הילוכים אצטיל רכוב אצטיל להרכבה על הסרווואים. ~ 6.50 ליש"ט כל אחד = 26 ליש"ט
- חבילה אחת של אגוזי משושה להילוכים מחוברים לאגוזים = 2.60 ליש"ט
- 1 x 7/64 "מפתח hex (מפתח אלן) כי כל דבר שמגיע מארה"ב הוא אימפריאלי, כך שמאות מפתחות האלן שיש לי כבר חסרי תועלת = £ 1
למבנה הפיזי
כאן השתמשתי בעיקר בחיתוכים של דברים ששקרתי עליהם
- 2 ריבועי דיקט לצלחת 'פנים' ו'אחור '
- לאחר מכן חתכתי גלילים בגודל 4x10 ס"מ ממעקה ישן שהיה לי על מנת לחבר את הגב לפנים
- כמה בלוקים להרכבת הסרוווזים בריכוז הנכון - רק קיצוצים מעץ רך שחתכתי במידה.
- ברגים שונים. מקטן מאוד (לחיבור מארז Pi למסגרת) עד בינוני (לחיבור מסגרת יחד)
- יריעה של 0.75 מ"מ מפלדה עדינה כ- 50 ס"מ על 20 ס"מ (כדי לחתוך את הידיים ממנה). זה היה הדבר היחיד שקניתי ~ £ 9 מוויקס
כלים
כמה דברים היו לי וחלקם שאלתי או קניתי
- מלחם + הלחמה חשמלית - לחיבור המחברים ל- Adafruit Hat & Pi.
- פאזל - לחיתוך הצורה המחוספסת של הידיים
- תרגיל. רק מקדחה רגילה 18V אלחוטית
- מקדחי מקדחה - זכור כי תזדקק לקידוחים קיסריים כדי ליצור חורים התואמים את צינורות הפליז. הצלחתי ללוות קצת.
- מסור - לחיתוך צינורות הפליז. אל תעשה מה שעשיתי ותוציא 3 ליש"ט על חותך הצינורות, זה פועל בלחץ ומשמעותו שהפנים של הצינורות קצת יותר קטנים. כך שהצינור בגודל הבא למטה לא יתאים
- מטחנת ספסלים - לא היה לי אחד כזה אבל חבר עשה את זה והפך את עיצוב הידיים לקל יותר. עד אז השתמשתי רק בקבצים. לא הייתי קונה אחד רק עבור הפרויקט הזה, אבל עבור ידי המתכת זה היה נהדר.
- קניתי כמה קבצי יהלום מגוונים (קטנים מאוד). שימושי עבור הידיים והצינורות בסביבות 15 פאונד
- נייר זכוכית מחוספס וחלק
- כמה מהדקים קטנים מחזיקים דברים במקומם בעת הקידוח.
- סגן מאותה סיבה.
שלב 1: הגדרת הטלפונים שלך לשליחת מיקומם ל- Pi שלך (מתווך MQTT חלק א ')
ביט זה מתואר היטב על ידי ppeters0502 בשעון וויזלי המעולה שלו. באופן מוזר, אם כי אולי הוא משקף ערכי כישורים שונים, הוא התחיל עם הבנייה ולאחר מכן עבר לתוכנה, עשיתי את זה הפוך. אז התחלתי עם הטלפון … חכה, לא לא, התחלתי עם מתווך MQTT, שהוא שלב 6 במדריך ההוראה שלו. אני אשמיט את כל החלקים שהוא עושה טוב מאוד ופשוט אכניס כמה חתיכות שאוכל להוסיף. הלכתי במסלול CloudMQTT שהוא הזכיר.
אבל בזמן שכתבתי את זה, בדקתי את הקישור לתוכניות וגיליתי שאין עוד תוכנית חינמית! הם משכו אותו, ממה שנראה כסיבה סבירה. כלומר שאנשים היו מקימים מופע חינם ואז לעולם לא ישתמשו בו. לא שמתי לב מכיוון שהמקרים הנוכחיים יכולים להימשך. אז אני לא אשנה. אבל זה אכן הופך את ההוראות למעט מיותרות. נראה שיש 3 אפשרויות.
- שלם את $ 5 לחודש עבור Cloud MQTT (אבל זה נשמע יקר עבור השעון באופן שוטף).
- לכו על מסלול היתושים בפי כפי שמתואר במדריך הראשון. אני לא יכול להגיב על זה, אבל יכול להיות אופציה טובה.
- פשוט חפש בגוגל "מתווך ענן חינם של MQTT" ונראה שיש עוד כמה.
לכן, בהנחה שיש לך מתווך MQTT עובד, אם זה דומה לאחד CloudMQTT, יוצג שרת, משתמש, סיסמה ויציאה. תזדקק לכל אלה כדי להגדיר את הטלפונים שלך כדי לשלוח לברוקר את המיקומים/תנועות שלך.
שלב 2: הגדרת הטלפונים שלך לשליחת מיקומם ל- Pi שלך (חלק II Owntracks)
זה גם מכוסה היטב במדריך ההוראה המקורי, בשלבים 7 (אנדרואיד), 8 (iOS) ו- 9 (הגדרת אזורים).
היו לי רק מכשירי iOS אז לא ניסיתי את שלב 7.
מה הייתי מוסיף להוראות אלה?
- במערך יש גם את השדות TrackerID ו- DeviceID. אלה אמורים להיות לך כיכולים לזהות אותך בתוך משפחתך. לְמָשָׁל. היו לי אותם בתור R ו- RPhone בהתאמה. המשמעות היא שאתה יכול לעבור לשעון שבו סרוו ולכן לאיזה יד לפנות.
- אזורים הם שם המיקומים שאחריהם ברצונך לעקוב.
- כל אזור מוגדר על ידי שם, קו רוחב, קו אורך ורדיוס.
-
מכיוון שרציתי שיהיו לי מספר מיקומים כקטע אחד בשעון שלי, השתמשתי במוסכמת שמות, שהתגלתה כמועילה מאוד. שיטות אחרות אפשריות אבל זה עבד בשבילי.
- לדוגמה, עבור החלק של המשפחה בשעון רציתי שיהיו לי ההורים והאחים שלי וההורים והאחים של אשתי. לכן היו לי מיקומים כמו "משפחה טום", "משפחה דיק", משפחה הארי "ו"הורים משפחתיים". המשמעות הייתה שהשלב הבא יכול לדעת מה להעביר לשעון.
- זכור כי לאנשים יכולים להיות מיקומים שונים. אבל כל עוד הם תואמים את אמנת השמות אז זה בסדר. לְמָשָׁל. העבודה שלי תהיה שונה מאזור העבודה של אשתי ונקראת אחרת. אבל כל עוד שניהם מתחילים ב"עבודה "אז הכל בסדר.
- אתה רוצה שהמצב יוגדר 'משמעותי' במסך המפות. המשמעות היא שאתה (בעיקר) מקבל הודעות רק כאשר אתה נכנס או עוזב אזורים. נראה שזו הגרסה המעודכנת של ההערה המסומנת חשוב: בסוף שלב 8 במדריך המקורי.
- כפי שצוין ב- Instructable המקורי, שימוש במפות Google הוא דרך מצוינת לגלות את Lat/Long של איפשהו. מצאתי את זה יותר יעיל לעשות את זה בכמויות גדולות, גיליתי את כל האורך/האורך של המיקום שלי, ואז הדבקתי אותם ב- Notes (ב- Mac שלי) ועם סינכרון הענן, המשמעות היא שהם הופיעו בצורה קסומה באייפון שלי ב- Notes ואני יכול להעתיק/להדביק אותם ל- Owntracks. המשמעות היא גם שאוכל לשלוח את הקובץ לטלפונים של משפחתי ולכולנו היו מיקומים עקביים.
- מיקומים קרובים זה לזה עלולים לגרום לבעיות. אחי גר 2 רחובות משם, ובתחילה הטלפון שלי המשיך לחשוב שאני במקביל באזור הבית שלו וגם בבית. בסופו של דבר נאלצתי להכניס היגיון נוסף לצומת אדום כדי לתפוס ולהתעלם מהתרחשות זו.
שלב 3: הגדרת ה- Raspberry Pi
אז הנה אני מניח שיש לך פי פי מבוסס ו- wifi. ניהלתי Raspbian אבל זה לא אמור להיות חשוב. השתמש בהוראות בכתובת raspberrypi.org כדי להגדיר את כל זה.
שים לב שלפי יש יציאות להצגה למסך ולמקלדת/עכבר וכו 'אבל ברור שברגע שיש לך את זה בשעון, אתה לא רוצה שום דבר מזה. אז התשובה, שהציע מישהו באתר Raspberry pi, לדעתי, הייתה להקים חיבור VNC. זה מאפשר לך להתחבר ממכשיר אחר ל- Pi ולשלוט בו גם כן. אני עושה את זה מה- Mac שלי אבל עשיתי את זה גם מאייפד. אני מציע להשתמש במשהו עם מקלדת לנוחות השימוש.
רק גיליתי שנראה שהם הקלו מאז שהתחברתי … ראה כאן
בעיקרו של דבר אתה מתחבר ומקבל חלון שהוא ממשק ה- Pi הרגיל.
אז יש לך חלון ל- Pi מהמחשב הנייד או מהמחשב שלך.
כעת עליך לחבר את ה- Servos.
ראשית עליך לבצע הלחמה בסיסית למדי בכדי להעלות את כובע האדפרוט אל הפי. זה קצת מסובך, אבל למרות שלא הלחמנו במשך 30 שנים, זה היה בסדר. כתמיד, מצאתי סרטון יוטיוב שימושי שידריך אותי בו, וזה עזר מאוד.
בעוד הכובע יכול להריץ 16 סרוו, הייתי צריך רק 4 ולכן רק טרחתי להלחם את המערכה הראשונה של 4 סיכות.
ואז סרוו פשוט לדחוף את הסיכות. עשיתי דבר ראשון כדי לבדוק שאני באמת יכול לגרום לסרוו לזוז.
כאן פגעתי במחסום הראשי הראשון שלי. היה לי סקריפט פיתון בסיסי מאוד להעביר את הסרוווס וממש לא קרה דבר. ביליתי כשבוע בניסיונות סקריפטים חדשים וכו ', ואז התחיל להופיע עשן על הכובע. כיביתי הכל ובדקתי את הסכימה. זה היה מרכיב המגן מפני קוטביות הפוכה. מכיוון שהיה לי מקור כוח רב-מתח, רב מתח, פספסתי את העובדה שאתה יכול לקבל את יציאת ה- DC לשני הכיוונים על ידי היפוך הקצה. טעיתי (50:50 סיכוי) ורק שרפתי את הכובע הראשון שלי
:-(אז עיכוב קל כשקניתי חדש, הלחמתי מחדש ותיקנתי את הקצה. הרבה יותר טוב.
בשלב הבא הייתי צריך להבין כיצד להעביר את הסרוווס לנקודה הנכונה בשעון. זה יבוא בשלב 5, אבל מה שכן עשיתי, מבלי שבניתי את השעון בפועל, היה לדפוק קלות את הסרווס לחתיכת עץ אקראית ולהדביק סרט דבק עם חץ עליהם, כמו בתמונה. זה נתן משוב ויזואלי מאוד למה שאני מקודד.
שלב 4: התקנת Node Red (העברת ההודעות משרת MQTT לסקריפט ה- Python שלך)
Node-RED היא תוכנית שאתה מתקין על ה- Pi, המעניקה לך ממשק ויזואלי (בדפדפן שלך) לקבלת הודעות משרת MQTT שלך ולהשתמש בה כדי להעביר את המידע הנכון לסקריפט הפיתון שלך (יכוסה בשלב הבא (שלב 5). די השתמשתי בהוראות של ppeters0502 בשלב 5. יש היגיון בזרימות אלה, והגיון נוסף בפייתון, ותוכל לקבל פחות או יותר בכל אחת מהן, בהתאם להעדפתך. בעיקרון אתה צריך לעשות הבאים
- יש לי צמתים להודעות MQTT - אלה סגולים בהירים והיה לי אחד לכל בן משפחה
- מפה את זה לסרוו שברצונך להעביר (ממוספר 0, 1, 2, 3)
- קבע אם אתה נכנס או עוזב רדיוס ב- OwnTracks
-
חשבו לאיזה מיקום אותו סרוו צריך להצביע
היו כמה חריגים לכללים הבסיסיים שהייתי צריך לבנות בהם
- הגדר את הזווית בצורה נכונה
היה לי Node-RED עושה את 4 הראשונות, ושמרתי על ה- Python פשוט יחסית.
אתה יכול לראות את הזרימה הבסיסית כאן, וניתן לייצא את כל הזרימות לתבנית כאן, מה שאומר שאתה יכול לייבא את הזרימה הבסיסית הזו אל Node-RED שלך ולאחר מכן להתאים. שים לב שסילקתי את כל החיבורים מהצמתים הסגולים, כך שלא תוכל לגשת למופע MQTT שלי. גם הפשטתי את כל בלוטות הבדיקה מכיוון שהן מכילות נתונים אמיתיים … יתכן שתצטרך לשנות את סוג הקובץ הזה כדי להיות flow.json על מנת לייבא לתוך הצומת האדום שלך אך הוראות השימוש לא נתנו לי להעלות זאת.
הצמתים הירוקים הם צמתים לאיתור באגים אשר לאחר מכן מציגים פלט בחלון הבאגים מימין למסך (ייתכן שיהיה צורך להרחיב - מצא את החץ באמצע למעלה מימין)
הקטע הראשון שצריך לעשות הוא ביט "Live - לניפוי באגים בלבד". זה בודק שאתה יכול לקבל את הודעות MQTT ולראות מה יש בהן. json היא רק גרסה מובנית יותר של ההודעות המאפשרת לך להוציא את הנתונים ביתר קלות. בזרימה זו, בזמן חי, לאחר מכן אני מחבר את הצמתים הסגולים השמאלית העליונה לצומת ה- json מימין אליהם.
בדיקת צמתים
ברגע שאתה יודע איך ההודעות הולכות להיראות בשידור חי, נהיה משעמם מאוד לצאת מהבית שלך ולרדת בכביש ובחזרה, רק כדי לעורר אירוע. לאחר שתעשה זאת, תוכל להעתיק את ההודעה לטריגר TEST ולאחר מכן ללחוץ עליה כדי לדמות את האירוע. אתה יכול גם לשנות את הנתונים, להעמיד פנים שהם עבור מיקומים שונים (ודא שהם מתאימים בדיוק לשמות המיקומים ב- Owntracks).
אתה יכול לראות בזרימה שכל מקרי הבדיקה נכנסים לצומת נפרד ואז זה נכנס לצומת json. זה אך ורק כדי לסדר את המסך.
אני לא יכול להדגיש מספיק עד כמה הצמתים האלה היו שימושיים, ועדיין הם.
קורא לפייתון
אז פגעתי במחסום הבא. זה לקח הרבה גוגל בפורומים וכו 'הזרימה שלי תעבוד בצורה מושלמת, אבל זה לא יפעיל את סקריפט הפיתון שלי. לא יכולתי לפתור את זה, אבל אני אחסוך ממך את הקללות וכו 'רק כדי לומר שכפי שמודגש בצילום המסך השני, עליך לציין python3, כפי שכנראה Node-RED מניח python2, אלא אם תפרט.
2 סיבוכים נוספים - רק במידת הצורך
אז היו לי מספר אתגרים שבהם ההיגיון לא ממש עבד. ראשית היה שאוזנראקס יצא קצת מוזר, וכיוון שאחי גר 2 רחובות משם, הוא אמר לעתים קרובות שאני נמצא בשני מקומות בבת אחת, או שהמשכתי לעבור בין. הדרך היחידה שאוכל להתגבר עליה היא להוסיף במצב כדי לעצור חיובי שווא. אם הוא טען שאני בביתו, אז עברתי ובדקתי את האורך/קו האורך בפועל בהודעה וביטלתי אותו אם כתוב שאני באמת בבית.
הבעיה השנייה הייתה שכאשר הלכתי עם הכלב שלי לא ממש הצלחתי להשיג רדיוס טוב. בדרך כלל אני הולך באותו אזור, אז הנה, אמרתי "אם אני נכנס לאזור הזה, אני בהחלט הולך עם הכלב, ויהיה עד שאגיע הביתה". המשמעות היא שזה לא יעבור לפאב שאני עוברת בדרכו הביתה, או למקומות מקומיים אחרים שיכולים לעורר בזמן הליכה עם כלבים. כדי לעשות זאת הייתי צריך להגדיר כמה משתני הקשר קבועים (חפש אותם ב- Node-RED. ראה צילום מסך. משתנים אלה נמשכים עד ש- Node-RED יופעל מחדש וכך אוכל לומר אם בטיול כלבים, הגדר את משתנה ההקשר אל "כלב". לאחר מכן התעלם מכל דבר אחר אלא אם כן אני 'נכנס' הביתה.
צילום המסך האחרון הוא אחד הזרימות הסופיות שלי בפועל, עם כל היוצאים מן הכלל, רק בשביל העניין שלך.
שלב 5: למעשה הזזת סרווס עם פייתון על הפי
הסחה קצרה לסרבים. לא ידעתי דבר על סרוו, אבל יש הרבה מידע ברשת. אלה שהשתמשתי בהם הם סרווים רציפים שיכולים להפוך 360 מעלות בצורה חלקה. המינים העיקריים הנוספים הם סרוויי סטפר הנעים בנתחים (מדרגות) וכנראה שעולים רק לכ -180 מעלות (ברור שלא שימושי כאן). היתרון של סרוו stepper הוא שאתה יכול פשוט להכניס זווית והם זזים לנקודה הזו, ולעצור. כל התיעוד שמצאתי אמר כי סרווים רציפים עובדים על ידי מתן מהירות וזמן לשמור על המהירות הזו (למשל מהירות מלאה למשך 1) והם מגיעים למקום שבו הם מגיעים, אבל זה יחסית לנקודת ההתחלה שלהם. לאחר הרבה ניסיונות, לא הצלחתי לגרום לזה לפעול, אך גיליתי, באמצעות ספסל הבדיקה, כי סרוו חוזרים בעקביות לאותה נקודה בהתחשב באותה זווית. וזה הרבה יותר קל, אז פשוט עשיתי את זה. יכול להיות שיש איזה חסרון שאני לא יודע עליו, אבל זה עובד בשבילי. עם זאת, שים לב כי כל סרוו הוא ייחודי, ועל כן עליך לקבל מערך זוויות ייחודי לכל סרוו. מצאתי שהכי קל לקבל סקריפט פיתון 'כיול', שבו אוכל להגדיר את סרווס בזוויות, ולחדד אותן עד שכולן נראות כמו שצריך. זהו התסריט הראשון המצורף. אתה רק מעיר את השירותים שאתה לא בודק, מתרכז באחד ולאחר מכן מתאים את הערכים לפי הצורך. הערה: כיול לספסל המבחנים הוא פשוט ומחוספס ומוכן. יהיה עליך לכייל מחדש בעת הרכבת השעון, כי ההילוכים וכו 'ישנו הכל. ואז התסריט השני די בסיסי. הוא עושה את הפעולות הבאות
- ייבא כמה ספריות
- העבר את המשתנים המגיעים מצומת-אדום למשתנים בתסריט
- ממפה את הזוויות שנקבעו על ידי סקריפט הכיול למיקומים בשעון.
- בדוק שהמיקום נמצא ברשימה, ואם לא אז עברו אל "סכנה"
- רשום מה נעשה לקובץ יומן
- העבר את הסרוו הנדרש לזווית הנדרשת
- עצור סרוו אחד מ'זמזם ' *
3 דברים שכדאי לשים לב אליהם.
קובץ הלוג הוא שימושי במיוחד לניפוי באגים. המשמעות היא שאתה יכול להסתכל באגים-אדום באגים של הודעה ולאחר מכן לראות מה קרה בתסריט. הפלט נראה כך. שלושת הראשונים הם שאני מוציא את הכלב לטיול, ואז ילד 1 יוצא מהבית ומגיע לבית הספר. שימו לב לבדיקת השעה ב- Pi. הוא עשוי להיות ברירת מחדל ל- UTC ולא לאפשר שינויי זמן קיץ/חורף. לְמָשָׁל. הזמנים להלן הם שעה אחת בחוץ.
2020-12-07_05: 36: 03 מי = 0, לוק = נוסעים, פירוט = בית, זווית = 10, אינדקס = 8
2020-12-07_05: 36: 04 מי = 0, לוק = כלב, פירוט = אסטון, זווית = 86.5, אינדקס = 10
2020-12-07_06: 07: 49 מי = 0, לוק = בית, פירוט = כניסה, זווית = 75, אינדקס = 0
2020-12-07_06: 23: 53 מי = 2, לוק = נוסעים, פירוט = בית, זווית = 19, אינדקס = 8
2020-12-07_06: 30: 48 מי = 2, לוק = בית ספר, פירוט = N, זווית = 60.5, אינדקס = 2
זמזום סרוו
אחד הסרבים (0) המשיך לזמזם לאחר סיום התסריט. כפי שאתה יכול לדמיין, זה מעצבן במיוחד במטבח שלנו. מצאתי איפשהו חוט שהזכיר את הגדרת זווית הסרוו ל'אין 'מה שאיכשהו מגדיר אותה כבטלה. זה עבד בצורה מבריקה וניתן לראות אותו בתסריט בסוף.
תזמונים
זכור כמה נמוכה יד לוקחת לטאטא מסביב לשעון. אתה יכול לראות בתסריט שיש שורת time.sleep (4) רגע לפני שהגדרנו את הסרוו להפסיק לזמזם. זה בגלל שאתה צריך לאפשר ליד להגיע ליעד שלה לפני שתגדיר אותה ללא מעש. אחרת זה פשוט מפסיק. הדבר חשוב גם בעת כיולו מכיוון שאתה עושה מספר מהלכים בתוך התסריט. הייתי מפעיל אותו לעבור לכל 12 המיקומים בתורו, כך שאוכל לבדוק את כולם מחדש. אבל אתה צריך קצת זמן בין לבין.
שלב 6: סיום התוכנה - טלפונים לשירותים
ברגע שיש לך את ספסל הבדיקה והסקריפטים מוגדרים, תוכל להריץ אותו 'חי' קצת ולראות כיצד הוא פועל בזמן אמת. כאן מצאתי את החריגים שהייתי צריך להוסיף לזרימת הצומת האדום שלי.
אתה יכול לנתק ולחבר בני משפחה בזרימה Node-RED בקלות אם אתה רוצה להתרכז באחד מהם. לדוגמה, אם שניים גורמים לבעיות אך אתה רוצה לתקן אחת בכל פעם. אחרת, זכור כי תמשיך לקבל הודעות מכל טלפון מחובר.
הזכרתי את הבעיה בהליכת כלבים ובית אחי קרוב למדי. היו לי עוד 2 אתגרים.
ראשית, מיקומים בתוך מיקומים אחרים. אשתי עשתה קורס במכללה בלונדון. רצינו שזה יירשם כ'בית ספר ', אבל זה גם ב'לונדון'. אז היינו צריכים להשתמש שוב בהקשר כדי לומר שאם אתה עוזב את 'בית הספר' הזה, עבור ל'לונדון 'לא' לטייל '.
שנית, תנאי המירוץ. כאמור, בית אחי נמצא במרחק של 2 רחובות משם, וגם ליד הפאב/מסעדה האהובים עלינו. המשמעות היא שלפעמים מתקבלים 2 אותות בו זמנית, או קרובים מאוד זה לזה. זה יכול להגדיר 'תנאי מירוץ' שבו אתה מקבל תוצאות שונות בהתאם לאלו שעוברות הכי מהר את ההיגיון, מה שמוביל לתוצאות בלתי צפויות. על מנת להתמודד עם זה עשיתי לכל ההודעות 'נכנסות' עיכוב של 1s בהיגיון, שנראה כי הוא פותר את הבעיה. אולי יש דרכים טובות יותר, אלגנטיות יותר, לפתור את זה, אבל נראה שזה עבד.
שלב 7: בניית השעון הפיזי - חלק א ' - ה- Servos & Axle
עכשיו הקטע שהכי פחות הייתי בטוח בו, ולכן השארתי אותו להימשך. רציתי פנים בסדר גודל ובנייה קלה. הייתי גם עצבני לגבי הפיזית של 2 סרוו מסביב לציר המרכזי. המשמעות היא שאחר שחיפשתי בקצרה ב- ebay אחר שעונים ישנים כמו במדריך שאני עוקב אחריו, החלטתי לתת לעצמי יותר הזדמנויות על ידי בנייתו בעצמי.
- קיבלתי 2 ריבועים גדולים (~ 30 ס"מ) של דיקט שהיה לי מונח (כעובי 9 מ"מ בערך).
- אחר כך חתכתי מעקה ישן למקטעים בגודל 4x10 ס"מ והברגתי את החלקים הקדמיים והגביים.
- לאחר שסימנתי את החור המרכזי, קידחתי אותו בגודל זהה לצינור הפליז הגדול ביותר.
- לאחר מכן ציירתי אותו בצבע מבריק לבן רגיל.
- לאחר ניסויים הבנתי שכנראה לא אוכל לקבל 4 סרוו סביב אותו ציר אם כולם היו מחוברים לצלחת האחורית (או הקדמית). אז הייתי צריך שיהיו לי 3 + 1 או 2 + 2, על כל צלחת. סיימתי עם 3 מאחור ו -1 בחזית.
- עיבדתי את הקיזוזים הנדרשים על פיסת נייר ולאחר מכן חתכתי את צינורות הפליז כך שיתאימו. שים לב שהצינור העבה ביותר הוא הקצר ביותר, והדק ביותר חייב להגיע עד לצלחת האחורית. (למעשה הטמנתי את הקטן ביותר בחור שקדחתי חלקית בצלחת האחורית, אך לא עד הסוף כדי שהציר לא יזוז אחורה).
- עבור הצינורות, קניתי חותך צינורות, אבל זה משתמש בלחץ כדי לחתוך אותם וזה אומר שאתה לא יכול להכניס את הצינור הקטן יותר פנימה. אז השתמשתי במסור ולאחר מכן הייתי צריך לבצע כמות לא מבוטלת של הגשה כדי לגרום להם לעבוד. קובצי הנקודות של היהלומים לא היו חשובים כאן.
- לאחר מכן התאמתי את התרשים לקיזוזים בפועל של מהדקים וגלגלי שיניים *.
- ברגע שהיה לי את הקיזוז, ידעתי עד כמה 'גבוה' לעשות את הבלוקים להרכיב את סרווס. שברתי כמה בלוקים על ידי ניסורם דקים מדי וגם קידוח החור בכדי לתת לחוט לצאת.
- ואז הגיע החלק המסורבל של המקום לשים את הבלוקים כך שהם יפגשו בדיוק את גלגלי השיניים שעל הציר. הברגתי בלוק אחד ואז יכולתי לסובב את הסרוו כדי לפגוש את הציר ולאחר מכן לדפוק את הבלוק השני בקצה השני של הסרוו. גיליתי גם שאני צריך לחתוך קצת מכמה בלוקים כדי להימנע מחיטוטים אחרים. זה לקח לא מעט זמן.
- ברגע שעשיתי את כל זה, קיבלתי את מארז הפטל שלי, קידחתי בו שני חורים והברגתי אותו לצלחת הקדמית. לאחר מכן יכולתי להוסיף את ה- Pi פנימה, לסגור את הצלחות הקדמיות והאחוריות (לאחר שחיברתי את הסרוווס ל- pi (נזכר איזה סרוו היה לאיזה בן משפחה) ופנה אל הידיים …
* כאן מצאתי את הבעיה הגדולה ביותר, שעוד לא הצלחתי לפתור לגמרי. צינורות הפליז היו, 1/4 ", 7/32", 3/16 ", 5/32". אבל המהדקים היו מטריים (למעט אחד שהיה 1/4 אינץ '). המרת הצינורות למטר הם 6.35 מ"מ, 5.56 מ"מ, 4.76 מ"מ 3.97 מ"מ. מהדקים הנותרים היו קוטר 4 מ"מ, 5 מ"מ ו -6 מ"מ. השניים הקטנים ביותר הגדולים בסדר אבל ברור ש -0.44 מ"מ הם יותר מדי נסיעות עבור המהדק אז הייתי צריך לרפד אותו עם נייר. ניסיתי את זה מספר פעמים וזה עובד בסדר לזמן מה ואז משתחרר שוב. אז השני בגודלו יד לא הצליחה לפעול כראוי. זה היה בסדר במשך כ -6 חודשים, אבל הזמן המושקע לעשות את זה טוב היה זמן מושקע. אבל אם הייתי עושה את זה שוב יכול להיות שהייתי מעלה או יורד מידה אחת, עם פער לנסות להשיג מהדק טוב יותר להתאמה לצינור. למשל ללכת על 9/32 ", 1/4", (פער), 3/16 ", 5/32"
שלב 8: ידי השעון
החלטתי על פלדה כיוון שרציתי משהו נוקשה אך פחות סביר להיתפס בזמן שאני מכין אותו. גם היותו רזה פירושו ש -4 ידיים היו פחות בעיה.
- ראשית שרטטתי צורה.
- אחר כך העברתי אותו לפלדה על גבי סרט דבק.
- ואז גזרתי אותם בצורה לא הוגנת עם פאזל שלי. כולם היו, והם שונים, אבל לא אכפת לי מזה.
- ואז חבר הציע שאשאיל את מטחנת הספסל שלו כדי לעצב אותם, וזה היה נהדר. מומלץ מאוד. אחרת ההגשה אורכת שנים.
- עדיין היה צריך לעשות קצת תיעוד ואז לשייף כדי לא להבטיח קצוות חדים וגם גימור יפה.
- הייתי צריך לקדוח חורים כדי להתאים את צינורות הפליז המתאימים (השתמש בצינורות חתוכים כדי לבדוק, לא את הרכובים על השעון).
- גיליתי שהחורים זקוקים לתיוק קטן כדי להעלות אותם על הצינורות, אך פעם הם היו הדוקים ולא היו זקוקים לדבק. היוצא מן הכלל היה היד הקדמית שרציתי שיהיה לה 'כיסוי'. אז חתכתי פיסת פלדה עגולה (בעיקר), לאחר שקידחתי את החור והבאתי אותו לגודל הנכון והדבקתי אותו בחזית. אתה יכול לראות את זה בתמונה האחרונה. מדי פעם היד הקדמית תזדקק לטיפת דבק כדי לאבטח אותה, אך לאחר כמה התחלות שווא הידיים עובדות ממש טוב.
- דחיתי את הרעיון של תמונות (כי ילדים יתלוננו על תמונות התאריך שלנו במהירות) ולכן הסתפקתי בציור על ראשי תיבות עם צבע אקרילי.
שלב 9: השלם
הכל עובד ממש יפה. הידיים לפעמים קצת כבויות, תלוי מאיפה הן הגיעו, אבל למעשה זה לא משנה כי כל מיקום הוא קטע לא רק קו.
לפעמים, באופן מוזר, הטלפון שלי מסרב להכיר בכך שאני בבית. אני ברור ברדיוס Owntracks כשהוא מוצג על המפה, ואפילו כשהדיוק טוב … אין לי מושג למה. נראה שלא פוגע בשאר בני משפחתי. אבל ההתקנה זהה. המשמעות היא שא Owntracks לעולם לא שולח הודעה ואני נתקע ב'טייל '. אבל זה בדרך כלל מסדר את עצמו בסופו של דבר.
זה היה שימושי במיוחד במטבח שלנו, בעיקר כדי לדעת מתי הבנות יוצאות הביתה מבית הספר, או את בתי החברים שלהן, וכך מתי להכין אוכל/תה להן.
שוב, כובע תודה גדול ל @ppeters0502 על ההנחיות הנהדרות שיש לבצע. אני מקווה שאלו יכולים להוסיף משהו סביב יצירת שעון עם 4 ידיים.
שלב 10: דברים שלמדתי והייתי עושה יותר טוב/אחרת אם הייתי צריך לעשות את זה שוב
- מבנים פיזיים דורשים ניסוי וטעייה. אין דרך לחזות את בעיות המרחב, אתה רק צריך לצלול פנימה ולנסות.
- לגבי קוד, בעיות חיפוש בגוגל חיוניות
- התחל בסיסי ובנה. סרוו על עץ ספסל הבדיקה פירושו שאוכל לגרום לרוב זה לעבוד ללא מבנה פיזי
- אולי הייתי חותך את הידיים בלייזר במכונת CNC. אבל לא ידעתי היכן המקומי, ואני אוהב איך הפלדה הקלה הסתדרה (זה היה זול ומטחנת הספסל הקלה הרבה יותר)
- מנוע צעד עשוי להיות אפשרי אם אתה משתמש בהילוך כדי לקבל סיבוב 360. אך ייתכן שיהיה עליך לקבל את סרוו הקרובים מדי לציר המרכזי
- ישנם 2 סוגים של סרוו (Futaba & HiTech). וודא שבדקת זאת מכיוון שיש להם מספר שיניים שונה על השדרה. ורכשתי לא נכון בתחילה …
- אל תחבר את הכובע עם הקוטביות הלא נכונה;-)
- Google ו- Stack Overflow הם החברים שלך כשהם תקועים. אבל אתה צריך להשתמש במונחי חיפוש טובים …
- ספסל הבדיקה הוא למעשה דרך בה תוכל להשיג גרסה פשוטה וזולה הרבה יותר בקלות. רוב הסיבוך בבנייה נובע מכך שהידיים צריכות להסתובב סביב אותו ציר. אם אתה מתפשר על זה, אז הכל הרבה יותר קל. ואני חושב ש -4 עשוי להיות הגבול של הציר היחיד אלא אם כן הציר יתארך הרבה יותר. אתה יכול, אני מניח שיש 3 על הלוח הקדמי ושלוש על הלוח האחורי אם הפיר היה ארוך יותר …
שלב 11: הרחבות עתידיות אפשריות …?
הרעיונות שהיו לי לגבי השלבים הבאים הם כדלקמן.
- אני רוצה לתכנן מחדש אייפד ישן כשעון השעון. כלומר צור שעון דיגיטלי. אולי מבוסס דפדפן או אפליקציה. מכיוון ששעון פיזי הוא למעשה חסר מדינה (כלומר הוא לא יודע היכן הוא נמצא, למעט מכוח הידיים הנמצאות במיקום פיזי) אצטרך לאחסן נתונים מתמשכים. Node Red יכול לכתוב למערכת הקבצים המקומית, אז כנראה שהייתי עושה זאת.
- אם הייתי עושה את זה אז הייתי רוצה לראות את זה מחוץ לבית. אבל אז אנחנו באמת צריכים לסדר את האבטחה. מכיוון שגישה בתוך אותה רשת wifi היא דבר אחד, גישה מהאינטרנט היא דבר אחר. כרגע אין לי מושג איך לעשות את זה בצורה הטובה ביותר, אבל אני חושד שמנוי MQTT הולך לכיוון השני יכול לעבוד (pi מפרסם את המצב הנוכחי והתקנים חיצוניים נרשמים אליו) …?
- אני די רוצה יד אחת ל'חו"ל '. אבל זה יכול להיות מורכב מבחינת OwnTracks. אולי אפשר פשוט להשתמש ב- long/lat בשילוב עם כמה רדיוסים ענקיים?
מוּמלָץ:
שעון קוביה רב תכליתי מבוסס מיקום: 5 שלבים (עם תמונות)
שעון קובייה רב תכליתי מבוסס מיקום: זהו שעון מבוסס ארדואינו הכולל צג OLED המתפקד כשעון עם התאריך, כטיימר תנומה וכאור לילה. הפונקציות השונות " נשלטים על ידי מד תאוצה ונבחרים על ידי סיבוב שעון הקובייה
[15 דקות] שעון וויזלי / מי מחוון הבית - מבוסס על TR -064 (בטא): 4 שלבים (עם תמונות)
[15 דקות] שעון וויזלי / מי הוא מחוון הבית-מבוסס על TR-064 (בטא): עדכון: ראה שלב 3. סיפור ארוך (TL; DR להלן): לפני זמן מה כתבתי קובץ סקריפט קטן במחשב שלי לסרוק את הרשת לאיתור מכשירים רשומים ולהשוות את שמות המארחים שלהם מול רשימה עם שמות קשורים. בכל פעם שמכשיר היה נכנס
מישהו אוהב אותי שעון מיקום: 6 שלבים (עם תמונות)
מישהו אוהב אותי שעון מיקום: עם יקיריהם בחו"ל או מחוץ למדינה שום דבר לא אומר שאני חושב עליך טוב יותר מאשר תמיד לדעת מה השעה בשבילם! גיסי בדימוס התכוננו לשרת שליחות כנסייתית בברלין, גרמניה ואשתי הגיעה עם
שעון ללא ידיים: 5 שלבים (עם תמונות)
שעון ללא ידיים: שלום לכולם, זהו ההוראה הראשון שלי, הדבר הראשון שיש לי לומר הוא …. מצטער על האנגלית שלי, אני מספרד ואני מדבר קצת אבל אני לא אנגלי. עם שעון שינה ישן, קרטון ממוחזר מקופסת דגנים
שעון מותאם אישית עם ידיים לצילום: 5 שלבים (עם תמונות)
שעון מותאם אישית עם ידיים לצילום: יש אנשים שצופים בשעון. עכשיו כולם יכולים להיות השעון. פרויקטים אחרים מתאימים אישית את פני השעון. זה מותאם אישית את הידיים של השעון. זה נראה יקר, אבל הוא פחות מ -5 דולר, וכ -30 דקות לכל שעון. מושלם עבור Chr