Isi kandungan:

Pot Tanaman Automatik - Taman Kecil: 13 Langkah (dengan Gambar)
Pot Tanaman Automatik - Taman Kecil: 13 Langkah (dengan Gambar)

Video: Pot Tanaman Automatik - Taman Kecil: 13 Langkah (dengan Gambar)

Video: Pot Tanaman Automatik - Taman Kecil: 13 Langkah (dengan Gambar)
Video: Taman Di Lahan Super Sempit#shorts 2024, Julai
Anonim
Pot Tanaman Automatik - Little Garden
Pot Tanaman Automatik - Little Garden

Saya pelajar dari Teknologi Multimedia dan Komunikasi di Howest Kortrijk. Untuk tugasan terakhir kami, kami harus membangunkan projek IoT pilihan kami sendiri.

Melihat idea, saya memutuskan untuk membuat sesuatu yang berguna untuk ibu saya yang gemar menanam tanaman dan mula mengusahakan periuk tanaman automatik.

Tugas utama untuk periuk tanaman automatik ini, Little Garden, adalah:

  • Ukur

    • Suhu
    • Keamatan cahaya
    • Kelembapan
    • Kelembapan tanah

Simpan ukuran ke pangkalan data

Tingkatkan keadaan pertumbuhan tanaman jika nilai tertentu terlalu rendah

Biarkan peranti dipantau dan dikendalikan melalui laman web

Tidak setiap langkah harus diikuti dengan tepat. Banyak perkara yang berlaku boleh menjadi pilihan peribadi anda atau diperbaiki. Binaan ini dibuat dengan cara supaya bahagian dapat dipulihkan selepas itu, jadi anda mungkin ingin mendekati lelaran anda secara berbeza untuk menjadikannya lebih kekal

Langkah 1: Bekalan

Bekalan
Bekalan
Bekalan
Bekalan
Bekalan
Bekalan

Sebilangan besar bekalan untuk projek ini tidak sukar diperoleh, walaupun dalam kes saya, saya bekerja dengan banyak bahan kitar semula. Saya juga harus memastikan bahawa saya dapat memulihkan beberapa bahan selepas itu.

Komponen teras:

  • Raspberry Pi 4 model B
  • Bekalan kuasa Raspberry Pi
  • Raspberry Pi T-tukang sepatu
  • Kad SD mikro 16GB
  • Bekalan kuasa papan roti dengan 3.3V dan 5V
  • Papan roti
  • Bekalan kuasa 12V

Sensor:

  • DHT11: Sensor Kelembapan dan Suhu
  • BH1750: Sensor intensiti cahaya
  • Sensor kelembapan tanah
  • MCP3008

Komponen penggerak:

  • Pam Air 220V
  • Jalur LED 12V
  • Modul geganti Velleman
  • TIP 50: Transistor NPN
  • Paparan moduke LCD 16X2
  • PCF8574a

Perintang:

  • Perintang 3 x 330 Ohm
  • Perintang 1 x 5k Ohm
  • 2 x 10k perintang Ohm
  • Perintang Ohm 1 x 1k
  • Perintang Potentio 1 x 10k

Bahan:

  • Pot rumah hijau / tanaman pasang siap
  • Kotak persimpangan
  • Botol air plastik
  • Pusing
  • Wayar pelompat + wayar biasa
  • Skru
  • Tin pematerian + tiub pengecutan panas
  • Ducktape dua sisi
  • Cat

Alat:

  • Pistol gam
  • Gerudi
  • Gergaji besi
  • Besi pematerian
  • Pemotong kotak
  • Berus cat

Perkara yang rapi mengenai projek ini ialah dapat dikembangkan atau dipermudahkan, dengan menambahkan / mengeluarkan komponen dan sedikit mengubah kodnya. Contohnya, dengan mengganti pam 220V dengan pam 12V, anda boleh mengeluarkan penyesuai kuasa dari peranti.

Langkah 2: Skema Fritzing

Skema Fritzing
Skema Fritzing
Skema Fritzing
Skema Fritzing

Skema papan roti dan elektrik untuk peranti ditunjukkan di atas. Di sini anda dapat melihat bagaimana semua komponen dihubungkan bersama.

Penjelasan umum bagaimana komponen berfungsi:

  • DHT11 mengukur kelembapan udara dalam% dan suhu dalam ° C. Komunikasi dengannya dikendalikan oleh bu I2C.
  • BH1750 mengukur intensiti cahaya dalam lux. Komunikasi dikendalikan oleh bas I2C
  • Sensor kelembapan tanah menghasilkan isyarat digital yang ditukar oleh MCP3008 menjadi isyarat digital yang boleh dibaca untuk Raspberry Pi
  • Modul LCD 16x2 memaparkan alamat IP dari Pi, satu demi satu. Ia disambungkan ke PCF8574a yang menerima isyarat dari Raspberry Pi yang akan mengubahnya menjadi sejumlah isyarat untuk pin bit paparan. Pin E dan RS dari LCD disambungkan terus ke Pi. Perintang potensio menentukan kecerahan skrin.
  • Pam air disambungkan ke geganti yang berada di antaranya dan ia adalah bekalan kuasa 220V / soket. Raspberry Pi dapat menghantar isyarat ke relay untuk menutup litar elektrik dan menghidupkan pam.
  • Jalur LED disambungkan ke bekalan kuasa 12V dan TIP 50 (transistor NPN) yang menukar arus elektrik. Perintang 1k Ohm digunakan untuk mengehadkan daya yang ditarik dari Raspberry Pi, jika tidak, ia akan digoreng lebih renyah.

Langkah 3: Sediakan Pi Raspberry

Sediakan Pi Raspberry
Sediakan Pi Raspberry

Sekiranya anda belum memilikinya, anda perlu meletakkan salah satu gambar Raspberry Pi OS pada kad SD. Saya tidak mengesyorkan menggunakan Lite, kerana ini menyebabkan saya mengalami masalah pada awalnya. Selepas itu anda harus memastikan Pi anda terkini dengan menggunakan arahan berikut semasa Pi disambungkan ke internet:

  1. sudo apt-get kemas kini
  2. sudo apt-get peningkatan

Selepas itu anda boleh mengaktifkan atau memasang pakej untuk projek berfungsi, baik melalui raspi-config atau perintah.

  • SPI
  • I2C
  • MySQL: langkah seterusnya
  • SocketIO: pip pasangkan flask-socketio

Selepas penyediaan, anda boleh menambahkan fail yang diperlukan yang ditulis dalam html, CSS, Javascript dan Python. Semua kod saya boleh didapati di repositori github saya.

Langkah 4: Model Pangkalan Data - MySQL

Model Pangkalan Data - MySQL
Model Pangkalan Data - MySQL

Di atas anda dapat melihat rajah ERD yang dihoskan melalui MariaDB. Saya cadangkan untuk mengikuti panduan pemasangan MariaDB ini, bukan sahaja untuk memasang MariaDB, tetapi juga untuk memastikan Pi anda dilindungi.

Bagi orang yang ingin memahami, pangkalan data berfungsi seperti berikut:

Togol pengukuran dan penggerak disimpan sebagai baris dalam jadual Metingen.

  • metingId = ID pengukuran / togol baris
  • deviceId = ID peranti yang bertanggungjawab untuk baris ini dalam jadual
  • waarde = nilai pengukuran sensor atau togol penggerak

    • sensor: nilai pengukuran dalam unit yang sesuai
    • penggerak: 0 = OFF dan 1 = ON
  • commentaar = komen yang digunakan untuk menambahkan maklumat tambahan, seperti kesalahan
  • datum = tarikh dan masa di mana pengukuran / togol berlaku

Tetapan untuk peranti disimpan dalam Tetapan.

  • settingId = ID baris ini dan nilai tetapan
  • deviceID = ID peranti / sensor yang sesuai
  • waarde = nilai tetapan
  • type = type of settin, adakah maksimum atau minimum?

Akhir sekali, jadual Peranti menyimpan maklumat mengenai sensor dan penggerak.

  • deviceId = ID peranti dalam jadual ini
  • naam = nama peranti / komponen
  • merk = jenama
  • prijs = harga komponen
  • beschrijving = ringkasan komponen
  • eenheid = unit untuk nilai yang diukur
  • typeDevice = menentukan sama ada komponen itu sensor atau penggerak

Langkah 5: Frontend: Menyiapkan Pelayan Web

Frontend: Menyiapkan Pelayan Web
Frontend: Menyiapkan Pelayan Web

Pi akan meminta anda memasang pelayan web Apache untuk menjalankan pelayan web untuk peranti ini. Ini boleh dilakukan dengan arahan berikut:

sudo apt-get install apache2.

Setelah ini selesai, anda boleh menavigasi ke folder: / var / www / html. Di sini anda perlu meletakkan semua kod frontend. Selepas itu, anda boleh mengakses laman web dengan melayari alamat IP.

Langkah 6: Backend

Untuk menjalankan backend, anda perlu menjalankan fail app.py, baik secara manual atau dengan membuat perkhidmatan untuknya di Pi sehingga ia akan dimulakan secara automatik.

Seperti yang anda perhatikan, terdapat beberapa fail. Saya memisahkan kod sebanyak mungkin untuk mendapatkan gambaran keseluruhan dan organisasi kod yang jelas.

Penjelasan ringkas:

app.py: Fail utama di mana pangkalan data, kod perkakasan dan kod backend digabungkan

config.py: Fail konfigurasi untuk pangkalan dataRepositori

Repositori: Untuk akses ke repositori data

  • Penolong

    • devices_id: kelas untuk membantu mengenal pasti maklumat peranti dalam pangkalan data
    • lcd: untuk menjalankan PCF dan LCD
    • Penggerak: kelas untuk menjalankan penggerak
    • Sensor: kelas untuk menjalankan sensor

Langkah 7: Meletakkan Jalur LED

Meletakkan Jalur LED
Meletakkan Jalur LED

Saya memotong sekeping jalur LED dan menempelkannya ke bahagian atas kotak rumah hijau. Jalur yang saya gunakan boleh dipotong pada beberapa kedudukan dan disambungkan semula, jadi anda boleh meletakkan beberapa jalur dan menyambungkannya semula selepas itu melalui wayar, yang membolehkan lebih banyak ruang menyala.

Langkah 8: Meletakkan Tiub

Meletakkan Tiub
Meletakkan Tiub

Tiub boleh diletakkan dengan beberapa cara, tetapi dalam kes saya, saya memasangkannya ke sisi bawah, menjauhkannya dari elektronik lain yang mungkin dan membiarkan air mengalir ke kotoran.

Langkah 9: Meletakkan LCD

Meletakkan LCD
Meletakkan LCD

Saya memotong keseluruhan penutup kotak persimpangan dengan pisau gergaji, membuat bukaan yang cukup besar untuk paparan dapat dilalui, tetapi cukup kecil sehingga PCB akan tetap berada di belakangnya. Setelah itu, ia dilekatkan pada penutup menggunakan tusuk.

LCD memaparkan alamat IP Raspberry Pi, memungkinkan untuk mengetahui alamat apa yang boleh anda gunakan untuk melayari laman web.

Langkah 10: Letakkan Sensor dan Sambungkan Jalur LED

Meletakkan Sensor dan Menyambungkan Jalur LED
Meletakkan Sensor dan Menyambungkan Jalur LED
Meletakkan Sensor dan Menyambungkan Jalur LED
Meletakkan Sensor dan Menyambungkan Jalur LED

Dengan menggunakan skema fritzing, saya menyambungkan sambungan antara wayar dan meletakkan perintang di dalam wayar, menggunakan tiub pengecutan panas untuk mengasingkannya.

Lubang dipotong di sisi penutup dan bahagian bawah rumah hijau untuk memasang putar, di mana saya menarik wayar untuk sensor dan jalur LED.

Saya mengelompokkan wayar mengikut fungsi. Ketegangan dari wayar dan tiub mengecil itu sendiri menahan sensor. Saya hanya perlu menggunakan gam pada wayar untuk DHT11 kerana ini semakin jauh.

Langkah 11: Menyusun Pi

Pendawaian Pi
Pendawaian Pi
Pendawaian Pi
Pendawaian Pi
Pendawaian Pi
Pendawaian Pi

Saya memotong lubang di bahagian persimpangan untuk membolehkan wayar masuk kemudian.

Selepas itu, saya meletakkan papan roti (dengan T-cobbler, PCF8574a, MCP3008, ketahanan boleh laras dan TIP50), relay dan Raspberry Pi di bahagian bawah kotak persimpangan, yang ditutup dengan ducktape dua sisi. Bekalan kuasa tidak sesuai di papan roti, jadi saya harus meletakkannya di sisi dan menggunakan wayar pelompat untuk menyambungkannya ke papan roti.

Akhirnya saya menarik wayar penyesuai, sensor dan penggerak melalui lubang yang menghubungkan wayar ke papan roti, Raspberry Pi dan komponen lain. Kawat pam dipotong sehingga saya dapat meletakkan hujungnya di dalam relay sehingga dapat digunakan sebagai suis.

Langkah 12: Membuat Bekas Air

Membuat Bekas untuk Air
Membuat Bekas untuk Air

Saya membuat bekas air dari botol air plastik 1l dengan memotong bahagian atas dengan pemotong kotak dan mengecatnya agar kelihatan lebih baik. Pam air kemudian diletakkan di dalam. Sebab peraturan kapal berkomunikasi, air berpotensi mengalir melalui paip sendiri, tetapi menahan tiub memperbaiki masalahnya.

Langkah 13: Keputusan Akhir

Keputusan akhir
Keputusan akhir
Keputusan akhir
Keputusan akhir

Momen yang anda nantikan. Sekarang anda boleh meletakkan kotoran dan biji di dalam kotak rumah hijau dan membiarkan peranti itu mengambil alih. Anda boleh memantau status peranti dari laman web dan menetapkan nilai optimum untuk keadaan pencahayaan dan tanah.

Saya mengesyorkan menyiram tanah terlebih dahulu secara manual, kerana pada awalnya kotoran boleh menjadi kering. Beberapa pam juga kelihatan menyiram dengan perlahan, tetapi anda perlu berhati-hati kerana ia akan mengisi lebih cepat daripada yang anda harapkan. Ketepuan melebihi 80% boleh menjadikan tanah sangat lembab. Dan pastikan sensor kelembapan tanah cukup dalam.

Disyorkan: