Isi kandungan:

RPi IoT Smart Light Menggunakan Firebase: 4 Langkah (dengan Gambar)
RPi IoT Smart Light Menggunakan Firebase: 4 Langkah (dengan Gambar)

Video: RPi IoT Smart Light Menggunakan Firebase: 4 Langkah (dengan Gambar)

Video: RPi IoT Smart Light Menggunakan Firebase: 4 Langkah (dengan Gambar)
Video: IoT Series - Control LED Using Android Apps (App Inventor) and Firebase 2024, November
Anonim
RPi IoT Smart Light Menggunakan Firebase
RPi IoT Smart Light Menggunakan Firebase
RPi IoT Smart Light Menggunakan Firebase
RPi IoT Smart Light Menggunakan Firebase
RPi IoT Smart Light Menggunakan Firebase
RPi IoT Smart Light Menggunakan Firebase
RPi IoT Smart Light Menggunakan Firebase
RPi IoT Smart Light Menggunakan Firebase

Panduan ini menunjukkan kepada anda cara membuat dan menyiapkan aplikasi untuk mengawal Raspberry Pi melalui Firebase (Pangkalan data dalam talian). Dan kemudian mencetak 3D casing untuk Pi Zero W, Powerboost 1000C, bateri, dan Blinkt !.

Untuk dapat mengikuti dengan lebih mudah, saya cadangkan untuk mengenal Xcode dan Raspberry Pi.

Dan jika anda menyukai apa yang anda lihat, ikuti saya di Instagram dan Twitter (@ Anders644PI) untuk mengikuti apa yang saya buat.

Anda perlu:

  • Raspberry Pi Zero W dengan penyesuai dan header GPIO

    (atau Pi Zero biasa dengan dongle WiFi)

  • A PowerBoost 1000 C
  • Bateri Lithium Ion - 3.7v 2000mAh
  • Sekelip mata! (atau apa-apa pHAT / HAT, yang: tidak menggunakan pin 5 fizikal dan HAT harus rata di bahagian bawah.)
  • Kad Micro SD 8GB atau lebih tinggi, dengan Raspbian Stretch (dengan desktop) di atasnya
  • Papan Kekunci dan tetikus (tetapi anda juga boleh menyambung melalui ssh, jika anda sekarang bagaimana)
  • Sambungan ke monitor atau TV (atau ssh!)
  • Skru sekerap
  • Wayar kecil
  • Suis kecil dan butang kecil
  • Pencetak 3D dan satu gulungan filamen PLA warna apa pun, dan satu gulungan PLA telus (atau anda boleh menggunakan perkhidmatan 3D seperti Hab 3D untuk mencetaknya untuk anda)

Langkah 1: Firebase dan Xcode

Firebase dan Xcode
Firebase dan Xcode
Firebase dan Xcode
Firebase dan Xcode
Firebase dan Xcode
Firebase dan Xcode

Mula-mula kita akan menyiapkan Firebase dengan aplikasi, sehingga kita dapat berkomunikasi dari aplikasi ke Pi.

Sekiranya anda keliru, anda boleh menonton video ini.

1. Buka Xcode, dan buat projek Xcode baru. Pilih Aplikasi Paparan Tunggal dan namakan RPiAppControl, dan pastikan bahasa itu pantas. Tekan Seterusnya, dan simpan.

2. Salin Bundle Identifier anda, kerana kami akan memerlukannya kemudian.

3. Di Firebase, log masuk dengan akaun Google anda, dan klik Pergi ke konsol.

4. Buat projek baru, dan namakan RPiAppControl.

5. Klik Tambah Firebase ke Aplikasi IOS anda. Tampal di Bundle Identifier anda, dan tekan Register App.

6. Muat turun GoogleService-Info.plist, dan seret ke dalam Xcode Project anda.

7. Kembali di Firebase, tekan Teruskan. Kemudian buka tetingkap terminal dan arahkan ke lokasi projek Xcode anda.

8. Jalankan arahan ini:

pod init

9. Buka Podfile, dan di bawah penggunaan_frameworks!, tambahkan baris ini:

pod 'Firebase / Core'

10. Kembali ke jenis terminal: pasang pod, dan tutup Xcode.

11. Di Finder, arahkan ke projek Xcode anda, dan buka.xcworkspacefile yang baru dibuat.

12. Di sini pergi ke AppDelegate.swift, dan di bawah import UIKit tambahkan baris ini:

import Firebase

Dan dalam fungsi aplikasi, tambahkan baris ini:

FIRApp.configure ().

13. Kembali ke Firebase, klik Teruskan dan kemudian Selesaikan.

14. Pergi ke Pangkalan Data, kemudian Peraturan, dan tetapkan ".read" dan ".write" ke true. Tekan PUBLISH.

15. Kembali ke Xcode, buka Podfile, dan di bawah baris pertama yang kami tetapkan, tambahkan ini:

pod 'Firebase / Pangkalan Data'

16. Kembali ke terminal, jalankan pemasangan pod sekali lagi.

Langkah 2: Menyelesaikan Xcode

Menamatkan Xcode
Menamatkan Xcode
Menamatkan Xcode
Menamatkan Xcode
Menamatkan Xcode
Menamatkan Xcode

Kami sekarang akan menyelesaikan kod dan susun atur dalam Xcode.

Ini menggunakan Xcode 9 dan Swift 4

Kod untuk ViewController1. Di bahagian atas ViewController, dan di bawah UIKit import, tambahkan ini:

import Firebase

import FirebaseDatabase

2. Di bahagian bawah ViewController, dan di bawah fungsi DidReceiveMemoryWarning, copy paste fungsi ini untuk setiap butang:

func num1 (negeri: Rentetan) {

let ref = FIRDatabase.database (). rujukan () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Ingatlah untuk menukar (nombor

3. Dalam viewDidLoad -fungsi, di bawah super.viewDidLoad (), masukkan baris ini untuk setiap butang (Untuk beberapa butang, ubah saja (nombor). Lihat gambar…):

num1 (nyatakan: "MATI")

Susun atur papan kekunci dan butang Utama

1. Pergi ke Main.storyboard, dan masukkan beberapa butang. Anda boleh menyusunnya seperti yang saya lakukan, atau menyesuaikannya mengikut keinginan anda.

2. Sambungkan butang dengan ViewController. Setiap butang perlu dihubungkan dua kali: Satu sebagai tindakan dan Tombol UIB dipanggil Num (bilangan), dan yang lain sebagai Outlet lalai dan memanggilnya Num (nombor) Warna. Lihat gambar …

3. Kemudian untuk semua butang, tampalkan baris ini ke setiap fungsi:

jika self.num1Color.backgroundColor == UIColor.lightGray {// Menetapkan warna latar ke lightGray

num1 (state: "ON") // Menghantar keadaan: "ON" ke firebase self.num1Color.backgroundColor = UIColor (merah: 0.96, hijau: 0.41, biru: 0.26, alpha: 1.0) // Menetapkan warna latar ke reddish} else {num1 (state: "OFF") // Menghantar keadaan: "OFF" ke firebase self.num1Color.backgroundColor = UIColor.lightGray // Menetapkan warna latar ke lightGray}

Sekarang anda seharusnya dapat mengujinya, dengan menjalankan aplikasi, dan apabila anda menekan butang, anda akan melihatnya berubah keadaan, di Realtime Database di Firebase.

Sentuhan penamat (Pilihan)

1. Muat turun gambar di bawah, dan masukkan LaunchScreen-image-j.webp

2. Pergi ke Assets.xcassets dan kemudian AppIcon. Di sini, letakkan di AppIcon -size yang sesuai.

Langkah 3: Persediaan Raspberry Pi

Persediaan Raspberry Pi
Persediaan Raspberry Pi

Sekarang kita harus menyiapkan Pi dengan Firebase, sehingga aplikasi dapat berkomunikasi, melemparkan Firebase, ke Pi.

Saya tidak menulis kodnya, tetapi anda boleh mendapatkan kod asalnya di sini.

1. Di terminal, jalankan kemas kini biasa:

sudo apt-get kemas kini && sudo apt-get dist-upgrade

2. Kemudian kita akan mengimport pyrebase (Firebase):

sudo pip pasang pyrebase

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

3. Sekarang muat turun perpustakaan Blinkt:

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

4. Klon repositori GitHub saya:

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

5. Edit AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Isi Firebase ApiKey dan projectId anda. Anda boleh mendapatkannya dengan pergi ke Firebase Project anda, dan mengklik Tambahkan Aplikasi Lain dan kemudian Tambahkan Firebase ke aplikasi web anda.

7. Sesuaikan fungsi, dan simpan perubahan anda dengan menekan ctrl-o (enter) dan tutup dengan ctrl-x.

8. Sekarang jalankan dengan:

sudo python3 RPiAppControl_Template.py

9. Kemudian jika anda menggunakan Blinkt, anda boleh mencuba contohnya, apabila anda telah mengisi Firebase ApiKey dan projectId anda:

contoh cd

nano RPiAppControl_blinkt_demo.py

Sekarang jalankan:

sudo python3 RPiAppControl_blinkt_demo.pyPerlu diingat bahawa setelah anda menjalankan skrip, diperlukan sekitar satu minit untuk bersiap-siap (Paling tidak pada Pi Zero). Dan skripnya mesti dijalankan di python 3

10. BONUS: Sekiranya anda mahu skrip dijalankan semasa boot, anda boleh mengetahui caranya, di sini.

Butang Matikan / Kuasa

Adalah pilihan untuk memasang butang kuasa, tetapi saya mengesyorkannya. Ikuti bersama video ini, untuk menyiapkannya.

Perlu diingat bahawa ini menggunakan pin fizikal 5 pada Pi, jadi beberapa HAT tidak akan berfungsi.

Langkah 4: Penutup

Disyorkan: