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

RPi IoT אור חכם באמצעות Firebase: 4 שלבים (עם תמונות)
RPi IoT אור חכם באמצעות Firebase: 4 שלבים (עם תמונות)

וִידֵאוֹ: RPi IoT אור חכם באמצעות Firebase: 4 שלבים (עם תמונות)

וִידֵאוֹ: RPi IoT אור חכם באמצעות Firebase: 4 שלבים (עם תמונות)
וִידֵאוֹ: Moes ZLD-RCW - Zigbee контроллер Tuya Smart для RGB+CCT LED лент, работа с Home Assistant 2024, יולי
Anonim
RPi IoT Smart Light באמצעות Firebase
RPi IoT Smart Light באמצעות Firebase
RPi IoT Smart Light באמצעות Firebase
RPi IoT Smart Light באמצעות Firebase
RPi IoT Smart Light באמצעות Firebase
RPi IoT Smart Light באמצעות Firebase
RPi IoT Smart Light באמצעות Firebase
RPi IoT Smart Light באמצעות Firebase

מדריך זה מראה לך כיצד ליצור ולהגדיר אפליקציה לשליטה ב- 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 ו- Xcode
Firebase ו- Xcode
Firebase ו- Xcode
Firebase ו- Xcode
Firebase ו- Xcode
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 מסיים
Xcode מסיים
Xcode מסיים
Xcode מסיים
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: מארז

מוּמלָץ: