Daftar Isi:

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: Tutorial IoT Menggunakan 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 cara membuat dan menyiapkan aplikasi untuk mengontrol Raspberry Pi melalui Firebase (Database online). Dan kemudian pencetakan 3D kasing untuk Pi Zero W, Powerboost 1000C, baterai, dan Blinkt!.

Agar dapat mengikuti dengan mudah, saya sarankan 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 akan perlu:

  • Raspberry Pi Zero W dengan adaptor dan header GPIO

    (atau Pi Zero biasa dengan dongle WiFi)

  • Sebuah PowerBoost 1000 C
  • Baterai Lithium Ion - 3.7v 2000mAh
  • Sebuah Blink! (atau pHAT/HAT apa pun, yang: tidak menggunakan pin 5 fisik dan HAT harus rata di bagian bawah.)
  • Kartu Micro SD 8GB atau lebih tinggi, dengan Raspbian Stretch (dengan desktop) di dalamnya
  • Keyboard dan mouse (tetapi Anda juga dapat terhubung melalui ssh, jika Anda sekarang bagaimana)
  • Koneksi ke monitor atau TV (atau ssh!)
  • Sekrup bekas
  • Kabel kecil
  • Sakelar kecil dan tombol kecil
  • Printer 3D dan satu gulungan filamen PLA warna apa pun, dan satu gulungan PLA transparan (atau Anda dapat menggunakan layanan 3D seperti Hub 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

Pertama kita akan menyiapkan Firebase dengan aplikasi, sehingga kita dapat berkomunikasi dari aplikasi ke Pi.

Jika Anda bingung, Anda dapat menonton video ini.

1. Buka Xcode, dan buat proyek Xcode baru. Pilih Single View App dan beri nama RPiAppControl, dan pastikan bahasanya adalah Swift. Tekan Berikutnya, dan simpan.

2. Salin Pengidentifikasi Bundel Anda, karena kami akan membutuhkannya nanti.

3. Di Firebase, login dengan akun Google Anda, dan klik Go to console.

4. Buat proyek baru, dan beri nama RPiAppControl.

5. Klik Tambahkan Firebase ke Aplikasi iOS Anda. Tempel di Bundle Identifier Anda, dan tekan Daftar Aplikasi.

6. Unduh GoogleService-Info.plist, dan seret ke Proyek Xcode Anda.

7. Kembali ke Firebase, tekan Continue. Kemudian buka jendela terminal dan arahkan ke lokasi proyek Xcode Anda.

8. Jalankan perintah ini:

pod init

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

pod 'Firebase/Inti'

10. Kembali ke terminal ketik: pod install, dan tutup Xcode.

11. Di Finder, navigasikan ke proyek Xcode Anda, dan buka file.xcworkspace yang baru dibuat.

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

impor Firebase

Dan di fungsi aplikasi, tambahkan baris ini:

FIRApp.configure().

13. Kembali ke Firebase, klik Continue lalu Finish.

14. Buka Database, lalu Rules, dan atur ".read" dan ".write" menjadi true. Tekan PUBLIKASIKAN.

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

pod 'Firebase/Database'

16. Kembali ke terminal, jalankan pod install lagi.

Langkah 2: Menyelesaikan Xcode

Menyelesaikan Xcode
Menyelesaikan Xcode
Menyelesaikan Xcode
Menyelesaikan Xcode
Menyelesaikan Xcode
Menyelesaikan Xcode

Kami sekarang akan menyelesaikan kode dan tata letak di Xcode.

Ini menggunakan Xcode 9 dan Swift 4

Kode untuk ViewController1. Di bagian atas ViewController, dan di bawah import UIKit, tambahkan ini:

impor Firebase

impor FirebaseDatabase

2. Di bagian bawah ViewController, dan di bawah fungsi didReceiveMemoryWarning, salin tempel fungsi ini untuk setiap tombol:

func num1(status: String){

let ref = FIRDatabase.database().reference() let post: [String: Any] = ["state": state] ref.child("num1").setValue(post) }Ingatlah untuk mengubah (nomor

3. Dalam fungsi viewDidLoad, di bawah super.viewDidLoad(), masukkan baris ini untuk setiap tombol (Untuk beberapa tombol, cukup ubah (angka). Lihat gambar…):

num1(status: "OFF")

Tata letak Main.storyboard dan tombol

1. Masuk ke Main.storyboard, dan masukkan beberapa tombol. Anda dapat mengaturnya seperti yang saya lakukan, atau menyesuaikannya sesuka Anda.

2. Hubungkan tombol dengan ViewController. Setiap tombol harus terhubung dua kali: Satu sebagai tindakan dan UIButton disebut num(number)Button, dan yang lainnya sebagai Outlet default dan menyebutnya num(number)Color. Lihat gambar…

3. Kemudian untuk semua tombol, tempel di baris ini ke masing-masing fungsi:

if self.num1Color.backgroundColor == UIColor.lightGray { // Mengatur warna latar belakang menjadi lightGray

num1(state: "ON") // Mengirim status: "ON" ke firebase self.num1Color.backgroundColor = UIColor(red:0.96, green:0.41, blue:0.26, alpha:1.0) // Mengatur warna latar belakang ke kemerahan } else { num1(state: "OFF") // Mengirim status: "OFF" ke firebase self.num1Color.backgroundColor = UIColor.lightGray // Mengatur warna latar belakang menjadi lightGray }

Sekarang Anda seharusnya dapat mengujinya, dengan menjalankan aplikasi, dan ketika Anda menekan tombol, Anda akan melihatnya berubah status, di Realtime Database di Firebase.

Sentuhan akhir (Opsional)

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

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

Langkah 3: Pengaturan Raspberry Pi

Pengaturan Raspberry Pi
Pengaturan Raspberry Pi

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

Saya tidak menulis kodenya, tetapi Anda dapat menemukan kode aslinya di sini.

1. Di terminal, jalankan pembaruan biasa:

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

2. Kemudian kita akan mengimport pyrebase (Firebase):

sudo pip install pyrebase

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

3. Sekarang unduh perpustakaan Blinkt:

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

4. Kloning repositori GitHub saya:

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

5. Edit AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Isikan Firebase ApiKey dan projectId Anda. Anda dapat menemukannya dengan membuka Proyek Firebase, dan mengklik Tambahkan Aplikasi Lain, lalu 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 dapat mencoba contoh, ketika Anda telah mengisi Firebase ApiKey dan projectId Anda:

contoh cd

nano RPiAppControl_blinkt_demo.py

Sekarang jalankan:

sudo python3 RPiAppControl_blinkt_demo.pyPerlu diingat bahwa setelah Anda menjalankan skrip, dibutuhkan sekitar satu menit untuk bersiap-siap (Setidaknya di Pi Zero). Dan skrip harus dijalankan dengan python 3

10. BONUS: Jika Anda ingin skrip berjalan saat boot, Anda dapat mengetahui caranya, di sini.

Tombol Shutdown/Daya

Ini opsional untuk menginstal tombol daya, tetapi saya merekomendasikannya. Ikuti bersama dengan video ini, untuk mengaturnya.

Ingatlah bahwa ini menggunakan pin fisik 5 pada Pi, jadi beberapa HAT tidak akan berfungsi.

Langkah 4: Kandang

Direkomendasikan: