Orodha ya maudhui:

RPi IoT Smart Light Kutumia Firebase: Hatua 4 (na Picha)
RPi IoT Smart Light Kutumia Firebase: Hatua 4 (na Picha)

Video: RPi IoT Smart Light Kutumia Firebase: Hatua 4 (na Picha)

Video: RPi IoT Smart Light Kutumia Firebase: Hatua 4 (na Picha)
Video: Делаем терминал умного дома из планшета 2024, Novemba
Anonim
RPi IoT Smart Light Kutumia Firebase
RPi IoT Smart Light Kutumia Firebase
RPi IoT Smart Light Kutumia Firebase
RPi IoT Smart Light Kutumia Firebase
RPi IoT Smart Light Kutumia Firebase
RPi IoT Smart Light Kutumia Firebase
RPi IoT Smart Light Kutumia Firebase
RPi IoT Smart Light Kutumia Firebase

Mwongozo huu unaonyesha jinsi ya kutengeneza na kusanikisha programu kudhibiti Raspberry Pi kupitia Firebase (Hifadhidata ya mkondoni). Na kisha uchapishaji wa 3D kesi kwa Pi Zero W, Powerboost 1000C, betri, na Blinkt!.

Ili kuweza kufuata kwa urahisi, ninapendekeza ujue na Xcode na Raspberry Pi.

Na ikiwa unapenda unachoona, nifuate kwenye Instagram na Twitter (@ Anders644PI) kufuata kile ninachotengeneza.

Utahitaji:

  • Raspberry Pi Zero W iliyo na adapta na vichwa vya GPIO

    (au Pi Zero wa kawaida aliye na dongle ya WiFi)

  • PowerBoost 1000 C
  • Betri ya Lithiamu Ion - 3.7v 2000mAh
  • Blinkt! (au pHAT / HAT yoyote, ambayo: haitumii pini 5 ya mwili na HAT inapaswa kuwa gorofa chini.)
  • Kadi ya 8GB au ya juu ya Micro SD, iliyo na Raspbian Stretch (iliyo na eneo-kazi) juu yake
  • Kinanda na panya (lakini pia unaweza kuungana juu ya ssh, ikiwa sasa ni vipi)
  • Uunganisho kwa mfuatiliaji au Runinga (au ssh!)
  • Screws chakavu
  • Waya ndogo
  • Kitufe kidogo na kitufe kidogo
  • Printa ya 3D na kijiko kimoja cha rangi yoyote ya rangi ya PLA, na kijiko kimoja cha PLA ya uwazi (au unaweza kutumia huduma ya 3D kama Vituo vya 3D kukuchapisha)

Hatua ya 1: Firebase na Xcode

Firebase na Xcode
Firebase na Xcode
Firebase na Xcode
Firebase na Xcode
Firebase na Xcode
Firebase na Xcode

Kwanza tutaweka Firebase na programu, ili tuweze kuwasiliana kutoka kwa programu hadi kwa Pi.

Ukichanganyikiwa, unaweza kutazama video hii.

1. Fungua Xcode, na ufanye mradi mpya wa Xcode. Chagua Moja View App na uiita RPiAppControl, na hakikisha kwamba lugha ni Swift. Bonyeza Ijayo, na uihifadhi.

2. Nakili Kitambulisho chako cha Mafungu, kwa sababu tutahitaji baadaye.

3. Katika Firebase, ingia na akaunti yako ya Google, na bonyeza Bonyeza.

4. Unda mradi mpya, na uuite RPiAppControl.

5. Bonyeza Ongeza Firebase kwenye Programu yako ya IOS. Bandika kitambulisho chako cha kifungu, na ubonyeze Programu ya Sajili.

6. Pakua GoogleService-Info.plist, na uburute kwenye Mradi wako wa Xcode.

7. Rudi kwenye Firebase, bonyeza kitufe cha Endelea. Kisha fungua dirisha la terminal na uende mahali pa mradi wako wa Xcode.

Tumia amri hii:

ganda init

9. Fungua faili ya faili, na chini ya matumizi_frameworks!, ongeza mstari huu:

ganda 'Firebase / Core'

10. Rudi katika aina ya wastaafu: funga ganda, na funga Xcode.

11. Katika Kitafutaji, nenda kwenye mradi wako wa Xcode, na ufungue faili mpya ya.xcworkspacefile.

12. Hapa nenda kwa AppDelegate.swift, na chini ya kuagiza UIKit ongeza laini hii:

kuagiza Firebase

Na katika programu-kazi, ongeza mstari huu:

Sanidi ya FIRApp ().

13. Rudi katika Firebase, bonyeza Endelea na kisha Maliza.

14. Nenda kwenye Hifadhidata, halafu Sheria, na uweke ".soma" na ". Andika" kuwa kweli. Bonyeza PAPA.

15. Rudi kwenye Xcode, fungua Faili, na chini ya laini ya kwanza tuliyoingiza, ongeza hii:

ganda 'Firebase / Hifadhidata'

16. Rudi kwenye terminal, endesha ufungaji wa ganda tena.

