Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Komponen dan Perlengkapan

Alat dan Mesin yang Diperlukan

Tentang Proyek Ini

Ringkasan

Lahan pertanian adalah sumber daya yang berharga, sangat diperlukan untuk kelangsungan masyarakat modern. Namun, begitu banyak tantangan dihadapi dalam pertanian. Anda perlu mendapatkan suhu, kelembaban dan sinar matahari yang tepat untuk tanaman, dan kemudian Anda harus memastikan tidak ada yang merusak tanaman.

Konsep smart farming telah berkembang dalam beberapa tahun terakhir, ide untuk memantau kondisi tanaman Anda dari jarak jauh. Namun, revolusi dalam pertanian ini datang dengan biaya yang tinggi. Sebagian besar sistem yang tersedia terlalu mahal untuk diterapkan di pertanian kecil dan sistem mungkin tidak mencakup pertanian besar.

SmartAgro bertujuan untuk membuat jaringan perangkat yang mudah digunakan dan dapat ditempatkan di lapangan yang dipantau. Perangkat ini mengumpulkan data atmosfer, parameter terkait tanah dan nilai cahaya, lalu mengirim semua data ke cloud tempat data ditampilkan di dasbor.

Ini memungkinkan setiap pertanian, setiap ukuran, untuk memasuki era baru pertanian, menerapkan armada perangkat yang dapat diskalakan di seluruh lahan mereka yang dapat memperingatkan mereka jika kekeringan mendekat.

Video

Gambar

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Fungsionalitas

SmartAgro memungkinkan pengguna untuk dengan mudah menerapkan armada perangkat di lapangan yang dipantau. Perangkat ini mengambil sampel dari sensor pada interval waktu yang ditentukan.

Data kemudian dicatat ke file .csv pada kartu SD dan dikirim ke backend tempat data divisualisasikan di dasbor. Proyek ini terdiri dari front-end dan backend.

Front-End

Front-end proyek ini merujuk pada perangkat fisik yang ditempatkan di lapangan. Perangkat ini mengambil sampel data dari sensor mereka, membakarnya ke kartu SD dan mengirim data ke backend. Berikut adalah gambaran umum fungsionalitas proyek.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Sebuah MKR GSM digunakan untuk front-end. Perangkat mengumpulkan data dan kemudian mengirimnya ke Soracom, tempat divisualisasikan. Berikut adalah langkah-langkah yang diambil oleh perangkat saat mengumpulkan data.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

SD Card

Perangkat akan mencatat data yang diperoleh dari sensor ke kartu SD yang dilampirkan padanya. Data akan ditambahkan ke file .csv yang kemudian dapat diunduh.

Dalam pengaturan, perangkat mencari apakah file .csv untuk ditulis tersedia dan akan menambahkannya jika sudah ada. Ini akan membuat file baru jika tidak ada. Berikut beberapa gambar dari file tersebut.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Baterai

Perangkat dapat diberi daya melalui beberapa cara. Ini dapat diberi daya oleh baterai LiPo melalui port yang disediakan pada perangkat, oleh power bank atau dengan menghubungkan baterai melalui port VIN pada perangkat.

Umur pakai perangkat sangat bergantung pada daya baterai. Perangkat masuk ke mode tidur antara pembaca untuk menghemat sejumlah energi yang mungkin.

Mengirim Data

Data dikirim ke Soracom melalui koneksi GSM ke server. Data dikirim sebagai payload JSON. Data ini kemudian diterima oleh backend dan diproses. Berikut adalah contoh payload.

{ "Latitude":53.3570404, "Longitude":-6.2609935, "soilTemp":20.56, "soilHumidity":40, "atmoTemp":22.12, "atmoHumidity":62, "uvLight":0.00, "irLight":257, "deviceName":"device1" } 

Backend

Backend aplikasi ini merujuk pada Soracom. Data diterima oleh Soracom, diproses dan kemudian ditampilkan di dasbor.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Dasbor

