Sisällysluettelo:

RPi IoT Smart Light Firebasen avulla: 4 vaihetta (kuvilla)
RPi IoT Smart Light Firebasen avulla: 4 vaihetta (kuvilla)

Video: RPi IoT Smart Light Firebasen avulla: 4 vaihetta (kuvilla)

Video: RPi IoT Smart Light Firebasen avulla: 4 vaihetta (kuvilla)
Video: How to network monitor using Raspberry PI | Zabbix | NETVN 2024, Heinäkuu
Anonim
RPi IoT Smart Light Firebasen avulla
RPi IoT Smart Light Firebasen avulla
RPi IoT Smart Light Firebasen avulla
RPi IoT Smart Light Firebasen avulla
RPi IoT Smart Light Firebasen avulla
RPi IoT Smart Light Firebasen avulla
RPi IoT Smart Light Firebasen avulla
RPi IoT Smart Light Firebasen avulla

Tässä oppaassa kerrotaan, miten voit luoda ja määrittää sovelluksen, jolla voit ohjata Raspberry Pi: tä Firebasen (online -tietokanta) kautta. Ja sitten 3D -tulostuskotelo Pi Zero W: lle, Powerboost 1000C, akku ja Blinkt !.

Jotta seuraaminen olisi helpointa, suosittelen tutustumaan Xcodeen ja Raspberry Pi: hen.

Ja jos pidät näkemästäsi, seuraa minua Instagramissa ja Twitterissä (@Anders644PI), niin pysyn tekemieni kanssa.

Tarvitset:

  • Raspberry Pi Zero W, jossa sovittimet ja GPIO-otsikot

    (tai tavallinen Pi Zero, jossa on WiFi -dongle)

  • A PowerBoost 1000 C.
  • Litiumioniakku - 3.7v 2000mAh
  • Blinkt! (tai mikä tahansa pHAT/HAT, joka: ei käytä nasta 5 fyysistä ja HAT: n tulee olla tasainen pohjassa.)
  • Vähintään 8 Gt: n Micro SD -kortti, jossa on Raspbian Stretch (pöytätietokoneella)
  • Näppäimistö ja hiiri (mutta voit myös muodostaa yhteyden ssh: n kautta, jos nyt miten)
  • Yhteys näyttöön tai televisioon (tai ssh!)
  • Romu ruuvit
  • Pienet johdot
  • Pieni kytkin ja pieni painike
  • 3D -tulostin ja yksi kela mitä tahansa värillistä PLA -filamenttia ja yksi kela läpinäkyvää PLA: ta (tai voit käyttää 3D -palvelua, kuten 3D -keskittimiä, tulostaaksesi sen puolestasi)

Vaihe 1: Firebase ja Xcode

Firebase ja Xcode
Firebase ja Xcode
Firebase ja Xcode
Firebase ja Xcode
Firebase ja Xcode
Firebase ja Xcode

Ensin asennamme Firebasen sovelluksen kanssa, jotta voimme kommunikoida sovelluksesta Pi: hen.

Jos olet hämmentynyt, voit katsoa tämän videon.

1. Avaa Xcode ja luo uusi Xcode -projekti. Valitse Single View -sovellus ja kutsu sitä RPiAppControliksi ja varmista, että kieli on Swift. Paina Seuraava ja tallenna se.

2. Kopioi nipputunniste, koska tarvitsemme sitä myöhemmin.

3. Kirjaudu Firebasessa Google -tililläsi ja valitse Siirry konsoliin.

4. Luo uusi projekti ja kutsu sitä RPiAppControliksi.

5. Napsauta Lisää Firebase IOS -sovellukseesi. Liitä Bundle Identifier ja paina Rekisteröi sovellus.

6. Lataa GoogleService-Info.plist ja vedä se Xcode-projektiin.

7. Palaa Firebasessa ja paina Jatka. Avaa sitten pääteikkuna ja siirry Xcode -projektisi sijaintiin.

8. Suorita tämä komento:

pod init

9. Avaa Podfile ja use_frameworks!, lisää tämä rivi:

pod 'Firebase/Core'

10. Takaisin terminaalityyppiin: pod install ja sulje Xcode.

11. Siirry Finderissa Xcode -projektiin ja avaa äskettäin luotu.xcworkspace -tiedosto.

12. Siirry tänne AppDelegate.swift -sivulle ja lisää tuonnin UIKit -kohtaan tämä rivi:

tuoda Firebasen

Ja lisää sovellusriville tämä rivi:

FIRApp.configure ().

13. Takaisin Firebasessa napsauta Jatka ja sitten Valmis.

14. Siirry tietokantaan, sitten Säännöt ja aseta ".read" ja ".write" arvoon true. Paina PUBLISH.

15. Palaa Xcodeen, avaa Podfile ja lisää ensimmäisen rivin alle tämä:

pod 'Firebase/Database'

16. Palaa terminaaliin ja suorita pod install uudelleen.

