جدول المحتويات:

RPi IoT Smart Light باستخدام Firebase: 4 خطوات (بالصور)
RPi IoT Smart Light باستخدام Firebase: 4 خطوات (بالصور)

فيديو: RPi IoT Smart Light باستخدام Firebase: 4 خطوات (بالصور)

فيديو: RPi IoT Smart Light باستخدام Firebase: 4 خطوات (بالصور)
فيديو: I built a smarter smart home 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.

وإذا أعجبك ما تراه ، فاتبعني على Instagram و Twitter (@ Anders644PI) لمواكبة ما أصنعه.

سوف تحتاج:

  • Raspberry Pi Zero W مع محولات ورؤوس GPIO

    (أو Pi Zero العادي مع دونجل WiFi)

  • PowerBoost 1000 درجة مئوية
  • بطارية ليثيوم أيون - 3.7 فولت 2000 مللي أمبير
  • وميض! (أو أي pHAT / HAT ، أي: لا يستخدم الدبوس 5 المادي ويجب أن تكون القبعات مسطحة في الأسفل.)
  • بطاقة Micro SD سعة 8 جيجابايت أو أعلى ، مع 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 ، وتأكد من أن اللغة هي Swift. اضغط على التالي ، واحفظه.

2. انسخ معرف الحزمة الخاص بك ، لأننا سنحتاجه لاحقًا.

3. في Firebase ، قم بتسجيل الدخول باستخدام حساب Google الخاص بك ، وانقر فوق "انتقال إلى وحدة التحكم".

4. قم بإنشاء مشروع جديد ، وأطلق عليه اسم RPiAppControl.

5. انقر فوق إضافة Firebase إلى تطبيق IOS. الصق معرف الحزمة الخاص بك ، واضغط على تسجيل التطبيق.

6. قم بتنزيل GoogleService-Info.plist ، واسحبه إلى مشروع Xcode الخاص بك.

7. بالعودة إلى Firebase ، اضغط على "متابعة". ثم افتح نافذة طرفية وانتقل إلى موقع مشروع Xcode الخاص بك.

8. قم بتشغيل هذا الأمر:

الحرف الأول

9. افتح ملف Podfile ، وتحت use_frameworks! ، أضف هذا السطر:

pod "Firebase / Core"

10. العودة إلى نوع الجهاز الطرفي: تثبيت الجراب ، وإغلاق Xcode.

11. في Finder ، انتقل إلى مشروع Xcode الخاص بك ، وافتح ملف.xcworkspace الذي تم إنشاؤه حديثًا.

12. انتقل هنا إلى AppDelegate.swift ، وتحت استيراد UIKit أضف هذا السطر:

استيراد Firebase

وفي وظيفة التطبيق ، أضف هذا السطر:

FIRApp.configure ().

13. مرة أخرى في Firebase ، انقر فوق "متابعة" ثم "إنهاء".

14. اذهب إلى قاعدة البيانات ، ثم القواعد ، واضبط ". قراءة" و ". كتابة" على "صواب". اضغط على PUBLISH.

15. بالعودة إلى Xcode ، افتح ملف Podfile ، وتحت السطر الأول الذي حددناه ، أضف هذا:

pod "Firebase / قاعدة البيانات"

16. مرة أخرى في المحطة ، قم بتشغيل pod install مرة أخرى.

الخطوة 2: إنهاء Xcode

إنهاء Xcode
إنهاء Xcode
إنهاء Xcode
إنهاء Xcode
إنهاء Xcode
إنهاء Xcode

سننتهي الآن من الكود والتخطيط في Xcode.

هذا يستخدم Xcode 9 و Swift 4

التعليمات البرمجية لـ ViewController1. في الجزء العلوي من ViewController ، وتحت استيراد UIKit ، أضف هذا:

استيراد Firebase

استيراد قاعدة بيانات Firebase

2. في الجزء السفلي من ViewController ، وتحت وظيفة didReceiveMemoryWarning ، انسخ والصق هذه الوظائف لكل زر:

