Isi kandungan:
- Bekalan
- Langkah 1: Pembinaan Peranti
- Langkah 2: Sambungan Permulaan DOL
- Langkah 3: Buat Akaun Dengan Adafruit IO (io.adafruit.com)
- Langkah 4: Bina dan Pasang Perisian
- Langkah 5: Pasang dan Konfigurasikan Aplikasi MQTT Dash di Telefon bimbit anda
- Langkah 6: Langkah Terakhir:-) Ujian dan Penyelesaian
Video: Pengawal Permulaan DOL Berasaskan IOT untuk Pompa Pengairan: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Helo Kawan
Petunjuk ini adalah mengenai cara memantau dan mengawal jarak jauh pam pengairan melalui internet.
Cerita: Di ladang saya, saya mendapat bekalan elektrik dari grid tempatan hanya sekitar 6 jam sehari. Waktu tidak biasa, ketersediaan tenaga boleh dilakukan pada awal pagi atau larut malam atau bahkan tengah malam. Setiap kali pergi ke lokasi sumur bor untuk memeriksa ketersediaan kuasa, memulakan atau menghentikan motor adalah proses yang sangat menyakitkan. Saya juga harus memastikan motor berjalan sekurang-kurangnya 2-3 jam setiap hari untuk membekalkan air yang mencukupi untuk sistem titisan. Beberapa ketika saya sedang mencari pilihan untuk menyelesaikan masalah ini dengan mengendalikan motor dari jauh dan juga mengetahui statusnya. Terdapat peranti yang tersedia di pasaran yang akan menghidupkan motor sebaik sahaja ada bekalan kuasa, tetapi mereka tidak mempunyai ciri untuk menghentikan motor bila-bila masa yang kita mahukan. Dan juga tidak ada cara untuk mengetahui status motor ON / OFF pada bila-bila masa. Ini biasanya menyebabkan pengairan berlebihan, menyebabkan kehilangan kesuburan tanah dan juga pembaziran elektrik. Akhirnya saya membina sendiri penyelesaian di mana saya boleh memulakan dan menghentikan motor dari jauh dari telefon bimbit / tablet / PC SETIAP MASA DI MANA SAJA… !!. Saya juga dapat memantau ketersediaan bekalan kuasa dari gird dan juga status motor (ON / OFF) sepanjang masa. Semoga ia dapat membantu pemilik ladang di negara ini untuk menguruskan sistem pengairan mereka tanpa perlu pergi ke lokasi permulaan sepanjang masa.
Bekalan
Prasyarat:
Lokasi di mana anda ingin memasang peranti ini mesti mempunyai ketersediaan internet (jalur lebar dengan wifi / internet mudah alih)
Perkara yang anda perlukan:
- NodeMCU / ESP12
- Relay dua saluran
- WCS1700 - Sensor semasa
- Modul pengecasan bateri TP4056
- LD313, Kapasitor - Daftar 1000uF - Dua daftar 5k ohm
- Mana-mana Telefon Pintar (Lama) dengan hotspot / internet.
Bagaimana ia berfungsi:
Ini adalah penyelesaian IOT berasaskan cloud sederhana menggunakan NodeMCU / ESP12 dan broker MQTT jauh. NodeMCU berfungsi sebagai pintu masuk IOT, juga mengawal pemula DOL. Ia menghubungkan ke broker MQTT jauh melalui internet. Aplikasi yang berjalan di telefon bimbit Android menghubungkan ke broker di mana kami dapat memantau dan mengawal set pam pengairan kami sepanjang masa. Saya menggunakan broker MQTT percuma dari Adafruit IO. Terdapat banyak broker percuma yang tersedia seperti mosquitto, cloudmqtt dll. Anda boleh memilih mana-mana broker dengan syarat anda menukar pelayan dan nombor port dalam kod. NodeMCU menyambung ke internet menggunakan WiFi dari hotspot mudah alih. Yon boleh menggunakan mana-mana telefon bimbit lama atau rendah untuk menyediakan akses wifi melalui hotspot atau cara lain untuk menyediakan internet melalui wifi. Telefon bimbit harus disambungkan ke pengecas sebagaimana mestinya pada 24X7.
NodeMCU dihubungkan dengan dua relay untuk mengawal permulaan dan menghentikan operasi motor. Untuk merasakan arus di motor saya menggunakan sensor arus WCS1700. Output analog dari sensor digunakan untuk mengetahui motor ON atau OFF. Ia juga merasakan ketersediaan kuasa dari grid dan menerbitkannya kepada broker sehingga kita dapat mengetahui status grid setiap saat. Peranti melanggan dua suapan untuk menerima permintaan motor ON dan motor OFF. Dengan menghantar nilai tertentu ke feed ini, kita dapat mengawal motor untuk MULAI atau BERHENTI.
Terakhir saya memasang aplikasi MQTT Dash pada telefon android saya dan mengkonfigurasinya untuk berhubung dengan broker MQTT dan menggunakan suapan pada papan pemuka / gui-nya. Aplikasi ini mempunyai ikon yang sangat baik dengan butang, tolok, suis dll untuk membuat papan pemuka yang menarik. Namun anda boleh menggunakan mana-mana aplikasi mudah alih automatik rumah IOT yang menyokong protokol mqtt.
Bagaimana WCS1700 berfungsi:
WCS1700 pada dasarnya adalah sensor kesan Hall yang akan menghasilkan voltan keluaran berkadar dengan medan magnet yang dibuat semasa arus mengalir melalui gegelung. Gegelung di sini adalah saluran bekalan kuasa yang akan disambungkan ke motor. Ia dapat mengukur arus AC hingga 70 Amps. Voltan operasi antara 3.3 hingga 12 V. Rujuk lembaran datanya untuk maklumat lebih lanjut. Semasa menggunakan ESP12, saya menggunakan bekalan kuasa 3.3V yang sama dengan voltan operasi untuk WCS1700. Seperti yang dinyatakan dalam lembaran data pada 3.3 V, peranti harus menghasilkan voltan pembezaan sekitar 32 hingga 38 mV per amp arus melalui gegelung. Tetapi ia mungkin berbeza-beza berdasarkan ukuran gegelung / jurang udara dan variasi pada peranti. Oleh itu saya harus menentukurnya dengan mengujinya dengan Ampere Meter. Saya tidak gembira dengan ketepatan peranti tetapi cukup baik untuk menentukan status Motor sebagai ON / OFF. Pin output WCS1700 disambungkan ke A0 dari ESP12. Apabila tidak ada arus, ESP12 harus membaca nilai sekitar 556. Oleh kerana kenaikan arus pada gegelung voltan boleh berlaku di kedua sisi berdasarkan bagaimana kabel melewati sensor. Dalam kod tersebut saya mengambil perbezaan nilai sebagai nilai mutlak (x - 556). Dengan membahagikan hasilnya dengan 15, saya mendapat arus yang mengalir melalui sensor. Anda perlu melakukan eksperimen ini untuk mendapatkan nombor yang sesuai untuk anda. Sebarang pengukuran semasa oleh peranti melebihi 5 Amps yang saya anggap sebagai motor ON dan di bawah 5 Amp kerana motor dalam keadaan OFF. Anda boleh menggunakan nombor yang betul untuk peranti anda dengan bereksperimen. Anda perlu menukar WCS1700_CONST dan MIN_CURRENT dalam kod dengan sewajarnya.
Langkah 1: Pembinaan Peranti
Gambar rajah di atas memberikan perincian lengkap mengenai cara memasang semua komponen.
Bekalan kuasa: Saya menggunakan TP4056 untuk mengisi bateri dan LM313 untuk mengatur output bateri 3.7V - 4.2V hingga 3.3 V untuk mengaktifkan NodeMCU. Kapasitor 1000mF digunakan antara Vin dan tanah LM313 untuk mendapatkan bekalan 3.3V yang stabil. Anda boleh menggunakan pengecas mudah alih USB biasa untuk menghidupkan TP4056. Ia mempunyai litar perlindungan bateri untuk melindungi bateri dari pengisian yang berlebihan.
Penginderaan bekalan kuasa Grid: Pembahagi voltan 5k ohm akan mengurangkan 5 V hingga 2.5 V. Pin D5 dari NodeMCU akan merasakan voltan.
Pin output WCS1700 disambungkan ke A0 untuk membaca voltan analog dari sensor. Garis Grid Power harus melalui lubang untuk mengukur arus. Saya menggunakan kapasitor 0.01 uF mendapatkan borang bacaan stabil WCS1700.
D1 dan D2 dari NodeMCU untuk disambungkan ke IN0 dan IN1 pin input relay.
Langkah 2: Sambungan Permulaan DOL
Saya mengubah litar kawalan starter DOL untuk memperkenalkan satu lagi suis MULAI dan HENTIKAN. Perubahan ini tidak akan mempengaruhi operasi permulaan / berhenti manual dan mereka terus berfungsi seperti sedia kala.
Awas !!!! Memandangkan DOL starter adalah alat Voltan Tinggi pastikan suis utama dimatikan sebelum membuka kotak. Sentuhan langsung dengan wayar langsung boleh membahayakan. Sekiranya anda tidak yakin, dapatkan bantuan juruelektrik untuk membuat sambungan
Saya menggunakan modul relay 2 saluran 5 V sebagai suis MULAI dan BERHENTI. Relay ini akan dikendalikan oleh ESP12.
Relay - 0 akan berfungsi sebagai suis MULAI - berwayar sebagai TIDAK (Biasanya Terbuka).
Relay-1 akan berfungsi sebagai suis STOP - berwayar sebagai NC (Biasanya Tertutup). Permulaan akan mempunyai wayar yang menghubungkan dari kontaktor atas ke NVC. Anda harus melepaskannya dan mengganti dengan wayar relay -1 seperti yang ditunjukkan.
Pastikan sambungan antara modul starter dan Relay dilindungi sepenuhnya untuk keselamatan. Saya memprogramkan ESP untuk menahan kedua-dua relay selama 2 saat untuk meniru tekan butang MULAI / HENTI.
Langkah 3: Buat Akaun Dengan Adafruit IO (io.adafruit.com)
Saya menggunakan broker Adafruit io mqtt yang boleh digunakan dengan sedikit had tetapi OK untuk penggunaan kami. Saya lebih suka ini kerana saya menggunakannya juga dalam projek lain dan agak dipercayai dan juga mempunyai banyak ciri lain seperti Dashboard dengan GUI yang bagus dan malah kita boleh menggunakan pencetus. Untuk menggunakan Adafruit io anda perlu membuat akaun dan mencatat Nama Pengguna dan Kunci Aktif.
Langkah 4: Bina dan Pasang Perisian
Kod lengkap terdapat dalam lakaran. Anda perlu membukanya di Arduino IDE dan membuat beberapa perubahan sebelum menyusun dan memuat naik firmware. Pilih jenis papan sebagai NodeMCU 1.0. Pemasangan IDE dan perpustakaan yang berkaitan tidak termasuk dalam skop dokumentasi ini.
Ubah baris berikut dalam kod sebagai fallows.
#define WLAN_SSID "xxx" // SSID WiFi Hotspot mudah alih anda
#tentukan WLAN_PASS "……" //
/ ************************* Persediaan Adafruit.io ******************** ************* /
#tentukan AIO_SERVER "io.adafruit.com"
#tentukan AIO_SERVERPORT 1883 // gunakan 8883 untuk SSL
#define AIO_USERNAME "xyz" // Nama pengguna akaun adafruit anda
#tentukan AIO_KEY "abcd ……" // kekunci Aktif anda …
Mengenai MQTT Feeds: Peranti dan klien (aplikasi mudah alih) bertukar maklumat melalui feed message menggunakan sub model melalui broker MQTT. Mana-mana pelanggan atau peranti untuk menerima mesej, ia harus berlangganan feed yang telah ditentukan dan harus menggunakan kaedah penerbitan untuk mengirim pesan ke feed. Untuk projek kami, kami memerlukan kira-kira 5 suapan. Berikut adalah penjelasan mengenai setiap suapan seperti yang anda lihat dalam kod dan cara ia berfungsi.
Status Grid: Ketersediaan bekalan kuasa dari grid diterbitkan di feed /feeds/grid. Adafruit_MQTT_Publish grid_stat = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/ feed / grid");
0 menunjukkan bekalan kuasa tidak tersedia dan 1 untuk bekalan kuasa tersedia.
Status Motor: Peranti akan menerbitkan status motor pada suapan… / suapan / grid.
Adafruit_MQTT_Publish motor_status = Adafruit_MQTT_Publish (& mqtt, AIO_USERNAME "/ feed / motor")
Nilai 0 untuk OFF dan 1 untuk ON
Butang Motor ON: Suapan ini digunakan untuk menerima permintaan permulaan motor. Peranti akan melanggan feed untuk menerima permintaan permulaan motor dengan nilai = 1 dan menggunakan feed yang sama untuk menerbitkan pesan mengakui sebagai 0. Dengan cara itu kita dapat mengesahkan bahawa pesan permintaan mula benar-benar diterima oleh peranti.
Adafruit_MQTT_Subscribe motoronbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/ feeds / motor_on");
Butang MATI Motor:
Mirip dengan Permintaan permintaan umpan ini digunakan untuk menerima permintaan berhenti motor. Peranti akan melanggan feed untuk menerima permintaan berhenti dengan nilai = 1 dan menggunakan feed yang sama untuk menerbitkan mesej mengakui dengan 0.
Adafruit_MQTT_Subscribe motoroffbutton = Adafruit_MQTT_Subscribe (& mqtt, AIO_USERNAME "/ feeds / motor_off");
Sambungan:
Ini adalah suapan khas dengan pilihan "kehendak terakhir" diaktifkan. Apabila peranti berfungsi dengan baik pada setiap selang waktu tetap, ia akan menerbitkan sambungan = 1 untuk memberitahu pengguna semuanya baik-baik saja. Sekiranya sistem terputus atau sambungan terputus maka peranti tidak akan dapat berkomunikasi dengan broker. Dalam kes sedemikian, broker MQTT sendiri akan menerbitkan feed sebagai sambungan = 0 untuk memberitahu pengguna bahawa ada yang tidak kena dan peranti tidak dapat dihubungi melalui internet. Kita mesti pergi dan memeriksa peranti secara fizikal. Kodnya sangat mudah. Rujuk dokumentasi MQTT untuk maklumat lebih lanjut mengenai bagaimana "Kehendak Terakhir" berfungsi.
jika (itr <= 0)
{
mqtt.publish (AIO_USERNAME "/ feed / sambungan", "1", 1);
itr = CON_LIVE_ITR;
}
Selebihnya kod adalah jelas dan tidak diperlukan pengubahsuaian. Jangan ragu untuk memberi komen sekiranya anda memerlukan lebih banyak maklumat.
Langkah 5: Pasang dan Konfigurasikan Aplikasi MQTT Dash di Telefon bimbit anda
- Pasang MQTT Dash pada telefon android anda dan buka aplikasinya
- Klik pada ikon + di sudut kanan atas untuk menambah peranti.
- Seperti yang ditunjukkan pada gambar pertama di atas berikan beberapa nama pada peranti anda katakan "MyFarm-IPSet". Medan alamat sebagai io.adafruit.com dan port sebagai 1883, nama pengguna harus menjadi nama pengguna adafruit anda dan kata laluan harus menjadi Kunci Aktif anda dari adafruit. Tinggalkan ladang yang selebihnya. Terakhir klik simpan.
- Anda membuat peranti anda dibuat. Sekarang klik padanya untuk menambahkan papan pemuka padanya.
- Klik pada + dan pilih jenis sebagai suis / butang. Seperti yang ditunjukkan di atas masukkan sys di ruangan nama. dan masukkan nama suapan di medan topik. setiap suapan harus dimulakan dengan nama pengguna / suapan /. untuk ini kami / suapan / sambungan. Pastikan Enable Publish dilumpuhkan. Dengan mengklik ikon untuk dipaparkan, anda dapat memilih jenis ikon yang anda mahukan di papan pemuka. Untuk nilai 1 pilih salah satu warna (katakan hijau) dan untuk nilai 0 pilih warna sebagai kelabu atau merah. Akhirnya klik simpan di sudut kanan atas. Begitu juga buat dua ikon lagi untuk Grid dengan nama pengguna / suapan / grid sebagai topik dan Motor dengan nama pengguna / suapan / motor. Pastikan Enable Publish dilumpuhkan.
- Akhir sekali buat butang Motor ON. Lagi sama dengan jenis seperti suis / butang. Topik harus / feeds / motor_on dan memastikan Enable Publish diaktifkan kali ini dan QOS = 1. Begitu juga buat butang lain untuk Motor MATI. Topiknya mestilah / feeeds / motor_off.
Langkah 6: Langkah Terakhir:-) Ujian dan Penyelesaian
- Untuk selamat, anda perlu menguji peranti terlebih dahulu untuk operasi MULAI dan BERHENTI sebelum menyambungkan geganti ke starter DOL. Dayakan Hotspot di telefon bimbit dengan internet diaktifkan. Sambungkan komputer riba yang mempunyai persekitaran pembangunan terus ke port USB NodeMCU dengan pengecas lain yang disambungkan ke TP4056 pada masa yang sama. Sekiranya peranti berjaya disambungkan ke internet, anda akan melihat 1 peranti disambungkan ke hotspot pada telefon pintar.
- Pada telefon pintar lain di mana anda telah memasang MQTT Dash, buka papan pemuka aplikasi. Anda harus melihat bahawa ikon NET berwarna hijau dan ikon Grid juga berwarna hijau dengan nilainya sebagai 1. Ikon motor harus ditunjukkan sebagai motor mati dengan nilai 0.
- Semasa anda mengklik butang Motor ON, relay permulaan akan mengeluarkan bunyi dua klik pada selang dua saat. Begitu juga butang Motor OFF juga.
- Untuk keselamatan sekarang matikan bekalan utama ke starter DOL dan sambungkan relay ke starter DOL seperti yang ditunjukkan di atas langkah-2. Pastikan motor dalam keadaan mati. Tekan butang reset pada NodeMCU. Dari output monitor bersiri, anda dapat melihat penyataan debug yang mencetak nilai dari sensor WC1700, delta dan arus yang dikira dalam gegelung. Dengan motor dalam keadaan mati dan "#define WCS1700_CONST 15", maxCur mestilah kurang dari 2 secara konsisten. Sekiranya menunjukkan lebih besar daripada 2, cuba dengan nilai WCS1700_CONST yang lebih tinggi. Setiap kali anda perlu menyusun semula kod dan memuatkan firmware.
- Sekarang hidupkan motor dan cari bacaan semasa lagi. Biarkan motor ON selama kira-kira 10 -15 minit dan perhatikan bacaan arus stabil. Arus mungkin berbeza antara 10 hingga 20 Amps secara kasar dan tidak perlu tepat.
- Kembali ke kod dan tetapkan "#define MIN_CURRENT X. Di mana X adalah 40 peratus arus maksimum yang dihampirkan ke nilai numerik. Dalam kes saya, saya tetapkan MIN_CURRENT ke 5. Kompilasi dan muatkan semula firmware ke NodeMCU sekali lagi.
- Tanggalkan kabel USB dari NodeMCU. Matikan dan NONAKTIFKAN peranti dengan pengecas USB yang disambungkan ke TP4056. Mengklik butang Motor ON pada aplikasi mudah alih harus memulakan motor. Sebaik sahaja motor berada pada status motor harus mencerminkan papan pemuka aplikasi sebagai AKTIF. Mengklik butang berhenti mesti menghentikan motor.
Selamat mencuba !!!!
Disyorkan:
IoT APIS V2 - Sistem Pengairan Tanaman Automatik berkemampuan IoT: 17 Langkah (dengan Gambar)
IoT APIS V2 - Sistem Pengairan Tanaman Automatik berkemampuan IoT: Projek ini adalah evolusi dari arahan saya sebelumnya: APIS - Sistem Pengairan Tanaman AutomatikSaya telah menggunakan APIS selama hampir setahun sekarang, dan ingin memperbaiki reka bentuk sebelumnya: Keupayaan untuk pantau kilang dari jauh. Ini adalah bagaimana
Pengawal Permainan DIY Berasaskan Arduino - Pengawal Permainan Arduino PS2 - Bermain Tekken Dengan Gamepad Arduino DIY: 7 Langkah
Pengawal Permainan DIY Berasaskan Arduino | Pengawal Permainan Arduino PS2 | Bermain Tekken Dengan Gamepad Arduino DIY: Hai kawan-kawan, bermain permainan selalu menyeronokkan tetapi bermain dengan permainan peribadi DIY Controller anda lebih menggembirakan. Oleh itu, kami akan menjadikan Pengawal permainan menggunakan arduino pro micro dalam arahan ini
Penggunaan Pengawal Mikro untuk Mengendalikan dan Memantau Sistem Pengairan Jauh: 4 Langkah
Penggunaan Pengawal Mikro untuk Mengendalikan dan Memantau Sistem Pengairan Jauh: petani dan pengusaha rumah hijau untuk sistem pengairan automatik kos rendah. Dalam projek ini, kami menggabungkan sensor kelembapan tanah elektronik dengan mikrokontroler untuk mengairi tanaman secara automatik apabila tanah terlalu kering tanpa campur tangan manusia
Sistem Pengairan Berasaskan Arduino: 8 Langkah
Sistem Pengairan Berasaskan Arduino: Contextualização O Brasil está entre os países com maior área irrigada do planeta e em cinco anos esta área pode crescer 65%, segundo estudo da Organização das Nações Unidas para a Alimentação e a Agricultura (FAO). Suatu kemungkinan yang
Pengairan Pintar berasaskan kelembapan DIY: 10 Langkah (dengan Gambar)
Pengairan Pintar berasaskan kelembapan DIY: Kita tahu bahawa tanaman memerlukan air sebagai media pengangkutan nutrien dengan membawa gula terlarut dan nutrien lain melalui kilang. Tanpa air, tanaman akan layu. Namun, penyiraman berlebihan mengisi liang di dalam tanah, mengganggu