Daftar Isi:
- Langkah 1: Memulai Dengan Node-red
- Langkah 2: Memisahkan Data dalam Node-red
- Langkah 3: Basis Data Dengan Wampserver
- Langkah 4: Basis Data
- Langkah 5: Node-merah ke Wampserver
- Langkah 6: Menggunakan Data Dari Wampserver ke Node-red
- Langkah 7: Menyelesaikan
Video: UCL-IIOT - Sistem Alarm Dengan Database dan Node-red: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Tujuan dari build ini adalah untuk mengajarkan tentang menghubungkan Arduino dengan Node-red dan database, sehingga Anda dapat mencatat data dan juga mengumpulkannya untuk digunakan nanti.
Untuk build ini saya menggunakan sistem alarm arduino sederhana yang mengeluarkan 5 nomor data, masing-masing dipisahkan dengan koma.
Tidak perlu memiliki jumlah data yang tepat dan program bisa berupa apa saja.
Bagian penting adalah bahwa data dipisahkan dengan koma seperti yang terlihat pada tangkapan layar ini.
Outputnya misalnya bisa terlihat seperti ini: "324, 0, 0, 1, 1"
(pemrograman selesai dan instruksi untuk pembuatan arduino ditautkan di bagian bawah tutorial ini)
Langkah 1: Memulai Dengan Node-red
Untuk tutorial ini kami menganggap Anda telah menginstal Node-red, tetapi ada beberapa palet tambahan yang digunakan untuk proyek ini yang kami perlukan agar berfungsi
Temukan tombol "Kelola Palet" dan instal palet berikut.
- simpul-merah-dasbor
- simpul-merah-simpul-mysql
- simpul-merah-simpul-arduino
- simpul-merah-simpul-serialport
Ini akan menunjukkan beberapa palet baru di sisi menu tombol Node-red.
Langkah 2: Memisahkan Data dalam Node-red
Sekarang Node-red siap untuk digunakan, kita perlu memulai dengan membagi data kita menjadi bagian-bagian yang terpisah.
Inilah mengapa kami memastikan untuk memisahkannya dengan koma di dalam kode Arduino.
Pertama mari kita mulai dengan meletakkan node Arduino Input, yang terdapat di panel sebelah kiri.
Anda perlu memastikan itu memiliki serial yang benar (Milik saya menggunakan COM4) port dan Baud rate (dalam program saya, saya menggunakan 9600 baud rate)
Jika diatur dengan benar, itu harus mengatakan bahwa itu terhubung.
Selanjutnya kita membuat blok fungsi Javascript dan menghubungkannya setelah node input Arduino. Blok ini memungkinkan kita untuk memprogram dalam Javascript, dan di sini kita menulis kode yang dapat membagi data kita untuk setiap koma.
Di blok fungsi ini saya membagi 5 data saya menggunakan kode berikut:
var m1 = {topik: "light1", payload: msg.payload.split(", ")[0]}; var m2 = {topik: "light2", payload: msg.payload.split(", ")[1]}; var m3 = {topik: "light3", payload: msg.payload.split(", ")[2]}; var m4 = {topik: "milis", payload: msg.payload.split(", ")[3]}; var m5 = {topik: "onoff", payload: msg.payload.split(", ")[4]}; kembali [m1, m2, m3, m4, m5];
(ubah kode sesuai kebutuhan)
Pastikan node diatur ke 5 output (atau yang setara)
Seperti yang terlihat pada tangkapan layar, kami sekarang memiliki 5 keluaran yang masing-masing kami tautkan ke simpul debug dan simpul dasbor teks. Ini akan berguna ketika kita perlu melihatnya di UI.
Langkah 3: Basis Data Dengan Wampserver
Agar database kami berfungsi, Anda harus menginstal Wampserver. Setelah diinstal dan ditampilkan sebagai ikon hijau (setelah Anda memulai semua layanan), Anda harus membuka "phpMyAdmin" yang akan membawa Anda ke layar login. sebelumnya mengubahnya, cukup masukkan "root" di nama pengguna dan login.
Tekan tombol phpmyadmin di bawah alat di bilah kiri dan itu akan membuka menu database, yang terlihat seperti yang ditunjukkan pada gambar di atas.
Buat database baru dan beri nama sesuatu yang terkait dengan proyek Anda, milik saya bernama "alarmsystem" (nama-nama ini akan peka huruf besar-kecil)
Di bawah database itu, buat tabel baru dan beri nama, milik saya bernama "alarmdata"
itu akan menanyakan apakah Anda ingin menggunakan "latin1_swedish_ci" dan kami hanya menyimpannya seperti itu.
Sekarang Anda membuat 6 tabel (1 lebih banyak dari data yang kami miliki)
Tabel pertama perlu menggunakan tipe data "teks panjang"
dan dataset lainnya menggunakan "mediumtext"
Pastikan untuk memberi nama mereka. (dataset pertama harus diberi nama "waktu"
Langkah 4: Basis Data
Dataset Wampserver akan terlihat seperti ini.
(tetapi tanpa data aktual, karena kami belum mencapainya)
Langkah 5: Node-merah ke Wampserver
Sekarang kami ingin data yang kami hasilkan dari arduino kami masuk ke Wampserver kami.
Mulailah dengan membuat blok fungsi Javascript lain dan hubungkan ke node input arduino kami.
Di blok skrip ini, kami sekali lagi membagi data kami, tetapi kami juga memasukkannya ke dalam database kami.
var data = msg.payload.split(", ");var Green1 = data[0]; var Hijau2 = data[1]; var Alarm = data[2]; var Milis = data[3]; var IsActive = data[4]; var out = "INSERT INTO alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES('"+new Date().toISOString().slice(0, 19).replace('T', ' ')+"', '"+Hijau1+"', '"+Hijau2+"', '"+Alarm+"', '"+Millis+"', '"+Aktif+"')"; msg.topic = keluar; kembali pesan;
Perhatikan saya memasukkan "INSERT INTO alarmsystem.alarmdata", ini adalah nama yang kami berikan pada database dan tabel kami, pastikan Anda menulis nama persis yang Anda berikan pada database Anda di dalamnya.
Sekarang hubungkan blok Javascript ke node debug dan juga node "mysql" yang ditemukan di bawah palet penyimpanan di sisi kiri.
di bawah blok mysql Anda beri nama sama dengan "sistem alarm" database Anda
ubah pengguna menjadi "root" (nama yang kami gunakan untuk masuk ke server kami)
host, port dan database harus sudah diisi dengan:
Tuan rumah: 127.0.0.1
Pelabuhan: 3306
Basis data: sistem alarm
Jika semua dilakukan dengan benar, itu harus terhubung setelah Anda menerapkan perubahan Anda.
Anda juga harus dapat melihat bahwa database sekarang mencatat data Anda dari Arduino secara langsung.
Langkah 6: Menggunakan Data Dari Wampserver ke Node-red
Untuk peregangan terakhir kami ingin melihat apakah kami dapat mengambil data yang telah kami simpan dan memasukkannya kembali ke dalam Node-red kami dan mudah-mudahan menampilkannya.
Mulailah dengan menempatkan simpul "suntikkan"
Di bawah topik di simpul ini kami menempatkan kode: SELECT*FROM alarmsystem.alarmdata
Ini akan dapat menemukan database kami ketika kami menekannya.
Hubungkan node injeksi ke node "mysql" baru yang diatur persis seperti yang kita lakukan pada langkah sebelumnya.
Hubungkan simpul mysql ke simpul debug dan simpul templat yang ditemukan di bawah dasbor.
Node template akan menjadi tabel kami yang dapat kami perbarui untuk menampilkan data dari database saat diproduksi.
Masukkan kode yang ditunjukkan pada tangkapan layar di atas (ubah sesuai kebutuhan) dan sekarang akan menampilkan tabel data di UI Node-red kami.
Kami juga dapat menambahkan tombol dasbor untuk memperbarui tabel dari UI itu sendiri.
Mulailah dengan membuat simpul tombol.
menghubungkan node tombol ke blok fungsi Javascript.
di blok fungsi kita masukkan kode berikut.
msg.topic = "PILIH * FROM alarmdata ORDER BY Green1 DESC LIMIT 20";return msg;
(Hijau1 menjadi variabel data pertama dalam tabel)
blok fungsi ini kemudian perlu dihubungkan ke input dari node mysql kami yang kami buat sebelumnya pada langkah ini.
Langkah 7: Menyelesaikan
Sekarang UI kami harus menyertakan pembaruan langsung dari data kami dan tabel dengan data dari server kami sendiri.
Ini berarti kita telah membuat koneksi antara Arduino, program berbasis UI dan database.
Jika Anda tertarik dengan cara kerja Sistem Alarm Arduino saya, saya telah menambahkan dokumen yang menjelaskan bagaimana itu diprogram dan diatur.
Serta ekspor penuh dari pemrograman node-red.
Direkomendasikan:
Jam Alarm Cerdas: Jam Alarm Cerdas Dibuat Dengan Raspberry Pi: 10 Langkah (dengan Gambar)
Jam Alarm Cerdas: Jam Alarm Cerdas yang Dibuat Dengan Raspberry Pi: Pernahkah Anda menginginkan jam pintar? Jika iya, ini solusinya untuk Anda! Saya membuat Smart Alarm Clock, ini adalah jam yang bisa Anda ubah waktu alarmnya sesuai dengan website. Saat alarm berbunyi, akan ada suara (buzzer) dan 2 lampu akan
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): 10 Langkah (dengan Gambar)
Skala Cerdas DIY Dengan Jam Alarm (dengan Wi-Fi, ESP8266, Arduino IDE dan Adafruit.io): Dalam proyek saya sebelumnya, saya mengembangkan skala kamar mandi pintar dengan Wi-Fi. Itu dapat mengukur berat pengguna, menampilkannya secara lokal dan mengirimkannya ke cloud. Anda bisa mendapatkan detail lebih lanjut tentang ini di tautan di bawah ini: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Musik Cerdas di Kamar Tidur dan Kamar Mandi Dengan Raspberry Pi – Mengintegrasikan Multiroom, Alarm, Kontrol Tombol, dan Otomatisasi Rumah: 7 Langkah
Musik Cerdas di Kamar Tidur dan Kamar Mandi Dengan Raspberry Pi – Mengintegrasikan Multiroom, Alarm, Kontrol Tombol, dan Otomatisasi Rumah: Hari ini kami ingin memberi Anda dua contoh tentang bagaimana Anda dapat menggunakan Raspberry Pi dengan perangkat lunak Max2Play kami untuk otomatisasi rumah: di kamar mandi dan kamar tidur . Kedua proyek serupa dalam hal musik dengan ketelitian tinggi dari berbagai sumber dapat dialirkan melalui
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: 5 Langkah (dengan Gambar)
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: Mengontrol 8 sakelar relai menggunakan nodemcu dan penerima ir melalui wifi dan ir remote dan aplikasi android.Remote ir bekerja terlepas dari koneksi wifi.INI VERSI TERBARU KLIK DI SINI
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: 13 Langkah (dengan Gambar)
Tampilan Suhu dan Kelembaban dan Pengumpulan Data Dengan Arduino dan Pemrosesan: Pendahuluan: Ini adalah Proyek yang menggunakan papan Arduino, Sensor (DHT11), komputer Windows dan program Pemrosesan (dapat diunduh gratis) untuk menampilkan data Suhu, Kelembaban dalam format digital dan bentuk grafik batang, menampilkan waktu dan tanggal dan menjalankan hitungan waktu