func num1 (state: String) {

اسمح للمرجع = FIRDatabase.database (). Reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}تذكر تغيير (number

3. في وظيفة viewDidLoad ، تحت super.viewDidLoad () ، أدخل هذا السطر لكل زر (للأزرار المتعددة ، فقط قم بتغيير (الرقم). انظر الصورة …):

عدد 1 (الحالة: "إيقاف")

تخطيط لوحة القصة الرئيسية والأزرار

1. اذهب إلى Main.storyboard ، ثم أدخل بعض الأزرار. يمكنك تصميمها كما فعلت ، أو تخصيصها كما تريد.

2. قم بتوصيل الأزرار مع ViewController. يجب توصيل كل زر مرتين: أحدهما كإجراء و UIButton يسمى زر num (رقم) ، والآخر هو المنفذ الافتراضي ويطلق عليه رقم (رقم) اللون. انظر الصورة…

3. ثم بالنسبة لجميع الأزرار ، الصق هذا السطر لكل وظيفة من الوظائف:

if self.num1Color.backgroundColor == UIColor.lightGray {// يعين لون الخلفية على lightGray

num1 (state: "ON") // يرسل الحالة: "ON" إلى firebase self.num1Color.backgroundColor = UIColor (أحمر: 0.96 ، أخضر: 0.41 ، أزرق: 0.26 ، ألفا: 1.0) // يعين لون الخلفية على reddish} else {num1 (state: "OFF") // يرسل الحالة: "OFF" إلى firebase self.num1Color.backgroundColor = UIColor.lightGray // يعين لون الخلفية على lightGray}

الآن يجب أن تكون قادرًا على اختباره ، عن طريق تشغيل التطبيق ، وعندما تضغط على الأزرار ، يجب أن ترى حالته تتغير ، في Realtime Database in Firebase.

اللمسات الأخيرة (اختياري)

1. قم بتنزيل الصور أدناه ، وأدخل LaunchScreen-image-j.webp

2. انتقل إلى Assets.xcassets ثم AppIcon. هنا ، ضع في AppIcon المقابل -حجم.

الخطوة 3: إعداد Raspberry Pi

إعداد Raspberry Pi
إعداد Raspberry Pi

الآن يتعين علينا إعداد Pi مع Firebase ، حتى يتمكن التطبيق من التواصل ، ورمي Firebase ، إلى Pi.

لم أكتب الرمز ، لكن يمكنك العثور على الرمز الأصلي هنا.

1. في المحطة ، قم بتشغيل التحديثات المعتادة:

sudo apt-get update && sudo apt-get dist-Upgrade

2. ثم سنستورد pyrebase (Firebase):

sudo pip تثبيت pyrebase

sudo pip3 تثبيت pyrebase sudo pip3 install - ترقية google-auth-oauthlib

3. الآن قم بتنزيل مكتبة Blinkt:

حليقة https://get.pimoroni.com/blinkt | سحق

4. استنساخ مستودع GitHub الخاص بي:

بوابة استنساخ https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. قم بتحرير AppRPiControl_Template.py:

نانو RPiAppControl_Template.py

6. املأ Firebase ApiKey و projectId. يمكنك العثور عليها بالانتقال إلى مشروع Firebase الخاص بك ، والنقر فوق إضافة تطبيق آخر ثم إضافة Firebase إلى تطبيق الويب الخاص بك.

7. تخصيص الوظائف ، وحفظ التغييرات الخاصة بك عن طريق الضغط على ctrl-o (إدخال) وإغلاق باستخدام ctrl-x.

8. شغّله الآن باستخدام:

sudo python3 RPiAppControl_Template.py

9. إذا كنت تستخدم Blinkt ، فيمكنك تجربة المثال ، عندما تقوم بملء Firebase ApiKey و projectId:

أمثلة على القرص المضغوط

نانو RPiAppControl_blinkt_demo.py

الآن قم بتشغيله:

sudo python3 RPiAppControl_blinkt_demo.pyضع في اعتبارك أنه بعد تشغيل البرنامج النصي ، يستغرق الأمر حوالي دقيقة للاستعداد (على الأقل على Pi Zero). ويجب تشغيل النص بلغة بيثون 3

10. المكافأة: إذا كنت تريد تشغيل البرنامج النصي عند الإقلاع ، يمكنك معرفة كيفية ذلك ، هنا.

زر الاغلاق / الطاقة

إنه اختياري لتثبيت زر الطاقة ، لكنني أوصي به. تابع مع هذا الفيديو لإعداده.

ضع في اعتبارك أن هذا يستخدم رقم التعريف الشخصي 5 على Pi ، لذلك لن تعمل بعض القبعات.

الخطوة 4: الضميمة

موصى به: