Sadržaj:

RPi IoT Smart Light pomoću Firebasea: 4 koraka (sa slikama)
RPi IoT Smart Light pomoću Firebasea: 4 koraka (sa slikama)

Video: RPi IoT Smart Light pomoću Firebasea: 4 koraka (sa slikama)

Video: RPi IoT Smart Light pomoću Firebasea: 4 koraka (sa slikama)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Studeni
Anonim
RPi IoT Smart Light pomoću Firebasea
RPi IoT Smart Light pomoću Firebasea
RPi IoT Smart Light pomoću Firebasea
RPi IoT Smart Light pomoću Firebasea
RPi IoT Smart Light pomoću Firebasea
RPi IoT Smart Light pomoću Firebasea
RPi IoT Smart Light pomoću Firebasea
RPi IoT Smart Light pomoću Firebasea

Ovaj vodič pokazuje vam kako napraviti i postaviti aplikaciju za kontrolu Raspberry Pi putem Firebase -a (mrežne baze podataka). A zatim 3D ispis kućišta za Pi Zero W, Powerboost 1000C, bateriju i Blinkt !.

Da biste mogli najlakše pratiti, preporučujem da se upoznate s Xcode -om i Raspberry Pi -em.

A ako vam se sviđa ono što vidite, slijedite me na Instagramu i Twitteru (@Anders644PI) kako biste bili u toku s onim što radim.

Trebat će vam:

  • Raspberry Pi Zero W s adapterima i GPIO zaglavljima

    (ili obični Pi Zero s WiFi ključem)

  • PowerBoost 1000 C.
  • Litij -ionska baterija - 3,7 V 2000 mAh
  • Blinkt! (ili bilo koji pHAT/HAT, koji: ne koristi pin 5 fizički, a HAT bi trebali biti ravni na dnu.)
  • Micro SD kartica od 8 GB ili više, s Raspbian Stretch (sa radnom površinom) na njoj
  • Tipkovnica i miš (ali možete se povezati i putem ssh -a, ako sada znate kako)
  • Veza s monitorom ili televizorom (ili ssh!)
  • Vijci za otpad
  • Male žice
  • Mali prekidač i mali gumb
  • 3D pisač i jedna špula bilo koje boje PLA niti u boji, te jedna špula prozirnog PLA (ili biste za ispis mogli upotrijebiti 3D uslugu poput 3D Hubsa)

Korak 1: Firebase i Xcode

Firebase i Xcode
Firebase i Xcode
Firebase i Xcode
Firebase i Xcode
Firebase i Xcode
Firebase i Xcode

Prvo ćemo postaviti Firebase s aplikacijom, tako da možemo komunicirati iz aplikacije s Pi.

Ako ste zbunjeni, možete pogledati ovaj video.

1. Otvorite Xcode i napravite novi Xcode projekt. Odaberite aplikaciju Single View i nazovite je RPiAppControl te provjerite je li jezik Swift. Pritisnite Dalje i spremite je.

2. Kopirajte svoj identifikator paketa jer će nam to trebati kasnije.

3. U Firebase se prijavite sa svojim Google računom i kliknite Idi na konzolu.

4. Izradite novi projekt i nazovite ga RPiAppControl.

5. Pritisnite Dodaj Firebase u svoju IOS aplikaciju. Zalijepite svoj identifikator paketa i pritisnite Register App.

6. Preuzmite GoogleService-Info.plist i povucite ga u svoj Xcode projekt.

7. Natrag u Firebase, pritisnite Nastavi. Zatim otvorite prozor terminala i idite do lokacije vašeg Xcode projekta.

8. Pokrenite ovu naredbu:

pod init

9. Otvorite Podfile i pod use_frameworks!, dodaj ovaj redak:

pod 'Firebase/Core'

10. Vratite se na tip terminala: pod install, i zatvorite Xcode.

11. U Finderu idite na svoj Xcode projekt i otvorite novostvorenu.xcworkspacefile.

12. Ovdje idite na AppDelegate.swift, a pod import UIKit dodajte ovaj redak:

uvesti Firebase

I u application-function dodajte ovaj redak:

FIRApp.configure ().

13. Povratak u Firebase, kliknite Nastavi, a zatim Završi.

14. Idite na Database, zatim Rules i postavite ".read" i ".write" na true. Pritisnite OBJAVI.

15. Natrag na Xcode, otvorite Podfile i ispod prvog retka koji smo postavili dodajte ovo:

pod 'Firebase/Baza podataka'

16. Natrag u terminal, ponovno pokrenite pod install.

Korak 2: Dovršavanje Xcode -a

Završni Xcode
Završni Xcode
Završni Xcode
Završni Xcode
Završni Xcode
Završni Xcode

