Daftar Isi:
- Langkah 1: Panduan Instalasi
- Langkah 2: Etalase Kontrol
- Langkah 3: Daftar Bagian/perangkat lunak yang Digunakan dalam Proyek
- Langkah 4: Daftar I/0
- Langkah 5: Diagram Pengkabelan
- Langkah 6: Kode Arduino
- Langkah 7: Raspberry Pi 3 B+
- Langkah 8: Python
- Langkah 9: MySQL
- Langkah 10: Node-Merah
Video: UCL - Rumah Kaca IIOT: 11 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Proyek ini merupakan perpanjangan dari proyek kami sebelumnya dengan Rumah Kaca (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
Dalam proyek ini kami menambahkan database, di mana kami mencatat semua data kami dan kemudian memvisualisasikannya dengan node-red untuk gambaran yang lebih besar.
Konten yang kami log di database kami adalah Kelembaban, Suhu dan kelembaban tanah, yang ditunjukkan dalam diagram yang berbeda.
Selain dataloggin, kita juga dapat mengontrol profil mana yang aktif di Greenhouse dan mengontrolnya dari jarak jauh.
Kemudian kita juga bisa mengontrol pompa dan kipas secara manual.
Langkah 1: Panduan Instalasi
Langkah pertama adalah menginstal semua komponen yang berbeda.
Di dalam tanda kurung (), kami telah mencantumkan di mana komponen terhubung. Jadi misalnya Arduino terhubung ke Raspberry Pi melalui kabel USB.
Perangkat keras yang digunakan:
- Arduino (Raspberry Pi)
- Raspberry Pi 3 B+
- Higrometer tanah (Arduino)
- Sensor DHT11 (Arduino)
- Pompa Air Submersible HG-320 (Relay)
- Relai 5V (Arduino)
- Kipas komputer (Relay)
- Catu daya 230V (Pompa)
Perangkat lunak yang digunakan:
- Raspbian (OS untuk Raspberry Pi)
- Arduino IDE
- Python (Raspberry Pi)- PySerial- MySQLclient
- Node-Red (Raspberry Pi)- Pythonshell- Summariser- MySQL- Dashboard
- Server MySQL (freemysqlhosting.net)
Pertama, Anda harus menghubungkan komponen perangkat keras, jadi ikuti panduan ini untuk membangun rumah kaca: Panduan Instal.
Kemudian Anda harus menginstal OS Raspbian di Raspberry Pi Anda. Setelah itu Anda harus menginstal Python, dan kemudian menginstal pustaka python.
Langkah selanjutnya adalah menginstal Node-Red pada Raspberry Pi, lalu arahkan ke manajer palet dan instal modul yang disebutkan sebelumnya.
Lalu buka situs ini Server MySQL Gratis dan buat server MySQL gratis.
Ketika semua ini selesai, Anda siap untuk mentransfer skrip python ke Raspberry Pi Anda, mengimpor skrip Node-Red dan mengunggah kode untuk Arduino.
Langkah 2: Etalase Kontrol
Langkah 3: Daftar Bagian/perangkat lunak yang Digunakan dalam Proyek
Kami telah menggunakan teknologi berikut untuk membuat Rumah Kaca
- Arduino
- Raspberry Pi
- Node-Merah
- Python
- PHPMyAdmin
Langkah 4: Daftar I/0
Langkah 5: Diagram Pengkabelan
Langkah 6: Kode Arduino
Kode Arduino bekerja dengan mencetak data yang diukur oleh sensor ke koneksi serial yang dibaca oleh Raspberry Pi dan ditransfer ke database.
Arduino juga memiliki beberapa pin input digital yang terhubung ke Raspberry Pi yang dibaca oleh Arduino dan jika salah satu dari ketiganya menjadi TINGGI profilnya akan berubah karena pernyataan IF.
Kami juga telah memutakhirkan kode untuk menggunakan Millis alih-alih penundaan yang memungkinkan buttoms dan sisa kode untuk dibaca sepanjang waktu alih-alih interval oleh penundaan lama.
Langkah 7: Raspberry Pi 3 B+
Kami menggunakan Raspberry Pi 3 B+ untuk menghubungkan Arduino kami dengan internet dan database MySQL. Ini memungkinkan kami untuk menyimpan data dari sensor kami dan membuat antarmuka visual untuk pengguna akhir. Untuk antarmuka pengguna kami menggunakan Node-Red dengan palet Dashboard.
Tetapi sebelum kami dapat menampilkan data sensor kami di Node-Red, kami membutuhkan cara untuk mengunggah data ke database MySQL, dan untuk itu kami membuat skrip Python yang akan berjalan di Raspberry Pi kami.
Langkah 8: Python
Skrip Python digunakan untuk menerima data dari komunikasi serial yang berasal dari Arduino. Script kemudian mengirimkan data ke database MySQL.
Kami menggunakan dua perpustakaan, pyserial dan mysqlclient.
Jadi langkah pertama adalah mengunduh dua perpustakaan ini:
- PySerial
- klien MySQL
PySerial digunakan untuk mengumpulkan data dari Arduino melalui komunikasi serial.
perangkat = '/dev/ttyUSB0'
arduino = serial. Serial(perangkat, 9600)
Baris pertama digunakan untuk mendefinisikan COM-port kami. Di Raspberry Pi adalah /dev/ttyUSB0, yang kami gunakan untuk Arduino. Baris kedua adalah untuk membuka port serial ke Arduino. Kami hanya menentukan port COM mana dan pada kecepatan apa koneksi berjalan.
Sisa kode berjalan dalam loop sementara.
Selanjutnya kita menggunakan beberapa blok Coba dan Kecuali. Pertama kode mencoba dijalankan di dalam blok Coba, jika gagal maka ia menjalankan blok Kecuali. Tetapi jika blok Coba berjalan dengan baik, itu tidak menjalankan blok Kecuali, itu hanya menjalankan sisa kode.
Jadi di dalam blok Try kami memiliki kode yang akan membaca komunikasi serial dan kemudian mengirimkannya ke database MySQL kami.
hygrolist = arduino.readlines(1)
templist = arduino.readlines(2)humidlist = arduino.readlines(3)
Jadi kode di atas adalah untuk membaca baris dalam komunikasi serial. Angka di akhir kode mendefinisikan baris yang telah dibaca dalam serial. Jadi garis-garis ini dikategorikan dalam variabel yang berbeda.
Ketika data dari Arduino diterima, kami menggunakan modul mysqlclient untuk mengirim data ke Server MySQL kami.
db = _mysql.connect(host="sql7.freemysqlhosting.net", pengguna="sql7256552", passwd="3ebtbP8FQ2", db="sql7256552")
Baris ini untuk menghubungkan ke database MySQL kami. Ini menentukan server, nama pengguna, kata sandi, dan basis data mana yang harus terhubung di dalam server. Di sini Anda harus menentukan koneksi ke DB MySQL Anda.
db.query("INSERTINTO `TempHumid`(`temp`, `humid`, `hygro`) NILAI (%s, %s, %s)" % (suhu, lembab, higro))
Jadi di sini kami mengambil koneksi DB kami dan membuat kueri SQL. Kueri mengatakan bahwa nilai harus dimasukkan ke dalam tabel "TempHumid" dan kemudian ke dalam kolom "temp", "humid" dan "hygro". Bagian terakhir “(%s, %s, %s)” adalah format string dan digunakan untuk memberikan database format yang dapat dibaca.
Dan semua tindakan ini dimasukkan ke dalam loop sementara, sehingga kami terus mendapatkan data yang dikirim ke server MySQL.
Jika Anda ingin melihat semua kode, unduh skrip python (TempHumid.py).
Langkah 9: MySQL
Untuk server MySQL, kami menggunakan layanan gratis di www.freemysqlhosting.net. Kami dapat membuat server secara lokal di Raspberry Pi, tetapi kami menggunakan layanan gratis untuk membuatnya sepenuhnya terhubung ke cloud/internet.
Untuk mengakses MySQL Anda, Anda harus pergi ke phpmyadmin.co dan login dengan kredensial dari akun freemysqlhosting Anda.
Ketika Anda berada di dalam, Anda harus membuat tabel yang disebut "TempHumid", di dalam tabel ini Anda harus membuat 4 kolom yang disebut, "ID", "temp", "humid" dan "hygro". Kolom pertama (ID) Anda harus mencentang kotak A_I (Auto Increment). Ini agar kolom ID memberi setiap dataset sebuah ID. Semua kolom berikut harus ditetapkan sebagai INT (bilangan bulat), dan menetapkan nilai standar ke NULL.
Langkah 10: Node-Merah
Dalam proyek kami, kami menggunakan Node-Red untuk membuat antarmuka grafis. Node-Red berjalan di Raspberry Pi dan mengumpulkan data dari database MySQL kami dan menampilkan data ini dengan pengukur berbentuk donat dan grafik grafik, sehingga pengguna akhir dapat memantau data. Hal cerdas tentang Node-Red adalah dapat dilihat di perangkat apa pun, yang berarti situs akan diubah ukurannya untuk perangkat tertentu yang melihat konten.
Untuk menginstal pemrograman Node-Red kami, lihat Langkah 1 dan unduh dokumen yang disebut "Node-Red.docx". Kemudian salin dan tempel teks ke Node-Red melalui fungsi impor di sudut kanan atas.
Setelah itu ubah pengaturan DB untuk DB MySQL Anda.
Direkomendasikan:
UCL - IIoT - Iklim dalam ruangan 4.0: 8 Langkah
UCL - IIoT - Iklim dalam ruangan 4.0: Setelah membaca dan bekerja dengan instruksi ini, Anda akan memiliki iklim dalam ruangan otomatis Anda sendiri, yang dapat Anda amati secara online dengan bantuan Node-red. Dalam kasus kami, kami mengembangkan ide ini dan mempresentasikannya di rumah cetak 3D
UCL-IIoT-Drivhus: 5 Langkah
UCL-IIoT-Drivhus: Tujuan dari proyek ini adalah untuk membangun Garden House menggunakan Arduino. Oleh karena itu 3 siswa dalam kelompok memutuskan untuk membuat Greenhouse otomatis, kami memutuskan untuk membuat datalogging informasi yang diberikan oleh rumah kaca, melalui Wamp-server, node-re
UCL-IIOT - Sistem Alarm Dengan Database dan Node-red: 7 Langkah
UCL-IIOT - Sistem Alarm Dengan Database dan Node-red: 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
UCL-IIoT-Strongbox Dengan RFID dan Layar LCD (Nodered, MySQL): 5 Langkah
UCL-IIoT-Strongbox Dengan RFID dan Layar LCD (Nodered,MySQL): Proyek Arduino dengan pemindai RFID dan LCD.Pendahuluan Sebagai penutup kursus kami dengan pengontrol mikro, lebih khusus lagi Arduino Mega yang telah kami gunakan. Kami telah ditugaskan untuk membuat proyek yang mencakup Arduino Mega kami, selain
UCL-IIOT - Pencatatan Data di Raspberry Pi: 6 Langkah
UCL-IIOT - Pencatatan Data pada Raspberry Pi: Instruksi ini dibuat oleh Obayda Haj Hamoud dan Sidse Henriksen untuk proyek sekolah. Ide utamanya adalah mengumpulkan data dari sensor alight, mencatat data ke database secara nirkabel di raspberry pi dan memantau data tersebut melalui dasbor