תוכן עניינים:
- שלב 1: דברים שאתה צריך
- שלב 2: הכינו את Raspberry Pi למשך 433 מגה -הרץ
- שלב 3: הגדרת שרת הבית החכם
- שלב 4: הגדרת לקוחות
- שלב 5: מסקנה
וִידֵאוֹ: בית חכם מאת Raspberry Pi: 5 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
יש כבר כמה מוצרים שהופכים את הדירה שלך לחכמה יותר, אך רובם הם פתרונות קנייניים. אבל למה אתה צריך חיבור לאינטרנט כדי להחליף אור עם הסמארטפון שלך? זו הייתה סיבה אחת בשבילי לבנות פתרון בית חכם משלי.
תיכננתי אפליקציית שרת הפועלת על פטל פטל. זהו פרויקט קוד פתוח מבוסס ג'אווה המאפשר לך להגדיר את הדירה שלך ולחבר מספר לקוחות ו'יחידות ניתנות לשליטה '. אני מציג פתרון המטפל במתגי אספקת חשמל rc, מנגן מוזיקה ווידאו ב- Raspberry Pi, מציג את הסטטוס במראה חכמה וניתן לשלוט בו על ידי אפליקציית אנדרואיד ושתי אפליקציות חלוקי נחל. המקור מתארח ב- github
שלב 1: דברים שאתה צריך
כדי להגדיר את הבית החכם, אתה צריך את ה'מרכיבים 'הבאים:
- פטל פי לפחות דגם 2 B
- שולח 433 מגה-הרץ, משהו כזה
- 3 כבלי מגשר המחברים בין ה- Raspberry Pi לבין השולח
- כמה שקעי בקרת רדיו במהירות 433 מגה -הרץ
- סמארטפון אנדרואיד להפעלת אפליקציית הלקוח
בנוסף, אתה יכול להרחיב את הבית החכם עם עוד לקוחות ויחידות אופציונליות כאלה
- שעון חכם של חלוקי נחל
- Mirror Smart, ראה פרויקט זה
-
רצועת LED נשלטת על 433 מגה-הרץ, ראה
שלב 2: הכינו את Raspberry Pi למשך 433 מגה -הרץ
בשלבים הבאים אתה צריך גישה לשורת הפקודה ב- Raspberry Pi. כדי לקבל את הגישה אתה יכול לקרוא את
חבר את שולח 433 מגהרץ עם ה- Raspberry Pi כפי שמוצג בתמונה למעלה
- GND (שולח) 6 GND (raspi)
- VCC (שולח) 2 +5V (raspi)
- DATA (שולח) 11 GPIO 17 (raspi)
אנא חבר גם אנטנה בגודל 17 ס מ לסיכת ה- ANT (שולח). זה מגביר את האות באופן משמעותי.
מכיוון שאנו זקוקים לספריות ממאגרי git אחרים, עלינו להתקין git
sudo apt-get install git-core -y
כדי להגדיר את ה- Raspberry Pi לתקשורת של 433 מגה -הרץ אנו זקוקים לספריית Pi החיווט לטיפול טוב יותר ב- GPIO.
שיבוט git git: //git.drogon.net/wiringPi
cd wiringPi./build
אז אנחנו צריכים ספרייה שמיישמת בדרך כלל פרוטוקולי אספקת חשמל rc.
שיבוט git git: //github.com/dabastynator/rcswitch-pi.git
תקליטור rcswitch-pi הפוך cp לשלוח/usr/bin/
ההפעלה 'שלח' מאפשרת לך לשלוח קודים כדי להחליף את רוב ספקי הכוח הזמינים.
בהגדרת הבית החכם שלי יש לי גם רצועת LED rc המתוארת על ידי ההוראות הבאות: https://www.instructables.com/id/RC-controlled-LED… כדי להגדיר צבעים לרצועת LED זו, עליך להפעיל קובץ שליחה נוסף המאפשר לך לשלוח כל ערך שלם (זה מקודד את הצבע).
לכן, ריכז את ה- sendInt.cpp במאגר rcswitch-pi והעבר אותו אל/usr/bin/sendInt.
sudo g ++ sendInt.cpp -o/usr/bin/sendInt /home/pi/rcswitch-pi/RCSwitch.o -I/home/pi/rcswitch -pi -lwiringPi
עכשיו אתה אמור להיות מסוגל לשלוח פקודות rc עם שתי ההפעלות/usr/bin/send ו/usr/bin/sendInt
שלב 3: הגדרת שרת הבית החכם
קודם כל עליך להתקין מספר חבילות. אפליקציית הבית החכם מבוססת ג'אווה ופועלת היטב עם openjdk-11. אני לא בטוח לגבי סביבות זמן ריצה אחרות של java. ה- mplayer הוא נגן מוזיקה שורת פקודה מינימליסטי. ה- omxplayer משתמש בגרפיקת Raspberry Pi לקידוד וידאו, ולכן יש להשתמש בזה לסרטונים. דרושה נמלת התוכנית לבניית אפליקציית java.
sudo apt-get install mplayer omxplayer openjdk-11-jdk ant -y
הגדרת ספריות עבור קובץ ה- jar ועבור יומנים.
sudo mkdir /opt /neo
sudo chown pi: pi/opt/neo mkdir/home/pi/Logs
הגדר את סקריפט ההתחלה כדי להפעיל את היישום באופן אוטומטי בעת האתחול. לכן העתק את סקריפט הבית החכם המצורף לספרייה /etc/init.d/ יצרתי גם סקריפט ב-/usr/bin/שמפנה פקודות לסקריפט המצורף, אז אני פשוט נכנס לבית חכם לקונסולה כדי לבצע פקודות..
sudo cp smart-home /etc/init.d/smart-home
sudo chmod +x /etc/init.d/smart-home sudo sh -c "echo '#!/bin/bash'>/usr/bin/smart -home" sudo sh -c "echo '/etc/init. d/smart-home / $ 1 '>>/usr/bin/smart-home "sudo chmod +x/usr/bin/smart-home sudo update-rc.d ברירות מחדל של בית חכם
עכשיו הגיע הזמן לבדוק את המאגר ולבנות את האפליקציה. אם אינך רוצה לאסוף אותו בעצמך, תוכל פשוט להוריד את smarthome.jar המצורף ולהעביר אותו אל/opt/neo/
git clone [email protected]: dabastynator/SmartHome.git
נמלה -f SmartHome/de.neo.smarthome.build/build.ant build_remote cp SmartHome/de.neo.smarthome.build/build/jar/*/opt/neo/
נסה להפעיל את הבית החכם ולבדוק את קובץ היומן. כדי לקבל גישה ל- GPIO, יש להפעיל את היישום על ידי sudo.
sudo smart home start
חתולי יומנים/smarthome.log
אתה אמור לראות את הודעת השגיאה קובץ התצורה אינו קיים שמפנה אותנו לשלב הבא. המאגר מכיל תוכנת readme המסבירה את קובץ התצורה. אתה יכול לראות את זה מעובד יפה ב github:
העתק את ה- XML הזה אל /home/pi/controlcenter.xml, ולאחר מכן הגדר את המיקום של שרת המדיה שלך ושנה את התוכן לפי הצורך. לאחר שסיימת את התצורה והפעלת מחדש את הבית החכם (הפעלה מחדש של הבית החכם של sudo) אתה אמור לראות את התוכן הבא ב- smarthome.log
24.05-08: 26 מידע מרחוק מאת de.neo.smarthome.cronjob. CronJob@15aeb7ab: תזמון עבודת cron
24.05-08: 26 מידע מרחוק על ידי [trigger.light]: המתן 79391760 ms לביצוע 24.05-08: 26 מידע RMI על ידי הוספת מטפל אינטרנט (5061/ledstrip) 24.05-08: 26 מידע RMI על ידי הוספת מטפל אינטרנט (5061 /פעולה) 24.05-08: 26 מידע RMI על ידי הוספת מטפל אינטרנט (5061/mediaserver) 24.05-08: 26 מידע RMI על ידי הוספת מטפל אינטרנט (5061/switch) 5061/controlcenter) 24.05-08: 26 RMI מידע על ידי Start Webserver עם 5 מטפלים (localhost: 5061) 24.05-08: 26 מידע מרחוק על ידי Controlcenter: הוסף 1. יחידת בקרה: MyUnit (xyz) …
שרת האינטרנט פועל כעת:-)
שלב 4: הגדרת לקוחות
לקוח אנדרואיד חכם
מאגר ה- git ליישום הבית החכם מכיל גם את המקור של לקוח האנדרואיד, כך שתוכל לאסוף אותו בעצמך. אבל צירפתי את ה- APK לשלב הזה, זה מקל על זה. בפעם הראשונה שאתה מפעיל את האפליקציה, היא מבקשת ממך שרת, כמו בתמונה הראשונה למעלה. הזן את כתובת האתר של השרת ואת אסימון האבטחה.
זה אמור להיות זה. כעת יש לך גישה לשרת ושולט בדירה שלך, מנגן מוזיקה וצפה בסרטונים מרחוק ב- Raspberry Pi שלך. שים לב שאתה יכול להוסיף ווידג'טים למסך הבית שלך, מה שהופך את המתגים ושליטה במוזיקה לנגישים יותר.
לקוח Smartwatch Pebble
המקור לשני לקוחות חלוקי הנחל מתארח ב- github. אפליקציה אחת מציגה את קובץ המוסיקה הנוכחי: https://github.com/dabastynator/PebbleRemoteMusic… זה גם מאפשר לך להשהות/לנגן ולהגדיל/להוריד את עוצמת הקול.
האפליקציה השנייה מפעילה שלוש פעולות: https://github.com/dabastynator/PebbleControl שמות הטריגר הם: mobile.come_home mobile.leaving ו- mobile.go_to_bed. אם אתה מגדיר כללי אירועים עבור ההדק הזה בתצורת xml שלך אתה מפעיל אותם על ידי השעון שלך.
הכל קוד פתוח, אבל אתה לא צריך לקמפל אותו בעצמך, צירפתי גם את אפליקציות חלוקי הנחל. הורד את PBW עם הטלפון החכם שלך, הטלפון שלך צריך להתקין אותם על השעון שלך. יישומי חלוקי הנחל זקוקים לתצורות כדי לדבר עם השרת. צירפתי צילום מסך איך ההגדרות שלי נראות.
לקוח Garmin של שעון חכם
יש גם לקוח זמין עבור שעוני החכם של Garmin. האפליקציה זמינה בחנות האפליקציות של garmin connect וניתן להתקין אותה כאן:
apps.garmin.com/en-US/apps/c745527d-f2af-4…
לקוח Smart Mirror
כבר יצרתי מדריך המסביר כיצד ליצור את המראה החכמה, עיין ב https://www.instructables.com/id/Smart-Mirror-by-R…. קוד המקור מתארח גם ב- github: https:// github.com/dabastynator/SmartMirror. התוכנה של Smart Mirror קוראת את התצורה מהקובץ smart_config.js שאינו חלק ממאגר git. התוכן של קובץ התצורה צריך להיראות כמו רישום זה:
var mOpenWeatherKey = 'your-open-wheather-key';
var mSecurity = 'your-security-token';
עליך גם להתאים את שתי השורות הראשונות של הקובץ smart_mirror.js כדי לציין את כתובת ה- IP של שרת הבית החכם ואת המיקום כדי לקבל את מזג האוויר הנכון.
יותר לקוחות
יישום השרת הוא שרת אינטרנט פשוט. זה מאפשר לך להפעיל פעולות מכל לקוח שאתה רוצה באמצעות שיחות אינטרנט פשוטות. בסרטון ההדגמה אני מציג את משימת האפליקציות לאנדרואיד בשילוב עם AutoVoice. זה מאפשר לי להפעיל אירועים באמצעות פקודות קוליות פשוטות. לדוגמה "בסדר גוגל, זמן לישון" יכול לעורר mobile.go_to_bed. אבל אתה יכול גם לבצע שיחות אינטרנט למשל מ- IFTTT. מה דעתך על פס LED מהבהב צהוב להודעת דוא"ל?
אתה יכול לבקש מהשרת שיחות אינטרנט אפשריות כמו קישורים הבאים (החלף ip, יציאה ואסימון לפי התצורה שלך)
localhost: 5061/controlcenter/api? token = secu…
localhost: 5061/action/api? token = security-to …
localhost: 5061/mediaserver/api? token = securi …
localhost: 5061/switch/api? token = security-to …
localhost: 5061/ledstrip/api? token = security- …
שלב 5: מסקנה
עדיין יש כמה תכונות ליישם: מכיוון שהשרת מספק רק אינטרנט פשוט API לקוחות עושים הרבה סקרים. כדי לצמצם את הסקרים אני רוצה שילוב MQTT להודעות טובות יותר. כמו כן ספקי כוח wifi צריכים לבצע ביצועים אמינים יותר מספקי כוח rc מכיוון ש- rc היא רק תקשורת חד כיוונית.
זה מאוד כיף לפתח את הפרויקט הזה. וזה די מגניב לשלוט בדירה על ידי מספר מכשירים, גם אם חיבור האינטרנט מתקלקל.
מוּמלָץ:
כיצד ליצור בית חכם באמצעות מודול ממסר בקרת Arduino - רעיונות לאוטומציה ביתית: 15 שלבים (עם תמונות)
כיצד ליצור בית חכם באמצעות מודול ממסר בקרת Arduino | רעיונות לאוטומציה ביתית: בפרויקט אוטומציה ביתי זה, נעצב מודול ממסר בית חכם שיכול לשלוט על 5 מכשירי חשמל ביתיים. ניתן לשלוט במודול ממסר זה מנייד או סמארטפון, שלט IR או שלט טלוויזיה, מתג ידני. ממסר חכם זה גם יכול לחוש את
בית חכם עם ארדואינו: 11 שלבים (עם תמונות)
בית חכם עם Arduino: שלום, אני אראה לך כיצד לבנות בית חכם משלך. הוא מציג את הטמפרטורה בפנים ובחוץ, אם החלון פתוח או סגור, מראה מתי יורד גשם ומתריע כאשר חיישני PIR חשים נעים. הכנתי את האפליקציה באנדרואיד כדי
ForgetMeNot - פלטפורמת התראות בית חכם: 14 שלבים (עם תמונות)
ForgetMeNot - פלטפורמת התראות בית חכם: כסטודנטים עסוקים, מתרוצצים בין שיעורים, מקומות עבודה והתחייבויות משפחתיות, אנו נוטים לשכוח את הדברים הקטנים. יום הולדת בא והולך מבלי ששמנו לב, מועד אחרון חשוב מפספס בגלל שכחה צרופה ולפעמים, פשוט
בוט ארדואינו בית חכם GO-4: 7 שלבים (עם תמונות)
GO-4 Smart Home Arduino Bot: בפרויקט זה אראה לך כיצד לבנות בוט בית חכם באמצעות טכנולוגיית IOT לשליטה על מכשירי חשמל ביתיים שלך מרחוק באמצעות האינטרנט. אך לפני שנתחיל בואו נדבר על טכניקה זו כפי שהשתמשנו לעשות … מהו IOT? Th
ניטור בית חכם באמצעות אלקסה וארדואינו: 9 שלבים (עם תמונות)
ניטור בית חכם באמצעות אלקסה וארדואינו: בעולם הנוכחי אנשים מבלים יותר זמן במקום העבודה ולא בביתם. מכאן שיש צורך במערכת ניטור ביתית בה אנשים יכולים להכיר את תנאי הבית בזמן שהם בעבודה. זה יהיה אפילו יותר טוב אם אחד