Spisu treści:

Inteligentne oświetlenie RPi IoT przy użyciu Firebase: 4 kroki (ze zdjęciami)
Inteligentne oświetlenie RPi IoT przy użyciu Firebase: 4 kroki (ze zdjęciami)

Wideo: Inteligentne oświetlenie RPi IoT przy użyciu Firebase: 4 kroki (ze zdjęciami)

Wideo: Inteligentne oświetlenie RPi IoT przy użyciu Firebase: 4 kroki (ze zdjęciami)
Wideo: INTELIGENTNY DOM NA NOWO | Wyrzucam RASPBERRY PI, ARDUINO i chińskie przekaźniki SSR 2024, Listopad
Anonim
Inteligentne oświetlenie RPi IoT przy użyciu Firebase
Inteligentne oświetlenie RPi IoT przy użyciu Firebase
Inteligentne oświetlenie RPi IoT przy użyciu Firebase
Inteligentne oświetlenie RPi IoT przy użyciu Firebase
Inteligentne oświetlenie RPi IoT za pomocą Firebase
Inteligentne oświetlenie RPi IoT za pomocą Firebase
Inteligentne oświetlenie RPi IoT przy użyciu Firebase
Inteligentne oświetlenie RPi IoT przy użyciu Firebase

Ten przewodnik pokazuje, jak utworzyć i skonfigurować aplikację do sterowania Raspberry Pi za pośrednictwem Firebase (bazy danych online). A potem drukowanie 3D obudowy dla Pi Zero W, Powerboost 1000C, baterii i Blinkt!.

Aby móc najłatwiej nadążać za postępem, polecam zapoznanie się z Xcode i Raspberry Pi.

A jeśli podoba Ci się to, co widzisz, śledź mnie na Instagramie i Twitterze (@Anders644PI), aby być na bieżąco z tym, co robię.

Będziesz potrzebować:

  • Raspberry Pi Zero W z adapterami i nagłówkami GPIO

    (lub zwykłe Pi Zero z kluczem WiFi)

  • PowerBoost 1000 C
  • Akumulator litowo-jonowy - 3,7 V 2000 mAh
  • Mrugnięcie! (lub jakikolwiek pHAT/HAT, który: nie używa fizycznego pinu 5, a kapelusze powinny być płaskie na dole.)
  • Karta Micro SD o pojemności 8 GB lub większej z funkcją Raspbian Stretch (z komputerem stacjonarnym)
  • Klawiatura i mysz (ale możesz też połączyć się przez ssh, jeśli wiesz jak)
  • Połączenie z monitorem lub telewizorem (lub ssh!)
  • Złom śrub
  • Małe przewody
  • Mały przełącznik i mały przycisk
  • Drukarka 3D i jedna szpula dowolnego kolorowego filamentu PLA i jedna szpula przezroczystego PLA (lub możesz użyć usługi 3D, takiej jak 3D Hubs, aby wydrukować to za Ciebie)

Krok 1: Firebase i Xcode

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

Najpierw skonfigurujemy Firebase z aplikacją, abyśmy mogli komunikować się z aplikacji do Pi.

Jeśli się zdezorientujesz, możesz obejrzeć ten film.

1. Otwórz Xcode i utwórz nowy projekt Xcode. Wybierz aplikację Single View i nazwij ją RPiAppControl i upewnij się, że językiem jest Swift. Naciśnij Dalej i zapisz go.

2. Skopiuj swój identyfikator pakietu, ponieważ będziemy go później potrzebować.

3. W Firebase zaloguj się na swoje konto Google i kliknij Przejdź do konsoli.

4. Utwórz nowy projekt i nazwij go RPiAppControl.

5. Kliknij Dodaj Firebase do swojej aplikacji IOS. Wklej swój identyfikator pakietu i naciśnij Zarejestruj aplikację.

6. Pobierz plik GoogleService-Info.plist i przeciągnij go do swojego projektu Xcode.

7. Wróć do Firebase i naciśnij Kontynuuj. Następnie otwórz okno terminala i przejdź do lokalizacji swojego projektu Xcode.

8. Uruchom to polecenie:

pod init

9. Otwórz plik Podfile i pod use_frameworks!, dodaj ten wiersz:

pod „Firebase/Rdzeń”

10. Wróć do terminala wpisz: pod install i zamknij Xcode.

11. W Finderze przejdź do swojego projektu Xcode i otwórz nowo utworzony plik.xcworkspace.

12. W tym miejscu przejdź do AppDelegate.swift i pod importem UIKit dodaj ten wiersz:

importuj Firebase

A w funkcji aplikacji dodaj tę linię:

FIRApp.configure().

13. Wróć do Firebase, kliknij Kontynuuj, a następnie Zakończ.

14. Przejdź do Bazy danych, następnie Reguły i ustaw ".read" i ".write" na true. Naciśnij OPUBLIKUJ.

15. Wróć do Xcode, otwórz plik Podfile i pod pierwszą linią, którą ustawiliśmy, dodaj to:

pod 'Baza danych/baza danych'

16. Wróć do terminala, uruchom ponownie instalację pod.

Krok 2: Kończenie Xcode

Wykończenie Xcode
Wykończenie Xcode
Wykończenie Xcode
Wykończenie Xcode
Wykończenie Xcode
Wykończenie Xcode

Dokończymy teraz kod i układ w Xcode.

To jest przy użyciu Xcode 9 i Swift 4

Kod dla ViewController1. W górnej części ViewController i pod importem UIKit dodaj to:

importuj Firebase

importuj bazę danych Firebase

2. Na dole ViewController i pod funkcją didReceiveMemoryWarning skopiuj i wklej te funkcje dla każdego przycisku:

func num1(stan: ciąg){

let ref = FIRDatabase.database().reference() let post: [String: Any] = ["stan": stan] ref.child("num1").setValue(post) }Pamiętaj, aby zmienić (numer

3. W funkcji viewDidLoad, pod super.viewDidLoad(), wstaw ten wiersz dla każdego przycisku (dla wielu przycisków, po prostu zmień (liczbę). Zobacz rysunek…):

num1(stan: "OFF")

Układ Main.storyboard i przycisków

1. Przejdź do Main.storyboard i umieść kilka przycisków. Możesz je układać tak, jak ja, lub dostosowywać je według własnego uznania.

2. Połącz przyciski z ViewControllerem. Każdy przycisk należy połączyć dwa razy: jeden jako akcję i UIButton o nazwie num(number)Button, a drugi jako domyślny Outlet i nazwać go num(number)Color. Widzieć zdjęcie…

3. Następnie dla wszystkich przycisków wklej w tej linii do każdej z funkcji:

if self.num1Color.backgroundColor == UIColor.lightGray { // Ustawia kolor tła na lightGray

num1(state: "ON") // Wysyła stan: "ON" do firebase self.num1Color.backgroundColor = UIColor(red:0.96, green:0.41, blue:0.26, alpha:1.0) // Ustawia kolor tła na czerwonawy } else { num1(state: "OFF") // Wysyła stan: "OFF" do firebase self.num1Color.backgroundColor = UIColor.lightGray // Ustawia kolor tła na lightGray }

Teraz powinieneś móc ją przetestować, uruchamiając aplikację, a po naciśnięciu przycisków powinieneś zobaczyć, jak zmienia się stan w Bazie danych czasu rzeczywistego w Firebase.

Wykończenie (opcjonalnie)

1. Pobierz poniższe obrazy i wstaw LaunchScreen-image-j.webp

2. Przejdź do Assets.xcassets, a następnie AppIcon. Tutaj umieść w odpowiednim rozmiarze AppIcon.

Krok 3: Konfiguracja Raspberry Pi

Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi

Teraz musimy skonfigurować Pi z Firebase, aby aplikacja mogła się komunikować, rzucać Firebase do Pi.

Nie napisałem kodu, ale oryginalny kod możesz znaleźć tutaj.

1. W terminalu uruchom zwykłe aktualizacje:

sudo apt-get aktualizacja && sudo apt-get dist-upgrade

2. Następnie zaimportujemy pyrebase (Firebase):

sudo pip zainstaluj pyrebase

sudo pip3 zainstaluj pyrebase sudo pip3 zainstaluj -- uaktualnij google-auth-oauthlib

3. Teraz pobierz bibliotekę Blinkt:

curl https://get.pimoroni.com/blinkt | grzmotnąć

4. Sklonuj moje repozytorium GitHub:

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

5. Edytuj plik AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Wpisz swój Firebase ApiKey i projectId. Możesz je znaleźć, przechodząc do projektu Firebase i klikając Dodaj kolejną aplikację, a następnie Dodaj Firebase do swojej aplikacji internetowej.

7. Dostosuj funkcje i zapisz zmiany, naciskając ctrl-o (enter) i zamknij ctrl-x.

8. Teraz uruchom go z:

sudo python3 RPiAppControl_Template.py

9. Następnie, jeśli używasz Blinkta, możesz wypróbować przykład, gdy wypełniłeś swój Firebase ApiKey i projectId:

przykłady cd

nano RPiAppControl_blinkt_demo.py

Teraz uruchom go:

sudo python3 RPiAppControl_blinkt_demo.pyPamiętaj, że po uruchomieniu skryptu przygotowanie zajmuje około minuty (przynajmniej na Pi Zero). A skrypt trzeba uruchomić w Pythonie 3

10. BONUS: Jeśli chcesz, aby skrypt działał podczas rozruchu, możesz dowiedzieć się, jak to zrobić, tutaj.

Przycisk wyłączania/zasilania

Zainstalowanie przycisku zasilania jest opcjonalne, ale polecam. Śledź ten film, aby go skonfigurować.

Pamiętaj, że używa to fizycznego pinu 5 na Pi, więc niektóre kapelusze nie będą działać.

Krok 4: Załącznik

Zalecana: