Isi kandungan:
- Langkah 1: Panduan Pemasangan
- Langkah 2: Pameran Kawalan
- Langkah 3: Senarai Bahagian / perisian yang Digunakan dalam Projek
- Langkah 4: Senaraikan I / 0
- Langkah 5: Diagram Pendawaian
- Langkah 6: Kod Arduino
- Langkah 7: Raspberry Pi 3 B +
- Langkah 8: Python
- Langkah 9: MySQL
- Langkah 10: Node-Red
Video: Rumah Hijau UCL - IIOT: 11 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Projek ini adalah lanjutan dari projek kami yang lebih awal dengan Greenhouse (https://www.instructables.com/id/EAL-EMBEDDED-GREE…).
Dalam projek ini kami menambahkan pangkalan data, di mana kami mencatat semua data kami dan kemudian memvisualisasikannya dengan simpul-merah untuk gambaran keseluruhan yang lebih besar.
Kandungan yang kami log masuk dalam pangkalan data kami adalah Kelembapan, Suhu dan kelembapan tanah, yang ditunjukkan dalam rajah yang berbeza.
Selain dataloggin, kami juga dapat mengawal profil mana yang aktif di Greenhouse dan mengawalnya dari jauh.
Kemudian kita juga dapat mengawal pam dan kipas secara manual.
Langkah 1: Panduan Pemasangan
Langkah pertama ialah memasang semua komponen yang berbeza.
Di dalam kurungan (), kami telah menyenaraikan tempat komponen tersebut dihubungkan. Sebagai contoh, Arduino disambungkan ke Raspberry Pi melalui kabel USB.
Perkakasan yang digunakan:
- Arduino (Raspberry Pi)
- Raspberry Pi 3 B +
- Hygrometer tanah (Arduino)
- Sensor DHT11 (Arduino)
- Pam Air Submersible HG-320 (Relay)
- Geganti 5V (Arduino)
- Kipas komputer (Relay)
- Bekalan kuasa 230V (Pam)
Perisian yang digunakan:
- Raspbian (OS untuk Raspberry Pi)
- Arduino IDE
- Python (Raspberry Pi) - PySerial- MySQLclient
- Node-Red (Raspberry Pi) - Pythonshell- Summariser- MySQL- Papan Pemuka
- Pelayan MySQL (freemysqlhosting.net)
Mula-mula anda perlu menyambungkan komponen perkakasan, jadi ikuti panduan ini untuk membina rumah hijau: Panduan Pasang.
Maka anda perlu memasang OS Raspbian pada Raspberry Pi anda. Selepas itu anda perlu memasang Python, dan kemudian memasang perpustakaan python.
Langkah seterusnya adalah memasang Node-Red pada Raspberry Pi, dan kemudian pergi ke pengurus palet dan pasang modul yang dinyatakan sebelumnya.
Kemudian pergi ke laman web ini MySQL Server Percuma dan buat pelayan MySQL percuma.
Apabila semua ini selesai, anda sudah bersedia untuk memindahkan skrip python ke Raspberry Pi anda, mengimport skrip Node-Red dan memuat naik kod untuk Arduino.
Langkah 2: Pameran Kawalan
Langkah 3: Senarai Bahagian / perisian yang Digunakan dalam Projek
Kami telah menggunakan teknologi berikut untuk membuat Rumah Hijau
- Arduino
- Pai raspberi
- Node-Red
- Python
- PHPMyAdmin
Langkah 4: Senaraikan I / 0
Langkah 5: Diagram Pendawaian
Langkah 6: Kod Arduino
Kod Arduino berfungsi dengan mencetak data, diukur oleh sensor, ke sambungan bersiri di mana ia dibaca oleh Raspberry Pi dan dipindahkan ke pangkalan data.
Arduino juga mempunyai beberapa pin input digital yang disambungkan ke Raspberry Pi yang dibaca oleh Arduino dan jika salah satu dari tiga menjadi TINGGI profil akan berubah kerana pernyataan IF.
Kami juga telah meningkatkan kod untuk menggunakan Millis dan bukannya penundaan yang membolehkan butang dan selebihnya kod dibaca sepanjang masa dan bukannya selang dengan kelewatan lama.
Langkah 7: Raspberry Pi 3 B +
Kami menggunakan Raspberry Pi 3 B + untuk menghubungkan Arduino kami dengan internet dan pangkalan data MySQL. Ini memungkinkan kami menyimpan data dari sensor kami dan membuat antara muka visual untuk pengguna akhir. Untuk antara muka pengguna kami menggunakan Node-Red dengan palet Dashboard.
Tetapi sebelum kami dapat menunjukkan data sensor kami di Node-Red, kami memerlukan cara untuk memuat naik data pada pangkalan data 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 bersiri yang berasal dari Arduino. Skrip kemudian menghantar data ke pangkalan data MySQL.
Kami menggunakan dua perpustakaan, pyserial dan mysqlclient.
Jadi langkah pertama adalah memuat turun kedua perpustakaan ini:
- PySerial
- Pelanggan MySQL
PySerial digunakan untuk mengumpulkan data dari Arduino melalui komunikasi bersiri.
peranti = '/ dev / ttyUSB0'
arduino = bersiri. Siri (peranti, 9600)
Baris pertama digunakan untuk menentukan port COM kami. Pada Raspberry Pi adalah / dev / ttyUSB0, yang kami gunakan untuk Arduino. Baris kedua adalah untuk membuka port bersiri ke Arduino. Kami hanya menentukan port COM dan pada kelajuan apa sambungan berjalan.
Selebihnya kod berjalan dalam beberapa saat.
Seterusnya kami menggunakan beberapa blok Try and Except. Mula-mula kod tersebut cuba dijalankan di dalam blok Cuba, jika gagal maka jalankan blok Kecuali. Tetapi jika blok Cuba berjalan dengan baik, ia tidak menjalankan blok Kecuali, ia hanya menjalankan kod yang lain.
Jadi di dalam blok Cuba kita mempunyai kod yang akan membaca komunikasi bersiri dan kemudian menghantarnya ke pangkalan data MySQL kami.
hygrolist = arduino.readlines (1)
templist = arduino.readlines (2) senarai humid = arduino.readlines (3)
Jadi kod di atas adalah untuk membaca baris dalam komunikasi bersiri. Nombor di akhir kod menentukan garis yang telah dibaca dalam siri. Jadi garis-garis ini dikategorikan dalam pemboleh ubah yang berbeza.
Semasa 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")
Garis ini adalah untuk menyambung ke pangkalan data MySQL kami. Ini menentukan pelayan, nama pengguna, kata laluan dan pangkalan data mana yang harus disambungkan ke dalam pelayan. Di sini anda harus menentukan sambungan ke MySQL DB anda.
db.query ("INSERTINTO` TempHumid` (`temp`,` humid`, `hygro`) NILAI (% s,% s,% s)"% (temp, lembab, hygro))
Jadi di sini kami mengambil sambungan DB kami dan membuat pertanyaan SQL. Pertanyaan mengatakan bahawa nilai harus dimasukkan ke dalam tabel "TempHumid" dan kemudian ke lajur "temp", "lembab" dan "hygro". Bahagian terakhir “(% s,% s,% s)” adalah pemformatan string dan digunakan untuk memberikan pangkalan data format yang dapat dibaca.
Dan semua tindakan ini dimasukkan ke dalam loop sementara, agar kami terus mendapatkan data yang dihantar ke pelayan MySQL.
Sekiranya anda ingin melihat semua kodnya, muat turun skrip python (TempHumid.py).
Langkah 9: MySQL
Untuk pelayan MySQL, kami menggunakan perkhidmatan percuma di www.freemysqlhosting.net. Kami mungkin membuat pelayan tempatan di Raspberry Pi, tetapi kami menggunakan perkhidmatan percuma untuk menjadikannya terhubung sepenuhnya ke awan / internet.
Untuk mengakses MySQL anda, anda perlu pergi ke phpmyadmin.co dan log masuk dengan bukti kelayakan dari akaun freemysqlhosting anda.
Apabila anda berada di dalam, anda harus membuat jadual yang disebut "TempHumid", di dalam jadual ini anda harus membuat 4 lajur yang disebut, "ID", "temp", "lembab" dan "hygro". Lajur pertama (ID) anda harus menandakan kotak A_I (Kenaikan Auto). Ini supaya lajur ID memberikan setiap kumpulan data ID. Semua lajur berikut harus ditetapkan sebagai INT (bilangan bulat), dan menetapkan nilai standard ke NULL.
Langkah 10: Node-Red
Dalam projek kami, kami menggunakan Node-Red untuk membuat antara muka grafik. Node-Red berjalan di Raspberry Pi dan mengumpulkan data dari pangkalan data MySQL kami dan menunjukkan data ini dengan alat pengukur berbentuk donat dan grafik, sehingga pengguna akhir dapat memantau data. Perkara yang bijak mengenai Node-Red adalah bahawa ia dapat dilihat di mana-mana peranti, yang bermaksud bahawa laman web akan diubah saiznya untuk peranti tertentu yang melihat kandungannya.
Untuk memasang pengaturcaraan Node-Red kami, lihat Langkah 1 dan muat turun dokumen yang dipanggil "Node-Red.docx". Kemudian salin dan tampal teks ke Node-Red melalui fungsi import di sudut kanan atas.
Selepas itu ubah tetapan DB untuk MySQL DB anda.
Disyorkan:
Rumah hijau dalaman automatik berdasarkan Ikea Socker: 5 Langkah
Rumah hijau dalaman automatik berdasarkan Ikea Socker: Hai, ini adalah arahan pertama saya. Saya belajar banyak dengan keselesaan ini, dan saya rasa sudah tiba masanya untuk mengembalikan idea saya yang rendah hati. Saya minta maaf kerana bahasa inggeris saya, miskin, tetapi saya akan melakukan semua yang saya boleh. Ideanya adalah untuk membuat rumah hijau meja yang membolehkan saya menanam benih dan
Mengautomasikan Rumah Hijau Dengan LoRa! (Bahagian 2) -- Pembuka Tingkap Bermotor: 6 Langkah (dengan Gambar)
Mengautomasikan Rumah Hijau Dengan LoRa! (Bahagian 2) || Pembuka Tingkap Bermotor: Dalam projek ini saya akan menunjukkan kepada anda bagaimana saya membuat pembuka tingkap bermotor untuk rumah hijau saya. Ini bermakna saya akan menunjukkan kepada anda motor apa yang saya gunakan, bagaimana saya merancang sistem mekanikal sebenar, bagaimana saya menggerakkan motor dan akhirnya bagaimana saya menggunakan Arduino LoRa
Pemantauan Rumah Hijau Dengan IOT: 5 Langkah
Pemantauan Rumah Hijau Dengan IOT: Ketika datang ke pertanian, memantau suhu & kelembapan tumbuhan adalah faktor penting untuk kelangsungan hidupnya. Pada masa ini, orang menggunakan termometer yang terpasang di rumah hijau sehingga para petani dapat mengukur suhu. Walau bagaimanapun, aplikasi manual ini
Greentent - Rumah Hijau Mini Portable Pertama di Dunia Dengan Pengukuran Temp dan Kelembapan Arduino: 3 Langkah
Greentent - Rumah Hijau Mini Portable Pertama di Dunia Dengan Pengukuran Temp dan Kelembapan Arduino: Saya pertama kali muncul dengan idea rumah hijau mudah alih yang boleh anda pindahkan pada waktu malam ketika saya ingin membuat cara untuk memiliki taman kecil di dalam kotak dengan Suhu yang dipantau dan Kelembapan. Oleh itu, sudah larut malam dan saya ingin pergi ke sebuah kedai untuk mendapatkan su
Rumah Hijau yang Hebat Dengan Penyiraman Automatik, Sambungan Internet & Banyak Lagi: 7 Langkah (dengan Gambar)
Rumah Hijau yang Hebat Dengan Penyiraman Automatik, Sambungan Internet & Banyak Lagi: Selamat Datang ke Instruksional ini. Pada awal perarakan, saya berada di sebuah kedai kebun dan melihat beberapa rumah hijau. Dan kerana sudah lama saya ingin membuat projek dengan loji dan elektronik, saya terus membelinya: https://www.instagram.com/p