תוכן עניינים:
וִידֵאוֹ: RPi IoT אור חכם באמצעות Firebase: 4 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
מדריך זה מראה לך כיצד ליצור ולהגדיר אפליקציה לשליטה ב- Raspberry Pi באמצעות Firebase (מסד נתונים מקוון). ואז הדפסת תלת מימד למארז ל- Pi Zero W, Powerboost 1000C, סוללה ו- Blinkt !.
כדי להיות מסוגל לעקוב בקלות רבה ביותר, אני ממליץ להכיר את Xcode ו- Raspberry Pi.
ואם אתה אוהב את מה שאתה רואה, עקוב אחריי באינסטגרם ובטוויטר (@Anders644PI) כדי להתעדכן במה שאני עושה.
אתה תצטרך:
-
Raspberry Pi Zero W עם מתאמים וכותרות GPIO
(או ה- Pi Zero הרגיל עם דונגל WiFi)
- PowerBoost 1000 C
- סוללת ליתיום יון - 3.7v 2000mAh
- בלינק! (או כל pHAT/HAT, ש: אינו משתמש בסיכה 5 פיזית וכובעי הכובע צריכים להיות שטוחים בתחתית.)
- כרטיס Micro SD בנפח 8GB ומעלה, ועליו Raspbian Stretch (עם שולחן עבודה)
- מקלדת ועכבר (אבל אתה יכול גם להתחבר באמצעות ssh, אם אתה עכשיו איך)
- חיבור למסך או לטלוויזיה (או ssh!)
- ברגים גרוטאות
- חוטים קטנים
- מתג קטן וכפתור קטן
- מדפסת תלת מימד וסליל אחד מכל נימה PLA צבעונית וסליל אחד של PLA שקוף (או שתוכל להשתמש בשירות תלת מימד כמו 3D Hubs כדי להדפיס אותו עבורך)
שלב 1: Firebase ו- Xcode
ראשית נתקין את Firebase עם האפליקציה, כך שנוכל לתקשר מהאפליקציה ל- Pi.
אם אתה מתבלבל, אתה יכול לצפות בסרטון זה.
1. פתח את Xcode וצור פרוייקט Xcode חדש. בחר באפליקציית Single View וקרא לה RPiAppControl וודא כי השפה היא מהירה. הקש על הבא ושמור אותו.
2. העתק את מזהה החבילה שלך, מכיוון שנזדקק לזה מאוחר יותר.
3. ב- Firebase, היכנס באמצעות חשבון Google שלך ולחץ על עבור למסוף.
4. צור פרויקט חדש, וקרא לו RPiAppControl.
5. לחץ על הוסף Firebase לאפליקציית IOS שלך. הדבק את מזהה החבילה שלך ולחץ על הרשמת אפליקציה.
6. הורד את GoogleService-Info.plist וגרור אותו לפרויקט ה- Xcode שלך.
7. בחזרה ל- Firebase, לחץ על המשך. לאחר מכן פתח חלון מסוף ונווט למיקום של פרויקט ה- Xcode שלך.
8. הפעל פקודה זו:
pod init
9. פתח את ה- Podfile, ותחת use_frameworks!, הוסף שורה זו:
תרמיל 'Firebase/Core'
10. בחזרה לסוג הטרמינל: התקנת תרמיל וסגירת Xcode.
11. ב- Finder, נווט אל פרוייקט ה- Xcode שלך ופתח את קובץ ה-.xcworkspacef החדש שנוצר.
12. כאן עבור אל AppDelegate.swift, ותחת יבוא UIKit הוסף שורה זו:
לייבא Firebase
ובפונקציית היישום, הוסיפו שורה זו:
FIRApp.configure ().
13. בחזרה ל- Firebase, לחץ על המשך ולאחר מכן על סיום.
14. עבור אל מסד הנתונים, ולאחר מכן כללים, והגדר את ה- ".read" ו- ".write" כ- true. הקש PUBLISH.
15. חזרה ל- Xcode, פתח את ה- Podfile, ותחת השורה הראשונה שהגדרנו, הוסף זאת:
תרמיל 'Firebase/Database'
16. בחזרה למסוף, הפעל את התקנת התרמיל שוב.
שלב 2: סיום Xcode
כעת נסיים את הקוד והפריסה ב- Xcode.
זה משתמש ב- Xcode 9 וב- Swift 4
קוד עבור ViewController 1. בחלק העליון של ViewController, ותחת ייבוא UIKit, הוסף את זה:
לייבא Firebase
ייבא FirebaseDatabase
2. בתחתית ViewController, ותחת הפונקציה didReceiveMemoryWarning, העתק הדבק פונקציות אלה עבור כל כפתור:
func num1 (מצב: מחרוזת) {
let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}זכור לשנות את המספר (3. בתפקוד viewDidLoad, תחת super.viewDidLoad (), הכנס שורה זו לכל כפתור (בכפתורים מרובים, שנה רק את (המספר). ראה תמונה …):
num1 (מצב: "כבוי")
פריסת לוח ה- Main.story והכפתורים
1. עבור ללוח Main.story והכנס כמה כפתורים. אתה יכול לפרוס אותם כמוני, או להתאים אותם כרצונך.
2. חבר את הכפתורים באמצעות ה- ViewController. כל כפתור צריך להיות מחובר פעמיים: אחד כפעולה וכפתור UIB שנקרא num (number) Button, והשני כ- Outlet ברירת המחדל וקרא לו num (number) Color. לראות תמונה…
3. לאחר מכן, עבור כל הכפתורים, הדבק בשורה זו לכל אחת מהפונקציות:
אם self.num1Color.backgroundColor == UIColor.lightGray {// קובע את צבע הרקע ל- lightGray
num1 (מצב: "ON") // שולח את המצב: "ON" לבסיס האש self.num1Color.backgroundColor = UIColor (אדום: 0.96, ירוק: 0.41, כחול: 0.26, אלפא: 1.0) // מגדיר את צבע הרקע ל- אדמדם} אחר {num1 (מצב: "כבוי") // שולח את המצב: "כבוי" לבסיס האש self.num1Color.backgroundColor = UIColor.lightGray // קובע את צבע הרקע ל- lightGray}
עכשיו אתה אמור להיות מסוגל לבדוק את זה, על ידי הפעלת האפליקציה, וכאשר אתה לוחץ על הכפתורים, אתה אמור לראות את המצב משתנה, במאגר הנתונים בזמן אמת ב- Firebase.
נגיעות (אופציונלי)
1. הורד את התמונות למטה והכנס את LaunchScreen-image-j.webp
2. עבור אל Assets.xcassets ולאחר מכן AppIcon. כאן, מקם את גודל AppIcon המתאים.
שלב 3: הגדרת פטל פטל
כעת עלינו להתקין את ה- Pi עם Firebase, כדי שהאפליקציה תוכל לתקשר, לזרוק Firebase, אל ה- Pi.
לא כתבתי את הקוד, אך תוכל למצוא את הקוד המקורי כאן.
1. במסוף, הפעל את העדכונים הרגילים:
sudo apt-get update && sudo apt-get dist-upgrade
2. לאחר מכן נייבא את pyrebase (Firebase):
sudo pip התקן את pyrebase
sudo pip3 install pyrebase sudo pip3 install-שדרג google-auth-oauthlib
3. הורד כעת את ספריית Blinkt:
סלסול https://get.pimoroni.com/blinkt | לַחֲבוֹט
4. שיבוט את מאגר GitHub שלי:
שיבוט git https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. ערוך את AppRPiControl_Template.py:
nano RPiAppControl_Template.py
6. מלא את Firebase ApiKey ו- projectId שלך. תוכל למצוא אותם על ידי מעבר לפרויקט Firebase ולחיצה על הוסף עוד אפליקציה ולאחר מכן הוסף Firebase לאפליקציית האינטרנט שלך.
7. התאם אישית את הפונקציות ושמור את השינויים שלך על ידי הקשה על ctrl-o (enter) וסגור באמצעות ctrl-x.
8. עכשיו הפעל אותו עם:
sudo python3 RPiAppControl_Template.py
9. אם אתה משתמש ב- Blinkt, תוכל לנסות את הדוגמה כאשר מילאת את Firebase ApiKey ואת projectId:
דוגמאות CD
nano RPiAppControl_blinkt_demo.py
עכשיו הפעל אותו:
sudo python3 RPiAppControl_blinkt_demo.pyזכור כי לאחר הפעלת התסריט, לוקח כדקה להתכונן (לפחות ב- Pi Zero). ואת התסריט יש להריץ בפייתון 3
10. בונוס: אם אתה רוצה שהתסריט יפעל בעת אתחול, תוכל לגלות כיצד, כאן.
כפתור כיבוי/הפעלה
זה אופציונלי להתקין כפתור הפעלה, אבל אני ממליץ עליו. עקוב אחר סרטון זה כדי להגדיר אותו.
זכור כי הדבר משתמש בסיכה 5 פיזית ב- Pi, כך שחלק מהכובעים לא יעבדו.
שלב 4: מארז
מוּמלָץ:
שעון מעורר מופעל אור חכם: 8 שלבים (עם תמונות)
שעון מעורר מופעל אור חכם: בפרויקט זה אני אופנוע שעון מעורר שבור לגמרי. לוח השעון מוחלף ב -12 נוריות LED, המוארות בפס לד סביב שפת השעון. 12 נוריות הלדים מספרות את הזמן ורצועת הלד מתוכנתת לפעול כאזעקה, מסתובבת
אור ענן חכם LED: 11 שלבים (עם תמונות)
אור ענן חכם LED: זהו ענן חכם LED שניתן להרכיב עם כלים מינימליים. עם הבקר אתה יכול לעשות כל מיני דוגמאות ואפשרויות צבע. מכיוון שהנוריות ניתנות להתייחסות בנפרד (כל נורית יכולה להיות בצבע ו/או בהירות אחרת)
שעון מעורר חכם: שעון מעורר חכם המיוצר עם פטל פי: 10 שלבים (עם תמונות)
שעון מעורר חכם: שעון מעורר חכם המיוצר עם פטל פאי: האם אי פעם רצית שעון חכם? אם כן, זה הפתרון בשבילך! הכנתי שעון מעורר חכם, זהו שעון שתוכל לשנות את זמן ההתראה בהתאם לאתר. כאשר האזעקה תיגמר, ישמע צליל (זמזם) ושתי נורות יעיפו
אור אופניים בהיר מאוד באמצעות מחשבי לוח מותאמים אישית של לוח אור: 8 שלבים (עם תמונות)
אור אופניים בהיר מאוד באמצעות מחשבי לוח מותאם אישית של לוח אור: אם אתה בעל אופניים, אתה יודע עד כמה בורות לא נעימים יכולים להיות על הצמיגים והגוף שלך. הספיק לי לפוצץ את הצמיגים אז החלטתי לעצב פנל לד משלי מתוך כוונה להשתמש בו כמנורת אופניים. כזה שמתמקד בלהיות E
שינוי אור לילה באמצעות צבע באמצעות Ardruino 101: 4 שלבים (עם תמונות)
שינוי אור לילה באמצעות צבע באמצעות Ardruino 101: בפרויקט זה תכין מנורת לילה באמצעות ardruino, Adafruit neo rgb strips ומדפסת תלת מימד. שים לב כי זה בלתי ניתן להשגה הוא אך ורק לפרויקט בית הספר שלי. הקוד לפרויקט זה מבוסס על פרויקט אחר. עם זאת נאמר שאני לא אקס