Vaihe 2: Viimeistele Xcode

Xcoden viimeistely
Xcoden viimeistely
Xcoden viimeistely
Xcoden viimeistely
Xcoden viimeistely
Xcoden viimeistely

Viimeistelemme nyt koodin ja asettelun Xcode -ohjelmassa.

Tämä käyttää Xcode 9 ja Swift 4

ViewController -koodi 1. Lisää ViewControllerin yläosaan ja tuonnin UIKit -kohtaan tämä:

tuoda Firebasen

tuoda FirebaseDatabase

2. Kopioi nämä toiminnot ViewControllerin alareunassa ja didReceivedMemoryWarning -toiminnon alla jokaiselle painikkeelle:

funktionumero1 (tila: merkkijono) {

let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": tila] ref.laps ("num1"). setValue (post)}Muista muuttaa (numero

3. Lisää viewDidLoad -toiminnon super.viewDidLoad () -kohtaan tämä rivi kullekin painikkeelle (jos haluat vaihtaa useita painikkeita, vaihda (numero). Katso kuva…):

numero1 (tila: "POIS")

Pääasettelun ja näppäimistön asettelu

1. Siirry Main. -kuvakäsikirjoitukseen ja paina joitakin painikkeita. Voit sijoittaa ne kuten minä tai muokata niitä haluamallasi tavalla.

2. Yhdistä painikkeet ViewControlleriin. Kukin painike on yhdistettävä kahdesti: yksi toiminnoksi ja UIB -painike nimeltä num (numero) -painike ja toinen oletuslähdönä ja kutsu sitä numero (numero) -väreksi. Katso kuva…

3. Liitä sitten kaikkien painikkeiden kohdalla tämä rivi jokaiseen toimintoon:

if self.num1Color.backgroundColor == UIColor.lightGray {// Asettaa taustaväriksi vaaleanharmaan

num1 (tila: "ON") // Lähettää tilan: "ON" Firebase self.num1Color.backgroundColor = UIColor (punainen: 0,96, vihreä: 0,41, sininen: 0,26, alfa: 1,0) // Asettaa taustaväriksi punertava} else {num1 (tila: "OFF") // Lähettää tilan "OFF" firebaseen self.num1Color.backgroundColor = UIColor.lightGray // Asettaa taustaväriksi vaaleanharmaan}

Nyt sinun pitäisi pystyä testaamaan se suorittamalla sovellus, ja kun painat painikkeita, näet sen muuttuvan tilan Firebasen reaaliaikaisessa tietokannassa.

Viimeistely (valinnainen)

1. Lataa alla olevat kuvat ja lisää LaunchScreen-image-j.webp

2. Siirry kohtaan Assets.xcassets ja sitten AppIcon. Aseta tänne vastaava AppIcon -koko.

Vaihe 3: Raspberry Pi -asennus

Raspberry Pi -asennus
Raspberry Pi -asennus

Nyt meidän on asennettava Pi Firebasella, jotta sovellus voi kommunikoida ja heittää Firebasen Pi: lle.

En kirjoittanut koodia, mutta löydät alkuperäisen koodin täältä.

1. Suorita terminaalissa tavalliset päivitykset:

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

2. Sitten tuomme pyrebasen (Firebase):

sudo pip asenna pyrebase

sudo pip3 install pyrebase sudo pip3 install-päivitä google-auth-oauthlib

3. Lataa nyt Blinkt -kirjasto:

curl https://get.pimoroni.com/blinkt | lyödä

4. Kloonaa GitHub -arkistoni:

git -klooni https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Muokkaa AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Täytä Firebase ApiKey ja projectId. Löydät ne siirtymällä Firebase -projektiin ja valitsemalla Lisää toinen sovellus ja sitten Lisää Firebasen verkkosovellukseesi.

7. Muokkaa toimintoja ja tallenna muutokset painamalla ctrl-o (enter) ja sulje painamalla ctrl-x.

8. Suorita se seuraavalla tavalla:

sudo python3 RPiAppControl_Template.py

9. Jos käytät Blinktiä, voit kokeilla esimerkkiä, kun olet täyttänyt Firebase ApiKey ja projectId:

cd esimerkkejä

nano RPiAppControl_blinkt_demo.py

Suorita nyt:

sudo python3 RPiAppControl_blinkt_demo.pyMuista, että komentosarjan suorittamisen jälkeen valmistautuminen kestää noin minuutin (ainakin Pi Zero). Ja skripti on suoritettava python 3: ssa

10. BONUS: Jos haluat, että komentosarja suoritetaan käynnistyksen yhteydessä, voit selvittää sen täältä.

Sammutus-/virtapainike

Virtapainikkeen asentaminen on valinnaista, mutta suosittelen sitä. Seuraa tätä videota ja aseta se.

Muista, että tämä käyttää Pi: n fyysistä nastaista 5, joten jotkut HATit eivät toimi.

Vaihe 4: Kotelo

Suositeltava: