Obsah:
Video: Inteligentní světlo RPi IoT pomocí Firebase: 4 kroky (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Tato příručka vám ukáže, jak vytvořit a nastavit aplikaci pro ovládání Raspberry Pi prostřednictvím Firebase (online databáze). A pak 3D tisk pouzdra na Pi Zero W, Powerboost 1000C, baterii a Blinkt !.
Abyste mohli co nejsnadněji sledovat, doporučuji znát Xcode a Raspberry Pi.
A pokud se vám líbí to, co vidíte, sledujte mě na Instagramu a Twitteru (@Anders644PI), abyste udrželi krok s tím, co dělám.
Budete potřebovat:
-
Raspberry Pi Zero W s adaptéry a hlavičkami GPIO
(nebo obyčejný Pi Zero s WiFi donglem)
- PowerBoost 1000 C.
- Lithium -iontová baterie - 3,7 V, 2000 mAh
- Blinkt! (nebo jakýkoli pHAT/HAT, který: nepoužívá fyzický pin 5 a HAT by měl být plochý na dně.)
- Micro SD karta 8 GB nebo vyšší, s Raspbian Stretch (s desktopem)
- Klávesnice a myš (ale můžete se také připojit přes ssh, pokud teď víte, jak)
- Připojení k monitoru nebo televizi (nebo ssh!)
- Šrotové šrouby
- Malé dráty
- Malý spínač a malé tlačítko
- 3D tiskárna a jedna cívka jakéhokoli barevného vlákna PLA a jedna cívka transparentního PLA (nebo můžete k tisku použít 3D službu, jako je 3D Hubs)
Krok 1: Firebase a Xcode
Nejprve nastavíme Firebase s aplikací, abychom mohli komunikovat z aplikace do Pi.
Pokud jste zmatení, můžete se podívat na toto video.
1. Otevřete Xcode a vytvořte nový projekt Xcode. Vyberte aplikaci Single View a nazvejte ji RPiAppControl a ujistěte se, že je jazykem Swift. Stiskněte tlačítko Další a uložte jej.
2. Zkopírujte svůj identifikátor balíčku, protože ten budeme později potřebovat.
3. Ve Firebase se přihlaste pomocí svého účtu Google a klikněte na Přejít do konzoly.
4. Vytvořte nový projekt a pojmenujte ho RPiAppControl.
5. Klikněte na Přidat Firebase do vaší aplikace IOS. Vložte svůj identifikátor balíčku a stiskněte Registrovat aplikaci.
6. Stáhněte si GoogleService-Info.plist a přetáhněte jej do projektu Xcode.
7. Zpět na Firebase stiskněte Pokračovat. Poté otevřete okno terminálu a přejděte na umístění projektu Xcode.
8. Spusťte tento příkaz:
pod init
9. Otevřete Podfile a pod use_frameworks!, přidejte tento řádek:
pod 'Firebase/Core'
10. Zpět do typu terminálu: instalace pod a zavřete Xcode.
11. V aplikaci Finder přejděte na svůj projekt Xcode a otevřete nově vytvořený soubor.xcworkspacefile.
12. Zde přejděte na AppDelegate.swift a pod importem UIKit přidejte tento řádek:
importovat Firebase
A do funkce aplikace přidejte tento řádek:
FIRApp.configure ().
13. V Firebase klikněte na Pokračovat a poté na Dokončit.
14. Přejděte do databáze, poté na pravidla a nastavte „.read“a „.write“na hodnotu true. Stiskněte PUBLIKOVAT.
15. Zpět na Xcode, otevřete Podfile a pod první řádek, který jsme nastavili, přidejte toto:
pod 'Firebase/Database'
16. Vraťte se zpět do terminálu a znovu spusťte pod install.
Krok 2: Dokončení Xcode
Nyní dokončíme kód a rozložení v Xcode.
Používá Xcode 9 a Swift 4
Kód pro ViewController1. V horní části ViewController a pod UIKit importu přidejte toto:
importovat Firebase
importovat FirebaseDatabase
2. Do spodní části ViewController a pod funkci didReceiveMemoryWarning zkopírujte a vložte tyto funkce pro každé tlačítko:
func num1 (stav: String) {
let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Nezapomeňte změnit (číslo
3. Do funkce viewDidLoad pod super.viewDidLoad () vložte tento řádek pro každé tlačítko (u více tlačítek stačí změnit (číslo). Viz obrázek …):
num1 (stav: "VYPNUTO")
Rozložení Main.storyboard a tlačítka
1. Přejděte na Main.storyboard a vložte některá tlačítka. Můžete je rozložit jako já, nebo si je upravit podle libosti.
2. Propojte tlačítka s ViewController. Každé tlačítko musí být připojeno dvakrát: Jedno jako akce a UIButton s názvem num (number) Button a druhé jako výchozí Outlet a nazvat to num (number) Color. Viz obrázek…
3. Potom pro všechna tlačítka vložte do tohoto řádku všechny funkce:
if self.num1Color.backgroundColor == UIColor.lightGray {// Nastaví barvu pozadí na lightGray
num1 (state: "ON") // Odešle stav: "ON" na firebase self.num1Color.backgroundColor = UIColor (červená: 0,96, zelená: 0,41, modrá: 0,26, alfa: 1,0) // Nastaví barvu pozadí na reddish} else {num1 (state: "OFF") // Odešle stav: "OFF" na firebase self.num1Color.backgroundColor = UIColor.lightGray // Nastaví barvu pozadí na lightGray}
Nyní byste to měli mít možnost vyzkoušet spuštěním aplikace a po stisknutí tlačítek byste měli vidět, jak se mění stav, v Realtime Database ve Firebase.
Dokončení (volitelně)
1. Stáhněte si níže uvedené obrázky a vložte LaunchScreen-image-j.webp
2. Přejděte na Assets.xcassets a poté na AppIcon. Zde umístěte do odpovídající velikosti AppIcon.
Krok 3: Nastavení Raspberry Pi
Nyní musíme nastavit Pi pomocí Firebase, aby aplikace mohla komunikovat a vrhat Firebase na Pi.
Kód jsem nenapsal, ale původní kód najdete zde.
1. V terminálu spusťte obvyklé aktualizace:
sudo apt-get update && sudo apt-get dist-upgrade
2. Poté importujeme pyrebase (Firebase):
sudo pip install pyrebase
sudo pip3 install pyrebase sudo pip3 install --upgrade google-auth-oauthlib
3. Nyní si stáhněte knihovnu Blinkt:
stočit https://get.pimoroni.com/blinkt | bash
4. Klonovat moje úložiště GitHub:
klon git https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. Upravte soubor AppRPiControl_Template.py:
nano RPiAppControl_Template.py
6. Vyplňte Firebase ApiKey a projectId. Najdete je tak, že přejdete do svého projektu Firebase a kliknete na Přidat další aplikaci a poté na Přidat Firebase do vaší webové aplikace.
7. Přizpůsobte funkce a změny uložte stisknutím ctrl-o (Enter) a zavřete ctrl-x.
8. Nyní jej spusťte pomocí:
sudo python3 RPiAppControl_Template.py
9. Pokud tedy používáte Blinkt, můžete zkusit příklad, když jste vyplnili Firebase ApiKey a projectId:
cd příklady
nano RPiAppControl_blinkt_demo.py
Nyní spusťte:
sudo python3 RPiAppControl_blinkt_demo.pyMějte na paměti, že po spuštění skriptu trvá příprava přibližně minutu (alespoň na Pi Zero). A skript musí být spuštěn v pythonu 3
10. BONUS: Pokud chcete, aby se skript spustil při spuštění, můžete zjistit, jak, zde.
Tlačítko vypnutí/napájení
Je volitelné instalovat tlačítko napájení, ale doporučuji to. Postupujte podle tohoto videa a nastavte jej.
Mějte na paměti, že toto používá fyzický pin 5 na Pi, takže některé HATy nebudou fungovat.
Krok 4: Příloha
Doporučuje:
Inteligentní světlo upcyklovaného budíku: 8 kroků (s obrázky)
Upcycled Alarm Clock Smart Light: V tomto projektu upcykluji úplně rozbitý navíjecí budík. Ciferník je nahrazena 12 LED diodami, osvětlenými LED páskem kolem okraje hodin. 12 LED diod ukazuje čas a LED pásek je naprogramován tak, aby fungoval jako alarm, který
LED inteligentní cloudové světlo: 11 kroků (s obrázky)
LED Smart Cloud Light: Jedná se o inteligentní cloud LED, který lze sestavit s minimem nástrojů. S ovladačem můžete provádět všechny druhy vzorů a barevných možností. Protože LED diody jsou individuálně adresovatelné (každá LED může mít jinou barvu a/nebo jas), clo
Inteligentní budík: inteligentní budík vyrobený z Raspberry Pi: 10 kroků (s obrázky)
Chytrý budík: Chytrý budík vyrobený z Raspberry Pi: Chtěli jste někdy chytré hodiny? Pokud ano, toto je řešení pro vás! Vytvořil jsem inteligentní budík, toto jsou hodiny, u kterých můžete podle času na webu změnit čas budíku. Když se spustí alarm, ozve se zvuk (bzučák) a 2 kontrolky
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: 7 kroků
Inteligentní zahradničení založené na IoT a inteligentní zemědělství pomocí ESP32: Svět se mění v čase a také v zemědělství. V dnešní době lidé integrují elektroniku do všech oblastí a zemědělství pro to není výjimkou. Toto sloučení elektroniky v zemědělství pomáhá zemědělcům a lidem, kteří spravují zahrady
Jak ovládat základní inteligentní přepínač Sonoff na bázi ESP8266 pomocí smartphonu: 4 kroky (s obrázky)
Jak ovládat základní inteligentní přepínač Sonoff na bázi ESP8266 pomocí smartphonu: Sonoff je řada zařízení pro inteligentní domácnost vyvinutá společností ITEAD. Jedním z nejflexibilnějších a nejlevnějších zařízení z této řady je Sonoff Basic. Jedná se o přepínač s podporou Wi-Fi založený na skvělém čipu ESP8266. Tento článek popisuje, jak nastavit Cl