Hatua ya 2: Kumaliza Xcode

Kumaliza Xcode
Kumaliza Xcode
Kumaliza Xcode
Kumaliza Xcode
Kumaliza Xcode
Kumaliza Xcode

Sasa tutamaliza msimbo na mpangilio katika Xcode.

Hii ni kutumia Xcode 9 na Swift 4

Nambari ya Kidhibiti cha View1. Juu ya ViewController, na chini ya UIKit ya kuagiza, ongeza hii:

kuagiza Firebase

kuagiza Database ya Firebase

2. Juu ya chini ya ViewController, na chini ya didReceiveMemoryWarning -function, nakili kubandika kazi hizi kwa kila kitufe:

func num1 (jimbo: Kamba) {

let ref = FIRDatabase.database (). kumbukumbu () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (chapisho)}Kumbuka kubadilisha (namba

3. Katika mwonekano wa ViewDidLoad, chini ya super.viewDidLoad (), ingiza laini hii kwa kila kitufe (Kwa vifungo vingi, badilisha tu (nambari). Tazama picha…):

nambari1 (jimbo: "IMEZIMWA")

Mpangilio wa Main.storyboard na vifungo

1. Nenda kwenye Main.storyboard, na uweke vifungo kadhaa. Unaweza kuzipanga kama nilivyofanya, au ubadilishe kama unavyopenda.

2. Unganisha vifungo na ViewController. Kila kitufe kinahitaji kuunganishwa mara mbili: Moja kama kitendo na UIButton iitwayo kifungo cha nambari (nambari), na ile nyingine kama Duka chaguomsingi na iite Nambari (nambari) Rangi. Angalia picha…

3. Kisha kwa vifungo vyote, weka kwenye mstari huu kwa kila moja ya kazi:

ikiwa self.num1Color.backgroundColor == UIColor.lightGray {// Inaweka rangi ya asili kwenye lightGray

num1 (state: "ON") // Inatuma jimbo: "ON" kwa firebase self.num1Color.backgroundColor = UIColor (nyekundu: 0.96, kijani: 0.41, bluu: 0.26, alpha: 1.0) // Inaweka rangi ya nyuma kwa nyekundu} mwingine {num1 (state: "OFF") // Hutuma hali: "OFF" kwa firebase self.num1Color.backgroundColor = UIColor.lightGray // Inaweka rangi ya mandharinyuma kwa lightGray}

Sasa unapaswa kuijaribu, kwa kutumia programu, na unapobonyeza vifungo, unapaswa kuiona ikibadilika, katika Hifadhidata ya Wakati wa Realtime katika Firebase.

Kugusa kumaliza (Hiari)

1. Pakua picha hapa chini, na ingiza LaunchScreen-image-j.webp

2. Nenda kwenye Assets.xcassets na kisha AppIcon. Hapa, weka AppIcon -size inayolingana.

Hatua ya 3: Usanidi wa Pi Raspberry

Usanidi wa Pi Raspberry
Usanidi wa Pi Raspberry

Sasa tunalazimika kusanidi Pi na Firebase, ili programu iweze kuwasiliana, tupa Firebase, kwa Pi.

Sikuandika nambari hiyo, lakini unaweza kupata nambari asili hapa.

1. Katika terminal, endesha visasisho vya kawaida:

Sudo apt-pata sasisho && sudo apt-pata dist-kuboresha

2. Kisha tutaingiza pyrebase (Firebase):

Sudo pip kufunga pyrebase

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

3. Sasa pakua maktaba ya Blinkt:

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

4. Clone hazina yangu ya GitHub:

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

5. Hariri AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Jaza Firebase ApiKey yako na projectId. Unaweza kupata hizi kwa kwenda kwenye Mradi wako wa Firebase, na kubofya Ongeza Programu nyingine na kisha Ongeza Firebase kwenye programu yako ya wavuti.

7. Customize kazi, na uhifadhi mabadiliko yako kwa kubonyeza ctrl-o (ingiza) na funga na ctrl-x.

8. Sasa endesha na:

sudo python3 RPiAppControl_Template.py

9. Halafu ikiwa unatumia Blinkt, unaweza kujaribu mfano, wakati umejaza Firebase ApiKey yako na projectId:

mifano ya cd

nano RPiAppControl_blinkt_demo.py

Sasa endesha:

sudo python3 RPiAppControl_blinkt_demo.pyKumbuka kwamba baada ya kutumia hati, inachukua kama dakika moja kujiandaa (Angalau kwenye Pi Zero). Na hati inapaswa kuendeshwa katika chatu 3

10. BONUS: Ikiwa unataka hati ianze kwenye buti, unaweza kujua jinsi, hapa.

Kitufe cha kuzima / Nguvu

Ni hiari kufunga kitufe cha nguvu, lakini ninapendekeza. Fuata video hii ili kuiweka.

Kumbuka kwamba hii hutumia pini ya mwili 5 kwenye Pi, kwa hivyo HAT zingine hazitafanya kazi.

Hatua ya 4: Ufungaji

Ilipendekeza: