פרסומת
דיברנו על היתרונות היחסיים של ארדואינו ופטל פט-פי - לכל אחד מהם יש את חוזקותיו. הם לא צריכים להיות אף אחד או בחירה - לשלב אותם כדי להפיק את המיטב משני העולמות. אוטומציה ביתית היא המועמד המושלם לכך. שוק האוטומציה הביתית מוצף במערכות צריכה יקרות, שאינן תואמות זו את זו ויקרות להתקנה. אם יש לך פטל פי פטל Pi: ההדרכה הלא רשמיתבין אם אתה בעל Pi נוכחי שרוצה ללמוד יותר ובין שהוא בעל פוטנציאל של מכשיר זה בגודל כרטיס אשראי, זה לא מדריך שאתה רוצה לפספס. קרא עוד וארדואינו, אתה בעצם יכול להשיג את אותו הדבר בשבריר מהמחיר, בהנחה שאתה מוכן להכניס את הזמן והמאמץ.
עדכון: מאז שנכתב מאמר זה, גיליתי את OpenHAB, פלטפורמת אוטומציה ביתית בחינם וקוד פתוח הפועל על Raspberry Pi וניתן לשלב אותו עם מגוון עצום של ערכת בית חכם מחוץ למדף וכן ארדואינו. עיין בסרטון למטה לקבלת שיא מתגנב, ואז המשך אל שלנו תחילת העבודה עם OpenHAB ב- Raspberry Pi תחילת העבודה עם אוטומציה ביתית של OpenHAB ב- Raspberry PiOpenHAB היא פלטפורמת אוטומציה ביתית לבוגרת עם קוד פתוח הפועלת על מגוון חומרה והיא פרוטוקול אגנוסטי, כלומר זה יכול להתחבר כמעט לכל חומרת אוטומציה ביתית בשוק היום. קרא עוד מדריך למידע נוסף.
Heimcontrol.js היא אפליקציית Node.js שנבנתה להפעלה על Raspberry Pi. בשילוב עם ארדואינו וכמה שקעים בשלט רחוק מהמדף, זה הופך את השליטה במכשירי AC לקלה. אתה יכול להוסיף חיישני טמפרטורה ואפילו לשלוט בטלוויזיה שלך - אבל אנו נשמור על הדברים בסיסיים היום ונרחיב את הפרויקט במדריך מאוחר יותר.
להלן פירוט הפרויקט:
- ה- Raspberry Pi ישמש כמוח ושער הפעולות - הוא יפעיל אפליקציית Node, קשורה למסד נתונים של מונגו, וישמש את הממשק הקדמי לכל דפדפן אינטרנט.
- ארדואינו, המופעל מה- Pi, יתממשק בין מתגי החשמל של בקרת הרדיו, לעת עתה.
לשם כך תצטרך:
- ארדואינו ופאי פטל
- כמה שקעים ושלטים בשלט רחוק (השתמשתי אלה)
- רכזת USB מופעלת
לפני שנתחיל, הנה סרטון הדגמה מיוצר הפרוייקט עצמו.
להתחיל מחדש
אנו נשתמש ב- Raspian לפרויקט זה 11 מערכות הפעלה הפועלות על פטל Pi שלךלא משנה מה פרוייקט ה- Raspberry Pi שלך, יש מערכת הפעלה עבורו. אנו עוזרים לך למצוא את מערכת ההפעלה Raspberry Pi הטובה ביותר לצרכים שלך. קרא עוד והמלצתי בחום להתחיל מהתקנה חדשה אם ביצעת בעבר פריצות אחרות וכאלה. הורד את האחרון דימוי רספני, העתק אותו לכרטיס ה- SD שלך, והקפד להרחיב את מערכת הקבצים ולהפעיל את SSH. שאר המדריך הזה מניח שעשית זאת, ומתחברים דרך SSH באמצעות משתמש ברירת המחדל.
אם עדיין לא עשית זאת, סרטון זה מסביר את תהליך הכנת כרטיס ה- SD במערכת ההפעלה X:
וזה למשתמשי Windows:
הכנה
תהליך ההתקנה הוא די מייגע, ומקורו בתהליך הוראות כאן. למרבה הצער, אלה היו מיושנים או לא תוכננו עבור Raspian, אז התאמתי אותם בכבדות למטה. את הקודים שלמטה ניתן לרוב להדביק בלוקים - אינך צריך להדביק בזה אחר זה. מכיוון שאנחנו מחברים כמה דברים על ה- Pi עצמו, הזהירו שכל התהליך הזה ייקח הרבה זמן. הייתי אומר לך תכין לעצמך כוס תה - אבל כשאני אומר "הרבה זמן", אני מתכוון לחלק הכי טוב ביום - אז 178 כוסות יהיו מתאימות יותר.
יש להקליד את כל הפקודות בטרמינל, וייתכן שתצטרך להקיש על Enter בנקודות מסוימות. הפקודות הראשונות הללו יעודכנו את המערכת ותתקין דרישות קדם:
עדכון sudo apt-get עדכון sudo apt-get. sudo apt-get להתקין סקייטים של git-core git-build scons חיוניים libpcre ++ - dev xulrunner-dev libboost-dev libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev.
הבא עלינו להתקין את הצומת:
sudo mkdir / opt / node. ווגט http://nodejs.org/dist/v0.10.2/node-v0.10.2-linux-arm-pi.tar.gz. tar xvzf node-v0.10.2-linux-arm-pi.tar.gz. sudo cp -r צומת-v0.10.2-linux-arm-pi / * / opt / node. sudo ln -s / opt / node / bin / node / usr / local / bin / node. sudo ln -s / opt / node / bin / npm / usr / local / bin / npm.
הוסף משתנה PATH לפרופיל שלך כך שמערכת ההפעלה תדע היכן ממוקם הצומת. השתמש בעורך הטקסטים של ננו באופן הבא:
sudo ננו / וכו '/ פרופיל.
אתר את הקו שאומר יצוא נתיב והחליף אותו ב:
NODE_JS_HOME = "/ opt / node" PATH = "$ PATH: $ NODE_JS_HOME / bin" יצוא נתיב.
לחץ על Ctrl-X כדי לצאת, ו- Y כדי לשמור.
יתכן שתצטרך להתנתק ולהיכנס שוב כדי ששינויי הנתיב ייכנסו לתוקף, אך אתה יכול לבדוק עם הפקודה:
איזה צומת.
אם לא תקבל פלט כלשהו שמצביע על ה- Bode בינארי, משהו השתבש.
מונגו
העבודה הבאה היא להתקין מונגו. מונגו הוא מסד נתונים מבוסס SQL מבוסס מסמכים המשמש יותר ויותר על ידי יישומי אינטרנט. לרוע המזל, ייקח לנצח התקנה מאחר ונצטרך להרכיב אותה. במהלך הפעלת הפקודות הבאות תקבלו הרבה שגיאות כמו:
{קלט רגיל}: 13085: אזהרה: swp {b} השימוש אינו מוגדר לארכיטקטורה זו.
אל תדאג לגבי אלה. אז הפעל את הפקודות האלה להתקנת מונגו:
git שיבוט git: //github.com/RickP/mongopi.git. מונגופי תקליטורים. scons. sudo scons --prefix = / opt / mongo להתקין scons -c.
כשתסיים את זה, אנו זקוקים תחילה לקצת יותר הגדרה כדי לפתור בעיות הרשאה ולוודא שהיא פועלת בעת ההפעלה.
sudo useradd mongodb -. sudo mkdir / data / dbb. Sudo chown $ USER / data / db. cd /etc/init.d. sudo wget -O mongodb https://gist.github.com/ni-c/fd4df404bda6e87fb718/raw/36d45897cd943fbd6d071c096eb4b71b37d0fcbb/mongodb.sh. sudo chmod + x mongodb. ברירות מחדל של sudo update-rc.d mongodb. מונגוד
פקודה אחרונה זו תפעיל את שרת המונגו ותצטרך לפתוח טרמינל חדש כדי להמשיך עם הפקודות האחרות. אני לא בטוח לגמרי בצעד הזה, כך שאם מישהו יכול לתקן זאת בתגובות כיצד להפעיל את mongod באופן אוטומטי בעת ההפעלה, זה יהיה מוערך מאוד. לעת עתה, זה עובד, פשוט לא באלגנטיות.
כיבוי sudo - עכשיו
לבסוף, הגיע הזמן להתקין את יישום הצומת Heimcontrol.js.
CD ~ פי. git clone git: //github.com/ni-c/heimcontrol.js.git. CD heimcontrol.js. npm התקנה.
אתה יכול להתחיל להפעיל את האפליקציה על ידי הקלדה
צומת heimcontrol.js.
בשלב זה, אתה אמור להיות מסוגל לגשת לממשק הבקרה עימו http://localhost: 8080 מה- Pi, או החלף את localhost בכתובת ה- IP אם אתה ניגש אליו ממחשב אחר (ואתה יכול גם הגדרת העברת יציאה מהי העברת נמל וכיצד זה יכול לעזור לי? [MakeUseOf מסביר]האם אתה בוכה קצת בפנים כשמישהו אומר לך שיש בעיה להעביר יציאה וזו הסיבה שהאפליקציה החדשה והמבריקה שלך לא תעבוד? ה- Xbox שלך לא יאפשר לך לשחק משחקים, הורדות הטורנט שלך מסרבות ... קרא עוד כדי לגשת אליו מכל מקום בעולם), אז אני ממליץ לך להתבונן ולבדוק שהכל עובד עם בסיס הנתונים לפני שאתה מצרף את הארדואינו.
חומרה
בסופו של דבר הייתי רוצה ממסר חוטי כניסה, אך לעת עתה אשתמש באפשרות הבטוחה יותר של מתגים בשליטה ברדיו.
השתמשתי בכמה סטים זולים בסך 20 ליש"ט מ- Maplin המגיעים עם 3 שקעים, ופתחתי את השלט כדי שאוכל להתממשק ישירות לשבב 433 מגה הרץ שבפנים. מצאתי את ההוראות לכך כאן.
אתה יכול גם לרכוש משדרים 433 מגה הרץ בודדים המוכנים לשימוש ב- eBay או מספקי אלקטרוניקה לתחביב. כל מה שצריך זה לחבר את ה- VCC ל- 5 V על הארדואינו, ה- GNDs, וסיכת בקרה יחידה - זכרו איזה מהם השתמשתם. (סכמטי מאת ווילי ת'יל)
התוסף פועל באמצעות שליחת "קודי טריסטייט", אך אלה משתנים בהתאם ליצרן. עיין בסעיף תיעוד RCSwitch כדי למצוא את הקודים המדויקים שלך. זה מדריך ויקי עשוי לעזור גם.
התקשורת עם הארדואינו נעשית באמצעות ספריית Node הנקראת דואינו. עצור את אפליקציית Heimcontrol אם היא פועלת והתקין את גשר Arduino באמצעות הפקודה הבאה.
npm התקן דואינו.
לארדואינו בטח קוד זה הועלה - אני מציע לך להעתיק ולהדביק כדי להתקין זאת ממחשב אחר. זו בעצם תוכנית מאזינים המגיבה לפקודות סדרתיות מה- Pi, אבל אין שום דבר שיכול למנוע ממך להרחיב אותה עם התכונות שלך.
עם השקת יישום האינטרנט, עבור אל הגדרות תפריט> ארדואינו.
משם אתה יכול להוסיף פריט חדש, לבחור בשיטת RCSwitch, סיכת המשדר שלך ואת קוד הכתובת tristate. זכור לשמור, ואז לחזור למסך הראשי של המסך עבור הכפתור החדש שלך.
באגים:
לאחר שעות רבות של ניפוי שגיאות בקוד, מצאתי שמספרי סיכות חד ספרתיים לא עובדים - וודא שהמשדר שלך ממוקם על הסיכה 10 כדי להיות בטוח.
מצאתי כי התוסף של ארדואינו מקודד קשיח עם קטעים סופיים שגויים עבור קודי הטריסטייט הדרושים למקלטים שלי. הסבר קטן ראשית: קודי טריסטייט מורכבים משלושה בתים של מידע. הראשון קובע לנו את מספר הרשת (1-4), והשני מספק את כתובת המשדר (שוב, 1-4, מייצר מקסימום 16 שקעים הניתנים לטיפול). הבייט הסופי מורכב משני ביטים של ריפוד, פלוס 2 ביטים למצב הפעלה / כיבוי. לרוע המזל, הבייט הסופי מקודד לתקן ארדואינו - ובמקרה שלי קוד ההפעלה / כיבוי לא היה נכון.
הייתי צריך לערוך ידנית את plugins / arduino / index.js להשתמש בקודים הנכונים. אם אתה משתמש באותם שקעי שלט רחוק כמוני, שנה את השורות 80 ואילך ל:
// שלח קוד RC. if (item.value) {להחזיר את that.pins [item.pin] .triState (item.code + "FFFF"); // לשנות מ- FF0F. } else {להחזיר את that.pins [item.pin] .triState (item.code + "FFF0"); // שינוי מ- FF00. }
הנה סרטון הדגמה של כל מה שעובד:
אני מתכוון להשאיר את זה כאן בשלב זה, אבל קריאות חיישנים ומערכות IR הן גם נתמך. סביר להניח שאחזור לבחון אותם במועד מאוחר יותר עם כמה שיפורים נוספים. אם כל זה היה קצת מורכב מדי בשבילך, אולי בדוק את אלה פרויקטים בארדואינו ידידותיים למתחילים 15 פרוייקטים ארדואינו נהדרים למתחיליםמתעניינים בפרויקטים של ארדואינו אבל לא בטוחים מאיפה להתחיל? פרויקטים מתחילים אלה ילמדו אותך איך להתחיל. קרא עוד .
ג'יימס הוא בעל תואר ראשון בבינה מלאכותית, והוא מוסמך CompTIA A + ו- Network +. הוא המפתח הראשי של MakeUseOf, ומבלה את זמנו הפנוי במשחקי פיינטבול VR ומשחקי לוח. הוא בנה מחשבים אישיים מאז שהיה ילד.