Dasbor untuk proyek ini dihosting di Soracom Lagoon. Data diterima oleh Soracom Air di backend, Soracom Harvest mengumpulkan data dan kemudian Lagoon mengkuerinya dari Harvest.

Lokasi setiap perangkat dalam armada dan semua data sensor diplot di dasbor. Tangkapan layar dasbor ada di bawah.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Peringatan

Pengguna juga dapat mengatur backend untuk menerima notifikasi email jika indeks UV atau kelembaban tanah yang dikumpulkan oleh perangkat abnormal. Dengan cara ini, pengguna akan tahu apakah tanaman memerlukan perhatian.

Manfaat

Pengguna yang mengoperasikan proyek ini akan memiliki banyak manfaat:

Membangun Proyek

Langkah 1: Alat yang Diperlukan

Proyek ini memerlukan daftar sensor dan bahan lainnya. Daftar lengkap bahan yang diperlukan ada di bawah ini.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Langkah 2: Menghubungkan Rangkaian

Sebuah pakuin akan diperlukan untuk memengerlang semua komponen bersama. Skema dirilis dalam file fritzing di bawah ini.

Ingat untuk memasang MEM shield ke papan!

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Mempersiapkan MKR GSM

Arduino MKR GSM perlu disiapkan. Saya memberdayakan papan dengan 2 baterai AA melalui port VIN. Langkah-langkahnya ada di bawah ini.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Langkah 3: Memahami Kode

Ada 4 bagian utama dari kode yang digunakan untuk proyek ini.

Semua bagian ini dijelaskan dan rinci di bawah ini.

Persiapkan SD

bool createFile() { // membuat file .csv di kartu SD Serial.println("Creating File"); Serial.println(" OK - Creating and Opening File"); File dataFile = SD.open("datalog.csv", FILE_WRITE); if(dataFile) { Serial.println(" OK - File Created"); Serial.println(" OK - Appending Legend to File"); Serial.print(" OK - Appending "); Serial.println(legend); dataFile.println(legend); dataFile.close(); Serial.println(" Success - Data Appended"); } else { Serial.println(" Error - File Not Detected"); Serial.println(" OK - Trying Again in 5 seconds"); Serial.println("________________________________________"); Serial.println(""); dataFile.close(); delay(5000); return false; } Serial.println("________________________________________"); Serial.println(""); return true; } void checkFile() { Serial.println("Checking .csv"); Serial.println("________________________________________"); Serial.println("Setting Up File"); Serial.println(" OK - Checking for File Presence"); if(SD.exists("datalog.csv")) // periksa apakah file .csv sudah ada { // tambahkan ke file yang ada jika ada Serial.println(" OK - File Exists"); Serial.println(" OK - Will Append to Existing File"); Serial.println("________________________________________"); Serial.println(""); } else { // buat file baru untuk ditambahkan Serial.println(" OK - File Not Present"); Serial.println(" OK - Creating File"); Serial.println(""); while(!createFile()) {}; } } 

Fungsi checkFile() memeriksa apakah file .csv yang seharusnya ditambahkan oleh perangkat ada. Jika file ada, fungsi berakhir, jika tidak, ia memanggil createFile() yang membuat file .csv baru untuk ditambahkan.

Kumpulkan Data

void collectData() { Serial.println("Gathering Data"); Serial.println("________________________________________"); Serial.println("Getting Data from Sensors"); Serial.println(" OK - Contacting all Sensors"); // mengambil data dari semua sensor soilSens.requestTemperatures(); soilTemp = soilSens.getTempCByIndex(0); soilHumidity = analogRead(A1); soilHumidity = map(soilHumidity, 1023, 0, 0, 100); atmoTemp = gy21.readTemperature(); atmoHumidity = gy21.readHumidity(); visibleLight = uv.readVisible(); irLight = uv.readIR(); rawUVLight = uv.readUV(); uvLight = (rawUVLight / 100); Serial.println(" OK - Data Collected"); Serial.println(" OK - Dumping Data"); Serial.print("[Light] Visible "); Serial.println(visibleLight); Serial.print("[Light] Infrared "); Serial.println(irLight); Serial.print("[Light] Ultraviolet "); Serial.println(uvLight); Serial.print("[Atmo] Temperature "); Serial.println(atmoTemp); Serial.print("[Atmo] Humidity "); Serial.println(atmoHumidity); Serial.print("[Soil] Temperature "); Serial.println(soilTemp); Serial.print("[Soil] Humidity "); Serial.println(soilHumidity); Serial.println(" Success - Data Dumped"); Serial.println("________________________________________"); Serial.println(""); } 

Bagian kode ini mengumpulkan data dari semua sensor di papan. Ini menghubungi sensor untuk suhu dan kelembaban atmosfer, kelembaban dan suhu tanah dan indeks UV, nilai cahaya IR dan cahaya terlihat.

Bakar Data ke SD

bool burnData(String data) { Serial.println("Burning Data"); Serial.println("________________________________________"); Serial.println("Burning Data to SD Card"); Serial.println(" OK - Opening File"); File dataFile = SD.open("datalog.csv", FILE_WRITE); if(dataFile) { Serial.println(" OK - File is Present"); Serial.print(" OK - Appending "); Serial.println(data); Serial.println(" OK - Burning data"); dataFile.println(data); // bakar data ke kartu SD dataFile.close(); Serial.println(" Success - Data Appended"); Serial.println("________________________________________"); Serial.println(""); } else { Serial.println(" Error - File Not Present"); Serial.println(" OK - Trying Again in 5 Second"); Serial.println("________________________________________"); Serial.println(""); delay(5000); } Serial.println(""); } 

Fungsi ini membakar data yang sebelumnya dikompilasi menjadi baris file .csv ke kartu SD. Data ditambahkan ke file pada kartu.

Kirim Data ke Soracom

void parseData(String dataToSend) { Serial.println("Sending Data"); Serial.println("________________________________________"); Serial.println("Sending Data to Soracom"); Serial.println(" OK - Setting Up Connection"); if(client.connect(url, 80)) // siapkan koneksi dan format kirim { Serial.println(" OK - Connection Established, Parsing Data"); client.println("POST / HTTP/1.1"); client.println("Host: harvest.soracom.io"); client.println("User-Agent: Arduino/1.0"); client.println("Connection: close"); client.print("Content-Length: "); client.println(dataToSend.length()); client.println(""); client.println(dataToSend); Serial.println(" OK - Data Parsed"); } Serial.println(" OK - Getting Responce"); Serial.println(""); // baca kembali dari server while(1) { if(client.available()) { char c = client.read(); Serial.print(c); } if(!client.connected()) { break; } } Serial.println(" Success - Data is Parsed"); Serial.println("________________________________________"); Serial.println(""); } 

Akhirnya, data dikirim ke Soracom. Perangkat membangun koneksi dengan server dan kemudian menyiapkan kredensial. Data kemudian dikirim ke server dan respons dicetak ke Serial Monitor.

Perangkat kemudian tidur untuk jumlah waktu yang ditentukan dan mengulangi langkah-langkahnya lagi.

Langkah 4: Mengatur Variabel

Beberapa variabel harus diedit oleh pengguna sebelum proyek dapat digunakan. Variabel yang dapat diedit ada di file utama kode. Ini dijelaskan di bawah ini.

Langkah 5: Mengatur Kartu SD

Kartu SD harus disiapkan sebelum dapat digunakan dengan perangkat. Kartu SD harus diformat sebagai FAT 32. Ikuti langkah-langkah di bawah ini untuk mempersiapkan kartu SD.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Langkah 6: Unggah Kode

Sebelum menyiapkan backend, data harus dikirim ke sana.

Untuk melakukannya, hubungkan MKR GSM Anda ke komputer dan unggah kode ke perangkat, pastikan mode perangkat diatur ke 1 untuk pengaturan ini. Setelah kode diunggah, letakkan semua sensor dalam air.

Sekarang tekan tombol pada perangkat dan tunggu sampai data dikumpulkan dan dikirim. Ulangi ini beberapa kali untuk mengisi Soracom Air.

Langkah 7: Mengatur Soracom

Langkah ini dibagi menjadi 2 bagian, bagian pertama akan membahas pembuatan akun di Soracom dan pendaftaran SIM Anda sementara bagian lain akan membahas pengaturan Soracom Harvest untuk mengumpulkan data dari Air. Jika Anda sudah memiliki akun di Soracom, lewati bagian pertama.

Bagian 1: Membuat Akun

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Bagian 2: Grup dan Harvest

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Langkah 8: Mengatur Soracom Lagoon

Hal terakhir yang harus diatur di Soracom adalah Lagoon, ini adalah alat yang akan kita gunakan untuk memvisualisasikan data kita dan membuat peringatan email jika data tidak baik. Ikuti langkah-langkah di bawah ini.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Pustaka

Akhir

Akhirnya saya mendesain kotak pelindung untuk proyek ini, akan lebih baik jika bagian atas kotak pelindung transparan sehingga sensor UV dapat ditempatkan di dalam kotak pelindung, saya menempatkan sensor saya di luar kotak pelindung untuk mencegah gangguan apa pun.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Akhirnya, pastikan semua variabel telah diatur dan kemudian letakkan perangkat di lapangan, seharusnya sudah siap memantau semua parameter sekarang.

Menggunakan Modul Kartu SD

Saya memilih untuk menggunakan Arduino MKR MEM shield karena mudah digunakan dan cukup kompak. Modul kartu SD juga dapat digunakan meskipun sebagian besar bekerja dengan 5v sementara MKR GSM hanya dapat menyediakan 3.3v, oleh karena itu konverter level diperlukan untuk menaikkan 3.3v ke 5v.

Latar Belakang

Saya mendapat ide ini saat naik bus melewati ladang. Saya ingat telah membaca tentang perangkat baru yang digunakan untuk memantau lahan pertanian tetapi saya dibuat menyadari biaya yang sebagian besar tidak terjangkau bagi petani.

Jadi saya memutuskan untuk menggunakan Arduino dengan biaya rendah untuk memantau berbagai parameter di pertanian dan mengizinkan setiap pertanian, besar atau kecil, untuk memasuki era IoT dan smart farming.

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi
SmartAgro: Solusi IoT Canggih untuk Pertanian Presisi

Kode

SmartAgro
Kode Lengkap

Skema Rangkaian

SmartAgro: Solusi IoT Canggih untuk Pertanian Presisischematics_rrBJ3HiIfc.fzz

Proses manufaktur

  1. Sensor Arduino: Jenis, Aplikasi, dan Proyek Dunia Nyata
  2. Membangun Jaringan Sensor Nirkabel Hemat Biaya untuk Rumah Anda
  3. Sensor CO2 K30: Pemantauan Kualitas Udara Indoor dalam Waktu Nyata
  4. Buat Stadiometer Digital: Lacak Tinggi Badan dengan Arduino dan Sensor Laser
  5. Bangun Sensor Halangan Sederhana dengan Arduino – Tutorial Mudah LED IR & Fotodioda
  6. Mengintegrasikan Sensor Sidik Jari Kapasitif DFRobot dengan Arduino atau ESP8266
  7. Bangun Menara Sensor dengan Arduino Cloud: Pemantauan Suhu, Gerakan & Gas
  8. Senapan Air Cerdas Tergerak Gerakan dengan Arduino Nano
  9. Membangun Antarmuka Web Berbasis PHP untuk Mengendalikan Arduino Uno
  10. Sistem Radar Arduino Kompak dengan Sensor Ultrasonik HC-SR04 & Layar 1.8 inci