Sada ćemo završiti kôd i izgled u Xcode -u.

Ovo koristi Xcode 9 i Swift 4

Kôd za ViewController1. Na vrhu ViewControllera, a ispod uvoznog UIKita dodajte ovo:

uvesti Firebase

uvoz FirebaseDatabase

2. Na dnu ViewControllera, a ispod funkcije didReceiveMemoryWarning, kopirajte zalijepite ove funkcije za svaki gumb:

func num1 (stanje: String) {

neka ref = FIRDatabase.database (). reference () neka objavi: [String: Bilo koji] = ["stanje": stanje] ref.child ("num1"). setValue (post)}Ne zaboravite promijeniti (broj

3. U funkciji viewDidLoad, ispod super.viewDidLoad (), umetnite ovaj redak za svaki gumb (Za više gumba samo promijenite (broj). Pogledajte sliku …):

num1 (stanje: "OFF")

Izgled glavne.istorijske ploče i gumbi

1. Idite na Main.storyboard i unesite nekoliko gumba. Možete ih rasporediti kao ja ili ih prilagoditi kako želite.

2. Spojite gumbe s ViewControllerom. Svaki gumb potrebno je dvaput spojiti: jedan kao radnju i UIButton nazvan num (number) gumb, a drugi kao zadanu utičnicu i nazvati ga num (number) Color. Pogledajte sliku…

3. Zatim za sve gumbe zalijepite u ovaj redak svaku od funkcija:

if self.num1Color.backgroundColor == UIColor.lightGray {// Postavlja boju pozadine na lightGray

num1 (stanje: "ON") // Šalje stanje: "ON" firebase self.num1Color.backgroundColor = UIColor (crveno: 0,96, zeleno: 0,41, plavo: 0,26, alfa: 1,0) // Postavlja boju pozadine na reddish} else {num1 (state: "OFF") // Šalje stanje: "OFF" firebase self.num1Color.backgroundColor = UIColor.lightGray // Postavlja boju pozadine na lightGray}

Sada biste trebali moći to isprobati, pokretanjem aplikacije, a kad pritisnete gumbe, trebali biste vidjeti kako se stanje mijenja, u bazi podataka u stvarnom vremenu u Firebaseu.

Završni detalji (izborno)

1. Preuzmite donje slike i umetnite LaunchScreen-image-j.webp

2. Idite na Assets.xcassets, a zatim AppIcon. Ovdje postavite odgovarajuću AppIcon veličinu.

Korak 3: Postavljanje Raspberry Pi

Raspberry Pi postavljanje
Raspberry Pi postavljanje

Sada moramo postaviti Pi s Firebaseom, tako da aplikacija može komunicirati, baciti Firebase na Pi.

Nisam napisao kod, ali ovdje možete pronaći izvorni kod.

1. Na terminalu pokrenite uobičajena ažuriranja:

sudo apt-get update && sudo apt-get dist-upgrade

2. Zatim ćemo uvesti pyrebase (Firebase):

sudo pip install pyrebase

sudo pip3 install pyrebase sudo pip3 install --upgrade google-auth-oauthlib

3. Sada preuzmite Blinkt biblioteku:

curl https://get.pimoroni.com/blinkt | bash

4. Kloniraj moje spremište GitHub:

git klon https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Uredite AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Ispunite svoj Firebase ApiKey i projectId. To možete pronaći tako da odete na svoj Firebase projekt, kliknete Dodaj još jednu aplikaciju, a zatim Dodaj Firebase u svoju web -aplikaciju.

7. Prilagodite funkcije i spremite promjene pritiskom na ctrl-o (enter) i zatvorite s ctrl-x.

8. Sada ga pokrenite s:

sudo python3 RPiAppControl_Template.py

9. Zatim, ako koristite Blinkt, možete isprobati primjer kada ste ispunili svoj Firebase ApiKey i projectId:

cd primjeri

nano RPiAppControl_blinkt_demo.py

Sada ga pokrenite:

sudo python3 RPiAppControl_blinkt_demo.pyImajte na umu da nakon što pokrenete skriptu, potrebno je oko minute da se pripremite (Barem na Pi Zero). Skripta se mora izvoditi u pythonu 3

10. BONUS: Ako želite da se skripta pokreće pri pokretanju, ovdje možete saznati kako.

Gumb za isključivanje/uključivanje

Nije obavezno instalirati gumb za uključivanje, ali preporučujem ga. Slijedite ovaj video da biste ga postavili.

Imajte na umu da ovo koristi fizički pin 5 na Pi, pa neki HAT -ovi neće raditi.

Korak 4: Ograđivanje

Preporučeni: