Isi kandungan:
- Langkah 1: Wire Up Circuit
- Langkah 2: Sediakan Aplikasi Web
- Langkah 3: Program NodeMCU Board
- Langkah 4: Nikmati Peranti Anda
Video: Pemberitahuan Acara Masa Nyata Menggunakan NodeMCU (Arduino), Google Firebase dan Laravel: 4 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Adakah anda pernah mahu diberitahu apabila ada tindakan yang dibuat di laman web anda tetapi e-mel tidak sesuai? Adakah anda ingin mendengar bunyi atau loceng setiap kali anda membuat penjualan? Atau ada keperluan untuk perhatian segera anda kerana keadaan kecemasan di rumah?
Peranti ini dapat memberi amaran kepada anda dalam masa nyata mengenai apa sahaja yang anda suka.
Langkah 1: Wire Up Circuit
Peranti yang saya buat terdiri daripada papan NodeMCU dengan buzzer untuk memberitahu saya mengenai penjualan yang dibuat di laman web. Mikrokontroler diprogramkan menggunakan perisian Arduino dan bahagian pemicunya dapat berupa aplikasi web, iOS atau Android. Saya telah membuat dua aplikasi web sederhana, satu di Laravel dan yang lain dalam HTML biasa dan JavaScript untuk contohnya.
Oleh kerana papan NodeMCU dapat beroperasi dengan selamat hingga sekitar 12mA arus pada pin, bel disambungkan melalui transistor NPN. Saya telah menggunakan 2N2222 kerana banyak dari mereka meletakkan tetapi saya yakin bahawa prinsipnya akan sama dengan transistor NPN yang lain.
Untuk memasang litar, sambungkan pemungut transistor ke pin Vin di papan. Buzzer beroperasi pada 5V dan kerana kita akan menghidupkan peranti dari USB, pin ini akan memberi kita voltan sebelum pengawal 3.3V di papan.
Seterusnya sambungkan sisi positif buzzer pada pemancar transistor, dan pin negatif buzzer ke salah satu pin ground di papan. Saya telah menggunakan pin 2, tetapi anda juga boleh menyambungkannya pada pin 9, 25 atau 29.
Asas transistor disambungkan ke pin D2 yang berkorelasi dengan GPIO 4 pada perisian Arduino. Dengan persediaan ini, transistor akan berfungsi dengan berkesan sebagai suis menghidupkan bel pada setiap acara. Daripada bel, anda boleh menyambungkan geganti dengan cara yang sama untuk menggerakkan sebarang alat utama seperti lampu, mesin atau siren jika anda membuat alat penggera.
Langkah 2: Sediakan Aplikasi Web
Untuk bahagian pencetus dan masa nyata peranti, kami akan menggunakan Pangkalan Data Firebase Realtime Google. Ini pangkalan data awan NoSQL yang indah yang dibuat oleh Google yang menyediakan penyegerakan data masa nyata antara setiap platform yang digunakan.
Pertama buat projek dengan nama pilihan anda. Setelah dibuat, buat satu simpul yang disebut "hitung" dan mulakan dengan nilai jika 0. Ini akan menjadi kiraan permulaan kami yang ingin kami ikuti di masa hadapan.
Aplikasi Laravel menggunakan paket "firebase-php" dari Kreait, dan dihubungkan di bawah. Pasang pakej dengan menjalankan "komposer memerlukan kreait / firebase-php". Setelah pemasangan selesai, kita perlu membuat pengawal di mana tindakan akan berlaku. Saya menamakan kaedah itu "kemas kini" dan saya telah menghubungkannya dalam laluan pada tindakan POST.
Untuk mendapatkan semula contoh Firebase, anda memerlukan fail json yang perlu anda muat turun dari Firebase console anda. Letakkan fail ini di akar projek Laravel anda dan beri nama firebase.json. Semasa mengambil contoh firebase, kita perlu memberikan jalan ke fail ini menggunakan kaedah withCredentials.
Setelah mendapat contoh firebase, kita perlu mendapatkan rujukan ke pangkalan data dan node yang telah kita buat sebelumnya. Pada setiap tindakan, kita akan mendapat nilai node semasa, meningkatkannya satu demi satu dan menyimpan jika kembali ke pangkalan data. Ini akan menjejaki peristiwa yang perlu kita maklumkan.
Hal yang sama dapat dicapai dengan HTML dan JavaScript biasa, menggunakan library firebase yang disediakan. Dengan itu, pertama-tama kita perlu menyediakan susunan konfigurasi dengan tetapan yang sesuai dari Firebase console dan memulakan aplikasi. Setelah diinisialisasi, kami mendapat rujukan ke simpul tempat kami menyimpan jumlah peristiwa dan melampirkan pendengar untuk mengambil perubahan nilai.
Selain itu, daripada menyerahkan formulir seperti dalam contoh Laravel, kita sekarang memiliki fungsi JavaScript yang dipanggil pada klik butang, mengemas kini kiraan dan menulis kembali nilai yang dikemas kini ke pangkalan data.
Langkah 3: Program NodeMCU Board
Untuk memprogram NodeMCU, saya telah menggunakan perisian Arduino dan setelah saya memasang papan padanya, saya memilih untuk memilih versi dan port yang sesuai supaya saya dapat memuat naik perisian tersebut. Mine adalah versi 1.0 jadi periksa semula papan anda sebelum meneruskan.
Bahagian pertama kod Arduino, menyediakan semua definisi yang diperlukan yang perlu anda sesuaikan pada peranti anda. Pengaturan pertama seperti itu adalah ssid WiFi dan kata laluannya, maka kita perlu menyiapkan url firebase, dan rahsia firebase db. Sayangnya, ini bukan cara yang disarankan untuk menyambung ke pangkalan data tetapi sekarang ini adalah satu-satunya cara perpustakaan menyokongnya. Anda boleh mendapatkan rahsia ini di bawah menu Tetapan Projek, akaun perkhidmatan di firebase console.
Definisi seterusnya adalah jalan yang akan kita periksa untuk kemas kini dan id peranti. ID peranti diperlukan jadi sekiranya kita mempunyai banyak peranti untuk memberi tahu tentang peristiwa yang sama, kita perlu mengetahui peranti mana yang memberitahu kita untuk acara tersebut dan menyimpan catatan tentang hal itu. Yang terakhir kita perlu menyiapkan pin di mana kita telah menyambungkan bel dan ini adalah D2 dalam kes kita.
Fungsi penyediaan menentukan pin led dan pin D2 sebagai output, mulakan komunikasi bersiri untuk mengetahui apa yang sedang berlaku dan menghubungkan ke rangkaian WiFi yang ditentukan. Setelah sambungan dibuat, ia memulakan komunikasi dengan Firebase dan mendapat nilai terakhir yang kami laporkan. Kemudian mula mendengar perubahan pada jalan yang ditentukan.
Dalam gelung utama, terdapat panggilan ke fungsi sekelip mata yang berkelip-kelip pada lampu terpasang selama 500 milisaat agar kita dapat mengetahui bahawa peranti itu aktif. Apabila perubahan dikesan dan ada data yang dapat kita baca dengan fungsi yang tersedia, nilai simpul baru sedang dibaca, selisih dihitung kerana mungkin ada beberapa peristiwa sementara itu dan bunyi bip dihasilkan untuk setiap waktu perbezaannya.
Sebagai contoh jika perbezaan antara nilai terakhir yang dilaporkan dan nilai baru adalah 4, 4 bip akan dihasilkan untuk memberitahu anda bahawa 4 pembelian baru telah dilakukan. Fungsi bip menggunakan fungsi nada dalam untuk memainkan frekuensi yang ditentukan melalui buzzer untuk jangka masa yang ditetapkan.
Setelah bunyi bip dihasilkan, nilai baru dikemas kini untuk peranti yang ditentukan dan penstriman dimulakan semula. Pada masa ini terdapat masalah terbuka di pustaka firebase arduino bahawa penstriman tidak berterusan secara automatik setelah kami menyimpan nilai secara manual sehingga kami perlu memulakannya semula.
Langkah 4: Nikmati Peranti Anda
Seluruh kod yang telah saya gunakan tersedia di akaun GitHub saya yang dipautkan di bawah bersama-sama dengan pautan ke skema projek.
Kod sumber
Skema
Kod ini dapat digunakan dengan mudah untuk berfungsi untuk pelbagai senario dan acara yang berbeza dan saya yakin anda akan bersenang-senang bermain dengannya.
Bagi saya ini adalah binaan yang sangat menyeronokkan dan saya berjaya belajar banyak tentangnya dan untuk itu saya sangat gembira. Saya harap ia dapat membantu anda dalam projek anda tetapi jika anda mendapati diri anda terjebak dengan mana-mana bahagiannya atau anda memerlukan penjelasan lebih lanjut, sila beritahu saya dalam komen dan saya akan melakukan yang terbaik untuk membantu anda.
Sekiranya anda menyukai projek tersebut, sila langgan saluran YouTube saya:
Rasa Kod
Disyorkan:
Cara Membuat Perekam Data Masa Nyata Kelembapan dan Suhu Dengan Arduino UNO dan SD-Card - Simulasi Pencatat Data DHT11 dalam Proteus: 5 Langkah
Cara Membuat Perekam Data Masa Nyata Kelembapan dan Suhu Dengan Arduino UNO dan SD-Card | DHT11 Data-logger Simulation in Proteus: Pengenalan: hai, ini adalah Liono Maker, berikut adalah pautan YouTube. Kami membuat projek kreatif dengan Arduino dan mengusahakan sistem terbenam. Data-Logger: Data logger (juga data-logger atau data recorder) adalah peranti elektronik yang merekod data dari masa ke masa dengan
Program MicroPython: Kemas kini Data Penyakit Coronavirus (COVID-19) dalam Masa Nyata: 10 Langkah (dengan Gambar)
Program MicroPython: Kemas kini Data Penyakit Coronavirus (COVID-19) dalam Masa Nyata: Dalam beberapa minggu terakhir, jumlah kes penyakit coronavirus yang disahkan (COVID 19) di seluruh dunia telah melebihi 100,000, dan organisasi kesihatan dunia (WHO) telah menyatakan wabak pneumonia coronavirus baru menjadi wabak global. Saya sangat
Robot SCARA: Belajar Mengenai Foward dan Inverse Kinematics !!! (Plot Twist Pelajari Cara Membuat Antaramuka Masa Nyata di ARDUINO Menggunakan PEMPROSESAN !!!!): 5 Langkah (dengan Gambar)
Robot SCARA: Belajar Mengenai Kinematik Foward dan Inverse !!! (Plot Twist Pelajari Cara Membuat Antaramuka Masa Nyata di ARDUINO Menggunakan PEMPROSESAN !!!!): Robot SCARA adalah mesin yang sangat popular di dunia industri. Nama bermaksud Lengan Robot Perhimpunan Selektif Selektif atau Lengan Robot Artikulasi Selektif Selektif. Ini pada dasarnya adalah robot kebebasan tiga darjah, menjadi dua perubahan pertama
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: 5 Langkah (dengan Gambar)
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: Mengendalikan 8 suis relai menggunakan penerima nodemcu dan ir melalui aplikasi wifi dan jauh dan android. Alat kawalan jauhnya tidak bergantung pada sambungan wifi. DI SINI ADALAH KLIK VERSI YANG DIKEMASKINI SINI
Senarai Perkara Yang Perlu Dilakukan Masa Nyata Menggunakan Google Firebase: 12 Langkah
Senarai Perkara Yang Perlu Dilakukan Masa Nyata Menggunakan Google Firebase: Hai! Kami semua menggunakan senarai Perkara Yang Harus Dilakukan setiap hari, sama ada dalam talian atau luar talian. Walaupun senarai luar talian cenderung tersesat, dan senarai maya boleh salah tempat, dihapus secara tidak sengaja, atau bahkan dilupakan. Oleh itu, kami memutuskan untuk membuatnya di Google Firebase