جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
يوضح لك هذا الدليل كيفية إنشاء تطبيق وإعداده للتحكم في 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 ، لذلك لن تعمل بعض القبعات.