فهرست مطالب:
تصویری: RPi IoT Smart Light با استفاده از Firebase: 4 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
این راهنما نحوه ساخت و راه اندازی برنامه ای برای کنترل رزبری پای از طریق Firebase (پایگاه داده آنلاین) را به شما نشان می دهد. و سپس چاپ سه بعدی یک کیف برای Pi Zero W ، یک Powerboost 1000C ، یک باتری و یک Blinkt !.
برای اینکه بتوانید راحت ترین راه را دنبال کنید ، توصیه می کنم با Xcode و Raspberry Pi آشنا باشید.
و اگر از آنچه می بینید خوشتان آمده است ، من را در اینستاگرام و توییتر (@Anders644PI@) دنبال کنید تا با آنچه من می سازم ادامه دهید.
شما نیاز خواهید داشت:
-
Raspberry Pi Zero W با آداپتورها و هدرهای GPIO
(یا Pi Zero معمولی با دانگل WiFi)
- یک PowerBoost 1000 درجه سانتی گراد
- یک باتری لیتیوم یون - 3.7 ولت 2000 میلی آمپر ساعت
- یک بلینکت! (یا هر PHAT/HAT ، که: از پین 5 فیزیکی استفاده نمی کند و HAT باید در قسمت پایین صاف باشد.)
- کارت حافظه Micro SD 8 گیگابایت یا بالاتر ، با Raspbian Stretch (با دسکتاپ) روی آن
- یک صفحه کلید و یک موس (اما اگر می دانید چگونه می توانید از طریق ssh متصل شوید)
- اتصال به مانیتور یا تلویزیون (یا ssh!)
- پیچ های قراضه ای
- سیمهای کوچک
- یک سوئیچ کوچک و یک دکمه کوچک
- یک چاپگر سه بعدی و یک قرقره از هر رشته رشته PLA ، و یک قرقره از PLA شفاف (یا می توانید از یک سرویس سه بعدی مانند 3D Hubs برای چاپ آن برای شما استفاده کنید)
مرحله 1: Firebase و Xcode
ابتدا Firebase را با برنامه راه اندازی می کنیم ، بنابراین می توانیم از برنامه به Pi ارتباط برقرار کنیم.
اگر گیج شدید ، می توانید این ویدیو را تماشا کنید.
1. Xcode را باز کرده و یک پروژه Xcode جدید بسازید. برنامه Single View را انتخاب کرده و آن را RPiAppControl بنامید و مطمئن شوید که زبان Swift است. Next را فشار دهید و آن را ذخیره کنید.
2. شناسه بسته نرم افزاری خود را کپی کنید ، زیرا بعداً به آن نیاز خواهیم داشت.
3. در Firebase ، با حساب Google خود وارد شوید و روی Go to console کلیک کنید.
4. یک پروژه جدید ایجاد کنید و آن را RPiAppControl بنامید.
5. روی Add Firebase to IOS App خود کلیک کنید. شناسه بسته را بچسبانید و Register App را فشار دهید.
6. GoogleService-Info.plist را بارگیری کرده و آن را به پروژه Xcode خود بکشید.
7. در Firebase ، Continue را فشار دهید. سپس پنجره ترمینال را باز کرده و به محل پروژه Xcode خود بروید.
8. این دستور را اجرا کنید:
pod init
9. Podfile را باز کرده و در زیر use_frameworks قرار دهید! ، این خط را اضافه کنید:
غلاف "Firebase/Core"
10. به نوع ترمینال برگردید: pod install ، و Xcode را ببندید.
11. در Finder ، به پروژه Xcode خود بروید و.xcworkspacefile تازه ایجاد شده را باز کنید.
12. در اینجا به AppDelegate.swift بروید و زیر وارد کردن UIKit این خط را اضافه کنید:
وارد کردن Firebase
و در برنامه کاربردی ، این خط را اضافه کنید:
FIRApp.configure ().
13. بازگشت به Firebase ، روی ادامه و سپس پایان کلیک کنید.
14. به Database ، سپس Rules بروید و ".read" و ".write" را روی true تنظیم کنید. PUBLISH را فشار دهید.
15. در Xcode ، Podfile را باز کنید و در زیر اولین خطی که قرار داده ایم ، این را اضافه کنید:
غلاف "Firebase/Database"
16. به ترمینال برگردید ، pod install را دوباره اجرا کنید.
مرحله 2: تکمیل Xcode
اکنون کد و طرح بندی را در Xcode به پایان می بریم.
این از Xcode 9 و Swift 4 استفاده می کند
کد ViewController1. در بالای ViewController و در زیر UIKit وارد کردن ، این را اضافه کنید:
وارد کردن Firebase
وارد کردن FirebaseDatabase
2. در پایین ViewController ، و زیر عملکرد didReceiveMemoryWarning ، این عملکردها را برای هر دکمه کپی کنید:
func num1 (حالت: رشته) {
let ref = FIRDatabase.database (). مرجع () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}به یاد داشته باشید که (شماره) را تغییر دهید
3. در عملکرد viewDidLoad ، در super.viewDidLoad () ، این خط را برای هر دکمه وارد کنید (برای دکمه های متعدد ، فقط (شماره) را تغییر دهید. تصویر را ببینید …):
num1 (حالت: "خاموش")
چیدمان صفحه اصلی. استوری بورد و دکمه ها
1. به Main.storyboard بروید و چند دکمه در آن قرار دهید. می توانید آنها را مانند من طرح بندی کنید ، یا آنها را به دلخواه سفارشی کنید.
2. دکمه ها را با ViewController وصل کنید. هر دکمه باید دوبار متصل شود: یکی به عنوان یک عمل و UIButton به نام num (number) Button و دیگری به عنوان Outlet پیش فرض و شماره (شماره) Color نامیده می شود. مشاهده تصویر…
3. سپس برای همه دکمه ها ، در این خط به هر یک از توابع بچسبانید:
if self.num1Color.backgroundColor == UIColor.lightGray {// رنگ پس زمینه را بر روی روشن خاکستری تنظیم می کند
num1 (حالت: "ON") // حالت: "ON" را به firebase self.num1Color.backgroundColor = UIColor (قرمز: 0.96 ، سبز: 0.41 ، آبی: 0.26 ، آلفا: 1.0) ارسال می کند // رنگ پس زمینه را به reddish} else {num1 (حالت: "OFF") // حالت: "OFF" را به firebase self.num1Color.backgroundColor = UIColor.lightGray // رنگ پس زمینه را به lightGray} تنظیم می کند}
اکنون باید بتوانید آن را با اجرای برنامه آزمایش کنید و وقتی دکمه ها را فشار می دهید ، باید وضعیت آن را تغییر دهید ، در پایگاه داده Realtime در Firebase.
مراحل نهایی (اختیاری)
1. تصاویر زیر را بارگیری کرده و LaunchScreen-image-j.webp
2. به Assets.xcassets و سپس AppIcon بروید. در اینجا ، در AppIcon -size مربوطه قرار دهید.
مرحله 3: راه اندازی رزبری پای
اکنون باید Pi را با Firebase تنظیم کنیم ، بنابراین برنامه می تواند ارتباط برقرار کند ، Firebase را به Pi منتقل کند.
من کد را ننوشتم ، اما می توانید کد اصلی را در اینجا پیدا کنید.
1. در ترمینال ، به روز رسانی های معمول را اجرا کنید:
sudo apt-get update && sudo apt-get dist-upgrade
2. سپس pyrebase (Firebase) را وارد می کنیم:
sudo pip install pyrebase
sudo pip3 install pyrebase sudo pip3 install --upgrade google-auth-oauthlib
3. اکنون کتابخانه Blinkt را بارگیری کنید:
پیچ خوردن https://get.pimoroni.com/blinkt | خراب کردن
4. مخزن GitHub من را کلون کنید:
git clone 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 خود را پر کرده اید:
نمونه های سی دی
nano RPiAppControl_blinkt_demo.py
حالا آن را اجرا کنید:
sudo python3 RPiAppControl_blinkt_demo.pyبه خاطر داشته باشید که پس از اجرای اسکریپت ، آماده شدن آن حدود یک دقیقه طول می کشد (حداقل روی Pi Zero). و اسکریپت باید در پایتون 3 اجرا شود
10. BONUS: اگر می خواهید اسکریپت در بوت اجرا شود ، می توانید نحوه انجام آن را در اینجا بیابید.
دکمه خاموش/خاموش
نصب دکمه پاور اختیاری است ، اما من آن را توصیه می کنم. با این ویدئو همراه باشید تا تنظیم شود.
به خاطر داشته باشید که این از پین فیزیکی 5 در Pi استفاده می کند ، بنابراین برخی از HAT ها کار نمی کنند.
مرحله 4: محوطه سازی
توصیه شده:
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: 7 مرحله (همراه با تصاویر)
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: من قصد دارم از این Rapsberry PI در چندین پروژه سرگرم کننده در وبلاگم استفاده کنم. به راحتی آن را بررسی کنید. من می خواستم دوباره به استفاده از Raspberry PI بپردازم ، اما در مکان جدیدم صفحه کلید یا موس نداشتم. مدتی بود که من یک تمشک راه اندازی کردم
نحوه ساخت هواپیمای بدون سرنشین با استفاده از Arduino UNO - ساخت کوادکوپتر با استفاده از میکروکنترلر: 8 مرحله (همراه با تصاویر)
نحوه ساخت هواپیمای بدون سرنشین با استفاده از Arduino UNO | ساخت کوادکوپتر با استفاده از میکروکنترلر: مقدمه دیدن کانال یوتیوب من یک پهپاد یک ابزار (محصول) بسیار گران قیمت برای خرید است. در این پست من قصد دارم در مورد اینکه چگونه آن را با قیمت ارزان تهیه کنم بحث کنم؟ و چگونه می توانید چنین چیزی را با قیمت ارزان تهیه کنید … خوب در هند همه مواد (موتورها ، ESC ها
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو - Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر - هلیکوپتر Rc - Rc Plane با استفاده از آردوینو: 5 مرحله (همراه با تصاویر)
ریموت بی سیم با استفاده از ماژول NRF24L01 2.4 گیگاهرتز با آردوینو | Nrf24l01 گیرنده فرستنده 4 کانال / 6 کانال برای کوادکوپتر | هلیکوپتر Rc | Rc Plane با استفاده از آردوینو: برای کار با ماشین Rc | کوادکوپتر | هواپیمای بدون سرنشین | هواپیمای RC | قایق RC ، ما همیشه به گیرنده و فرستنده نیاز داریم ، فرض کنید برای RC QUADCOPTER به فرستنده و گیرنده 6 کاناله نیاز داریم و این نوع TX و RX بسیار پرهزینه است ، بنابراین ما یکی از آنها را در دستگاه خود تهیه می کنیم
استفاده مجدد از درایو نوری با RPi: 6 مرحله (همراه با تصاویر)
استفاده مجدد از درایو نوری با RPi: این پروژه پس از عملکرد نادرست درایو نوری لپ تاپ محبوب من به وجود آمد. هر وقت به لپ تاپ خود فشار می دادم یا به هر نحوی آن را جابجا می کردم ، سینی سی دی بارها بیرون می آمد. تشخیص من در مورد مشکل این بود که حتماً مواردی وجود داشته است
اعلان های رویداد بیدرنگ با استفاده از NodeMCU (Arduino) ، Google Firebase و Laravel: 4 مرحله (همراه با تصاویر)
اعلان های رویداد بیدرنگ با استفاده از NodeMCU (Arduino) ، Google Firebase و Laravel: آیا تا به حال خواسته اید وقتی در وب سایت شما اقدامی انجام می شود اما ایمیل مناسب نیست به شما اطلاع داده شود؟ آیا می خواهید هر بار که فروش می کنید یک صدا یا زنگ بشنوید؟ یا به دلیل بروز یک فوریت نیاز به توجه فوری شما دارد