Sadržaj:

RPi IoT Smart Light pomoću Firebase -a: 4 koraka (sa slikama)
RPi IoT Smart Light pomoću Firebase -a: 4 koraka (sa slikama)

Video: RPi IoT Smart Light pomoću Firebase -a: 4 koraka (sa slikama)

Video: RPi IoT Smart Light pomoću Firebase -a: 4 koraka (sa slikama)
Video: Smart Lighting System using ThingSpeak IoT Cloud and Raspberry Pi 2024, Juli
Anonim
RPi IoT Smart Light pomoću Firebase -a
RPi IoT Smart Light pomoću Firebase -a
RPi IoT Smart Light pomoću Firebase -a
RPi IoT Smart Light pomoću Firebase -a
RPi IoT Smart Light pomoću Firebase -a
RPi IoT Smart Light pomoću Firebase -a
RPi IoT Smart Light pomoću Firebase -a
RPi IoT Smart Light pomoću Firebase -a

Ovaj vodič vam pokazuje 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 sa onim što radim.

Trebat će vam:

  • Raspberry Pi Zero W sa adapterima i GPIO zaglavljima

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

  • PowerBoost 1000 C
  • Litijum -jonska baterija - 3.7v 2000mAh
  • A 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, sa Raspbian Stretch (sa radnom površinom) na njoj
  • Tastatura i miš (ali možete se povezati i preko ssh -a, ako sada znate kako)
  • Veza sa monitorom ili televizorom (ili ssh!)
  • Vijci za otpad
  • Male žice
  • Mali prekidač i malo dugme
  • 3D štampač i jedna kalemarica bilo koje boje PLA niti, i jedna kalema prozirne PLA (ili možete koristiti 3D uslugu poput 3D Hub -a za štampanje umjesto vas)

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 na 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 i 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. Kreirajte novi projekt i nazovite ga RPiAppControl.

5. Kliknite Dodaj Firebase u svoju IOS aplikaciju. Zalijepite svoj Bundle Identifier i pritisnite Register App.

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

7. Vratite se 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!, dodajte ovaj red:

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 ovu liniju:

uvoz Firebase

I u application-function dodajte ovaj redak:

FIRApp.configure ().

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

14. Idite na Bazu podataka, zatim Pravila i postavite ".read" i ".write" na true. Pritisnite OBJAVI.

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

pod 'Firebase/Baza podataka'

16. Nazad u terminalu, ponovo 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:

uvoz Firebase

uvoz FirebaseDatabase

2. Na dnu ViewControllera, a ispod funkcije didReceiveMemoryWarning, kopirajte zalijepite ove funkcije za svako dugme:

func num1 (stanje: String) {

neka ref = FIRDatabase.database (). referenca () 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 red za svako dugme (Za više dugmadi samo promijenite (broj). Pogledajte sliku …):

num1 (stanje: "OFF")

Izgled glavne ploče i dugmadi

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

2. Povežite dugmad sa ViewControllerom. Svako dugme potrebno je dvaput spojiti: jedno kao radnju i UIButto dugme koje se naziva dugme broj (broj), a drugo kao zadanu utičnicu i nazovite ga broj (broj) Boja. Pogledajte sliku…

3. Zatim za sve tipke 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 kada pritisnete tipke, trebali biste vidjeti kako se stanje mijenja, u bazi podataka u stvarnom vremenu u Firebaseu.

Završni detalji (opcionalno)

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

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

Korak 3: Postavljanje Raspberry Pi

Raspberry Pi Setup
Raspberry Pi Setup

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

Nisam napisao kod, ali ovdje možete pronaći originalni 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 GitHub spremište:

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

5. Uredite AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Popunite svoj Firebase ApiKey i projectId. Možete ih pronaći ako odete na svoj Firebase projekt, kliknete Dodaj još jednu aplikaciju, a zatim dodate Firebase u svoju web aplikaciju.

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

8. Sada ga pokrenite sa:

sudo python3 RPiAppControl_Template.py

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

cd primjeri

nano RPiAppControl_blinkt_demo.py

Sada ga pokrenite:

sudo python3 RPiAppControl_blinkt_demo.pyImajte na umu da je nakon pokretanja skripte potrebno oko minute da se pripremi (barem na Pi Zero). Skripta mora biti pokrenuta u pythonu 3

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

Dugme za isključivanje/uključivanje

Nije obavezno instalirati dugme za uključivanje, ali preporučujem ga. Pratite ovaj video za postavljanje.

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

Korak 4: Ograđivanje

Preporučuje se: