جدول المحتويات:
فيديو: RPi IoT Smart Light باستخدام Firebase: 4 خطوات (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
يوضح لك هذا الدليل كيفية إنشاء تطبيق وإعداده للتحكم في 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 مع التطبيق ، حتى نتمكن من التواصل من التطبيق إلى 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 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
الآن يتعين علينا إعداد 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: الضميمة
موصى به:
نظام المراقبة المرئية القائم على LoRa للزراعة Iot - تصميم تطبيق ذو واجهة باستخدام Firebase & Angular: 10 خطوات
نظام المراقبة المرئية القائم على LoRa للزراعة Iot | تصميم تطبيق ذو واجهة باستخدام Firebase & Angular: في الفصل السابق ، تحدثنا عن كيفية عمل المستشعرات مع وحدة loRa لملء قاعدة بيانات Firebase Realtime ، ورأينا الرسم التخطيطي عالي المستوى حول كيفية عمل مشروعنا بالكامل. في هذا الفصل سنتحدث عن كيف يمكننا
Howto: تثبيت Raspberry PI 4 Headless (VNC) باستخدام Rpi-imager والصور: 7 خطوات (بالصور)
Howto: تثبيت Raspberry PI 4 Headless (VNC) باستخدام Rpi-imager والصور: أخطط لاستخدام Rapsberry PI في مجموعة من المشاريع الممتعة في مدونتي. لا تتردد في التحقق من ذلك. أردت العودة إلى استخدام Raspberry PI الخاص بي ولكن لم يكن لدي لوحة مفاتيح أو ماوس في موقعي الجديد. لقد مر وقت منذ أن قمت بإعداد Raspberry
كيفية صنع طائرة بدون طيار باستخدام Arduino UNO - اصنع مروحية كوادكوبتر باستخدام متحكم: 8 خطوات (بالصور)
كيفية صنع طائرة بدون طيار باستخدام Arduino UNO | اصنع طائرة كوادكوبتر باستخدام متحكم دقيق: مقدمة قم بزيارة My Youtube ChannelA Drone هي أداة باهظة الثمن (منتج) للشراء. في هذا المنشور سأناقشه ، كيف أجعله رخيصًا ؟؟ وكيف يمكنك أن تصنع بنفسك مثل هذا بسعر رخيص … حسنًا في الهند جميع المواد (المحركات ، ESCs
إعادة توظيف محرك الأقراص الضوئية باستخدام RPi: 6 خطوات (بالصور)
إعادة توظيف محرك الأقراص الضوئية باستخدام RPi: جاء هذا المشروع بعد أن بدأ محرك الأقراص الضوئية للكمبيوتر المحمول المحبوب في العمل بشكل سيء. كان درج الأقراص المضغوطة ينبثق بشكل متكرر كلما أعطيت جهاز الكمبيوتر المحمول دفعة أو حركته بأي شكل من الأشكال. كان تشخيصي للمشكلة أنه لابد أنه كان هناك بعض
إخطارات الأحداث في الوقت الفعلي باستخدام NodeMCU (Arduino) و Google Firebase و Laravel: 4 خطوات (بالصور)
إخطارات الأحداث في الوقت الفعلي باستخدام NodeMCU (Arduino) و Google Firebase و Laravel: هل أردت يومًا أن يتم إعلامك عندما يكون هناك إجراء على موقع الويب الخاص بك ولكن البريد الإلكتروني ليس مناسبًا؟ هل تريد سماع صوت أو جرس في كل مرة تقوم فيها بعملية بيع؟ أو هناك حاجة إلى اهتمامك الفوري بسبب ظهور