תוכן עניינים:

[15 דקות] שעון וויזלי / מי מחוון הבית - מבוסס על TR -064 (בטא): 4 שלבים (עם תמונות)
[15 דקות] שעון וויזלי / מי מחוון הבית - מבוסס על TR -064 (בטא): 4 שלבים (עם תמונות)

וִידֵאוֹ: [15 דקות] שעון וויזלי / מי מחוון הבית - מבוסס על TR -064 (בטא): 4 שלבים (עם תמונות)

וִידֵאוֹ: [15 דקות] שעון וויזלי / מי מחוון הבית - מבוסס על TR -064 (בטא): 4 שלבים (עם תמונות)
וִידֵאוֹ: Преступления на почве ненависти в Хартленде-Трагическ... 2024, יולי
Anonim
Image
Image
[15 דקות] שעון וויזלי / אינדיקטור ביתי - מבוסס על TR -064 (בטא)
[15 דקות] שעון וויזלי / אינדיקטור ביתי - מבוסס על TR -064 (בטא)

עדכון: ראה שלב 3.

סיפור ארוך (TL; DR להלן): לפני זמן מה כתבתי קובץ סקריפט קטן במחשב שלי שיסרוק את הרשת לאיתור מכשירים רשומים וישווה את שמות המארחים שלהם מול רשימה עם שמות קשורים. בכל פעם שמכשיר היה מתחבר או יוצא מהרשת הייתי מקבל הודעה. כמו זה יהיה לי רעיון מי בבית (לא רק שזה לפעמים נחמד לדעת מי בבית לשאול אותם אם הם רוצים להצטרף לארוחה או משהו כזה, אבל זה גם יכול לעזור לך להימנע ממצבים מביכים). הבעיה היא ששיטה זו אינה אמינה במיוחד. לרוע המזל חלק מהמכשירים אינם עונים על פינגים (למשל סמארטפונים) ונראה שהם נכנסים למצב חיסכון כלשהו לפיכך אינם ניתנים לזיהוי מהימן באמצעות פקודות כמו nmap. ניסיתי להתגבר על זה על ידי דרישה של לפחות 10 שליליות לפני שהכרזתי לבסוף שהמכשיר עזב את הרשת. בסך הכל זה עבד, אבל לאט, לא אמין ולא יפה במיוחד. כמו כן רציתי להיות מסוגל לבדוק מי בבית, מבלי לפתוח את המחשב שלי. אז היו לי מכשירי ESP8266 אלה מונחים - ורציתי לשחק איתם. אבל לא רציתי לבנות את תחנת מזג האוויר המבוססת על ESP 10.120.124.812 או משהו כזה (מדוע שתרצה לעקוב אחר מזג האוויר באמצעות מדחום מחורבן ± 2 מעלות צלזיוס כשאתה יכול לבקר בכל זאת באתר כלשהו?). אז התוכנית נעשתה. למרבה הצער מסתבר שנדמה ש- ESP אינו מצויד בפינג נכון (מה שהיה רע מלכתחילה, זוכר?) שלא לדבר על סריקת רשת מלאה. שקלתי לכתוב איזו ספרייה בשביל זה - אבל מכיוון שה- C ++ שלי מוגבל מאוד, זהו פרויקט ה- ESP הראשון שלי ואני גם לא גאון עם דברים ברשת וגם ביטלתי את הרעיון הזה. לאחר שעשיתי קצת מחקר, גיליתי שלי לנתב (המותג Fritz! Box) יש למעשה API! יש!!!! הפרוטוקול נקרא TR-064. שם כה מעורר השראה, נכון? עשיתי מחקר בנושא ומצאתי תיעוד (די מחורבן) באינטרנט. לקח לי זמן להבין את זה. אולי אפרסם הודעה מעשית יותר בימים הקרובים (וכיצד לתקשר עם/לבדוק API זה באמצעות תוסף לדפדפן). לאחר שהבנתי את ה- API, התחלתי להשתמש בו מה- ESP שלי. סיפור ארוך: קיבלתי פתרון ברווז-טייפ ו- wd40 הפועל ועושה מה שרציתי (שאילתה על ה- API למכשירים מחוברים, השווה אותם לרשימת כתובות MAC והחלפת נוריות בהתאם). אבל רציתי אמין יותר. ופתרון גמיש ול- API זה יש הרבה יותר מה להציע (אתה יכול לשנות הגדרות (הפעלה/כיבוי של ה- wifi, שינוי סיסמה, פתיחה/סגירה של WiFi האורח, שינוי עוצמת האות), הפעל מחדש את הנתב, שאל את מהירות החיבור, …) - אז החלטתי ליצור ספריית אוניברסלית TR -064! TL; DR; מכשיר המציין באמצעות נוריות מי נמצא כרגע בבית. עובד מצוין, אין לו עדיין דיור נהדר (היי - שמת לב לבטא בכותרת?). משתמש בפרוטוקול SOAP לתקשורת עם הנתב. כתב ספריית Arduino כדי שזה יקרה. ידע נדרש • ידע בסיסי בארדואינו/ESP • אם הרכבת דוגמה מהבהבת עם ה- ESP שלך, יהיה בסדר! • אם לא, תוכל לבצע את שני השלבים הראשונים של מדריך זה • הלחמה עלולה להיות שימושי, אם אתה רוצה לעזוב את שלב הלוח • עיצוב תלת מימדי כלשהו או עיבוד עץ עשוי להועיל לקישור לפרויקט דירות Github [https://github.com/Aypac/Arduino-TR-064-SOAP-Library] לעיון מהיר.

אספקה

  • ESP8266 או ESP32 בלוח פיתוח או עם מתכנת אחר (2 ~ 6 €)
  • כבל USB מתאים למתכנת
  • מתאם מתח (למשל USB או סוללה ~ 2 €)
  • כמה נוריות נגדים (~ 1 €)
  • (מַעֲטֶפֶת)

=> בסביבות 4-6 € לעיצוב מינימלי. זה אומר בשבילי שאני יכול לתלות כמה בקלות בבית. אם אתה עצלן, אתה יכול גם להשתמש בלוח פיתוח עם נוריות LED כלולות (ראה שלב 4 לפרטים נוספים).

שלב 1: הגדר את הנתב (אופציונלי, אך מומלץ)

הגדר את הנתב (אופציונלי, אך מומלץ)
הגדר את הנתב (אופציונלי, אך מומלץ)
הגדר את הנתב (אופציונלי, אך מומלץ)
הגדר את הנתב (אופציונלי, אך מומלץ)

הפרוטוקול תוכנן כפרוטוקול כללי לנתבים, אך אני יודע רק כי (רוב) נתבי Fritz! Box (נפוצים מאוד לפחות באירופה) משתמשים בו. לא יודע לגבי מותגים אחרים. אז אני מניח שאתה משתמש בקופסת פריץ! אם אתה יכול לגרום לזה לעבוד (או לא לעשות זאת) בכל נתב אחר, אשמח להוסיף אותו להנחיה זו (אולי אפילו להתחיל רשימת תאימות קצרה?).

שלב זה אינו הכרחי, תוכל גם פשוט להשתמש בחשבון הניהול שלך, אך זה לא מומלץ מסיבות ברורות (עשוי להיות יורט או מופק מה- ESP שלך, אתה יכול בטעות לשנות דברים שאתה לא רוצה, …) - אז אני מייעץ לך לעשות זאת.

בכל מקרה, הנה:

  1. היכנס לתיבת Fritz! שלך על ידי הקלדת fritz.box בשורת כתובת האתר של הדפדפן המועדף עליך.
  2. מצא את הדף ליצירת משתמש חדש של FRITZ! Box (עליך להתקדם. הוא צריך להיות תחת מערכת, אם אינך יכול למצוא אותו, נסה לעדכן את המכשיר שלך).
  3. צור חשבון חדש כפי שאתה רואה בתמונה (באמצעות שם משתמש/סיסמה אחרים!).
  4. להתנתק.

שלב 2: קוד

Image
Image
חומרה (בטא)
חומרה (בטא)
  1. אתה יכול להשיג את הספרייה מ- Github.
  2. בדוגמאות תמצא קובץ בשם home-indicator.ino, שהוא הקוד לפרויקט זה. מקם את תיקיית הדוגמאות בתיקיית הבית של פרוייקט arduino IDE ואת התיקיה האחרת בתיקיית הספריות באותה תיקיית הבית של הפרויקט.

  3. (Re) התחל לך IDE.
  4. פתח את home-indicator.ino ב- IDE והזן את ההגדרות שלך. זה צריך להיות די ברור מה הולך לאן. אם יש לך שאלות, הודע לי!
  5. עכשיו אתה יכול לאסוף אותו ולהעביר אותו ל- ESP שלך!

שלב 3: חומרה (בטא)

חומרה (בטא)
חומרה (בטא)
חומרה (בטא)
חומרה (בטא)
חומרה (בטא)
חומרה (בטא)

כן … זה השלב, שבו אני עדיין צריך לעבוד עוד קצת. אבל אני מניח שיש מספיק חומר באינטרנט כדי להבין משהו:) ההתקנה כמו בתמונות היא רק דיודה עם נגד ~ 100Ohm המחובר ל- GPIO {5, 4, 0, 2}, שהם ה- D1, סיכות D2, D3, D4 (בסדר הזה) של לוח ה- MCU ESP8266 שלי והכבל הכתום הקטן שלוקח את הקתודות ל- GND (מסומן G על הלוח שלי). אם אתה עצלן, אתה יכול לעשות מה שאתה רואה בתמונה השנייה. פשוט השתמש בלוח פיתוח עם נוריות LED כלולות (כמו "ESP-202", ראה תמונות-בסביבות 3.50-5.00 € כולל משלוח). לאחר מכן תוכל פשוט לחבר אותו לחשמל USB או להשתמש בסוללה הכלולה, לצייר ממשק על פיסת נייר ולהדביק אותו לקיר. בוצע. ללוח ספציפי זה היציאות הן:

int userPins [numUser] = {5, 4, 2, 14, 16};

מלמעלה למטה.

שלב 4: Outlook/הפניות

זה מה שאני עדיין מתכנן: 1. ליצור דיור נחמד (ברור) 2. הוספת ממשק משתמש נחמד לניהול משתמשים/נוריות/מכשירי MAC/מכשירים ידועים 3. שיפור הספרייה (ראה Github בנושא) 4. תיקון: לפעמים נוריות הלדים להגיב באיטיות (לוקח קצת עד שהם נכבים, לאחר שהמכשיר עזב) ללא סיבה ברורה 5. חברו את הדבר במסדרון ואולי עוד כמה ברחבי הבית נשמח לקבל קצת תשובות מכם! וכמו תמיד, זה מאוד משמח אותי לראות אחרים בונים שטויות שחשבתם, אז אנא הקדישו רגע להגיב ולפרסם תמונות!:):) עוד כמה הפניות אני אקשר כאן כמה דברים שאולי יעזרו לך: • התייחסות ל- TR-064 • איזה בחור שמתעסק עם הקליפה ו- TR-064 (טוב להבין את ה- API) • הארי פוטר ויקיפדיה: כניסה לשעון וויזלי • כמה חבר'ה בונים שעון וויזלי יפה אך מסובך*_*הוא מבוסס על אפליקציה לטלפון שלך שתופסת את המיקום שלך. אם אתה נמצא באזורים מסוימים שהוגדרו מראש, הנורה בהתאם לשעון תידלק. בשבילי זה היה מסובך מדי והיה צריך במקומות רבים בהם הוא יכול להישבר/להיכשל: • יש לעדכן אפליקציות • כולם חייבים להשתמש באפליקציות האלה • ולהיות בסדר עם ההשפעה על הפרטיות • האפליקציה עובדת רק עם אינטרנט חיבור • עליך להשתמש בשרת ביניים לממשק התקשורת (אלא אם כן ברצונך להגדיר את ה- esp כשרת ולפתוח לך את הרשת הביתית לתנועה חיצונית - יא, עוד מכשיר IOT לא בטוח המחובר ישירות לאינטרנט!) • שירות ביניים עשוי לצאת לאינטרנט יום אחד/לשנות את ה- API שלו, • … אתה צריך עוד תוכנה. יותר תוכנה פירושה יותר מקומות לטעות;) אבל הם עשו עבודה מדהימה ואם אתה רוצה לעשות משהו כזה, עבור לאתר שלהם, זה באמת נהדר!

מוּמלָץ: