Daftar Isi:
- Langkah 1: Firebase dan Xcode
- Langkah 2: Menyelesaikan Xcode
- Langkah 3: Pengaturan Raspberry Pi
- Langkah 4: Kandang
Video: RPi IoT Smart Light Menggunakan Firebase: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
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
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
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
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:
Sistem Pemantauan Visual Berbasis LoRa untuk IOT Pertanian - Mendesain Aplikasi Fronted Menggunakan Firebase & Angular: 10 Langkah
Sistem Pemantauan Visual Berbasis LoRa untuk IOT Pertanian | Merancang Aplikasi Fronted Menggunakan Firebase & Angular: Pada bab sebelumnya kita berbicara tentang bagaimana sensor bekerja dengan modul loRa untuk mengisi database firebase Realtime, dan kita melihat diagram tingkat yang sangat tinggi bagaimana keseluruhan proyek kita bekerja. Dalam bab ini kita akan berbicara tentang bagaimana kita dapat
Howto: Instalasi Raspberry PI 4 Headless (VNC) Dengan Rpi-imager dan Gambar: 7 Langkah (dengan Gambar)
Cara: Memasang Raspberry PI 4 Headless (VNC) Dengan Rpi-imager dan Gambar: Saya berencana untuk menggunakan Rapsberry PI ini dalam banyak proyek menyenangkan di blog saya. Jangan ragu untuk memeriksanya. Saya ingin kembali menggunakan Raspberry PI saya tetapi saya tidak memiliki Keyboard atau Mouse di lokasi baru saya. Sudah lama sejak saya menyiapkan Raspberry
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino - Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter - Helikopter Rc - Pesawat Rc Menggunakan Arduino: 5 Langkah (dengan Gambar)
Remote Nirkabel Menggunakan Modul 2.4Ghz NRF24L01 Dengan Arduino | Penerima Pemancar 4 Saluran / 6 Saluran Nrf24l01 untuk Quadcopter | Helikopter Rc | Pesawat Rc Menggunakan Arduino: Untuk mengoperasikan mobil Rc | Quadcopter | Drone | pesawat RC | RC boat, kita selalu membutuhkan receiver dan transmitter, misalkan untuk RC QUADCOPTER kita membutuhkan transmitter dan receiver 6 channel dan jenis TX dan RX itu terlalu mahal, jadi kami akan membuatnya di
Pull the Light - Light Module Menggunakan Neopixel & Pull Up Switch: 6 Langkah (dengan Gambar)
Pull the Light - Light Module Menggunakan Neopixel & Pull Up Switch : Fitur Modul Lampu Arduino Uno Hardware & enklosur yang dibeli dari internet Neopixel & Catu daya dipinjam dari School of Informatics & Desain Produk Modul lampu dikendalikan oleh catu daya Semua fungsi dikendalikan melalui
Notifikasi Acara Realtime Menggunakan NodeMCU (Arduino), Google Firebase dan Laravel: 4 Langkah (dengan Gambar)
Notifikasi Peristiwa Realtime Menggunakan NodeMCU (Arduino), Google Firebase dan Laravel: Pernahkah Anda ingin diberi tahu ketika ada tindakan yang dilakukan di situs web Anda tetapi email tidak pas? Apakah Anda ingin mendengar suara atau bel setiap kali Anda melakukan penjualan? Atau ada kebutuhan untuk perhatian Anda segera karena keadaan darurat