{"id":1596,"date":"2026-04-24T20:59:59","date_gmt":"2026-04-24T13:59:59","guid":{"rendered":"https:\/\/kru-nu.com\/?page_id=1596"},"modified":"2026-04-26T16:08:27","modified_gmt":"2026-04-26T09:08:27","slug":"smart-agriculture-with-blynk","status":"publish","type":"page","link":"https:\/\/kru-nu.com\/index.php\/smart-agriculture-with-blynk\/","title":{"rendered":"\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e01\u0e29\u0e15\u0e23\u0e2d\u0e31\u0e08\u0e09\u0e23\u0e34\u0e22\u0e30\u0e1a\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c (Smart Agriculture with Blynk)"},"content":{"rendered":"\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e02\u0e49\u0e2d\u0e08\u0e33\u0e01\u0e31\u0e14\u0e02\u0e2d\u0e07 Web Server \u0e1a\u0e19 ESP32<\/h1>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e02\u0e49\u0e2d\u0e08\u0e33\u0e01\u0e31\u0e14\u0e02\u0e2d\u0e07 Web Server (\u0e23\u0e30\u0e1a\u0e1a\u0e20\u0e32\u0e22\u0e43\u0e19\u0e1a\u0e49\u0e32\u0e19\/\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Local Access Only<\/strong> \u0e40\u0e23\u0e32\u0e08\u0e30\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e44\u0e14\u0e49\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e15\u0e48\u0e2d Wi-Fi \u0e2b\u0e23\u0e37\u0e2d\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e40\u0e14\u0e35\u0e22\u0e27\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19<\/li>\n\n\n\n<li><strong>IP Address <\/strong>\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e40\u0e2b\u0e47\u0e19\u0e1a\u0e19\u0e08\u0e2d OLED \u0e40\u0e1b\u0e47\u0e19\u0e41\u0e04\u0e48<strong>\u0e40\u0e25\u0e02\u0e17\u0e35\u0e48\u0e08\u0e33\u0e25\u0e2d\u0e07<\/strong>\u0e20\u0e32\u0e22\u0e43\u0e19\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e04\u0e19\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49<\/li>\n\n\n\n<li><strong>The Security Wall<\/strong> \u0e40\u0e23\u0e32\u0e21\u0e35\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e40\u0e23\u0e35\u0e22\u0e01\u0e27\u0e48\u0e32 <strong>Router<\/strong> \u0e04\u0e2d\u0e22\u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19 \u0e23\u0e1b\u0e20. \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e22\u0e2d\u0e21\u0e43\u0e2b\u0e49\u0e04\u0e19\u0e02\u0e49\u0e32\u0e07\u0e43\u0e19\u0e2d\u0e2d\u0e01\u0e44\u0e1b\u0e02\u0e49\u0e32\u0e07\u0e19\u0e2d\u0e01\u0e44\u0e14\u0e49 \u0e41\u0e15\u0e48<strong>\u0e2b\u0e49\u0e32\u0e21\u0e04\u0e19\u0e02\u0e49\u0e32\u0e07\u0e19\u0e2d\u0e01\u0e41\u0e1b\u0e25\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e2d\u0e1a\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e02\u0e49\u0e32\u0e07\u0e43\u0e19<\/strong>\u0e40\u0e14\u0e47\u0e14\u0e02\u0e32\u0e14 \u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e40\u0e2b\u0e15\u0e38\u0e1c\u0e25\u0e27\u0e48\u0e32\u0e17\u0e33\u0e44\u0e21\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19\u0e16\u0e36\u0e07\u0e01\u0e14\u0e40\u0e02\u0e49\u0e32\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a ESP32 \u0e17\u0e35\u0e48\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e04\u0e27\u0e32\u0e21\u0e40\u0e17\u0e1e\u0e02\u0e2d\u0e07 Blynk.Console (\u0e23\u0e30\u0e1a\u0e1a Cloud)<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Blynk<\/strong> \u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19<strong>\u0e04\u0e19\u0e01\u0e25\u0e32\u0e07<\/strong> (Meeting Point) \u0e17\u0e35\u0e48\u0e15\u0e31\u0e49\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15<\/li>\n\n\n\n<li><strong>ESP32 <\/strong>\u0e08\u0e30\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e23\u0e2d\u0e43\u0e2b\u0e49\u0e04\u0e19\u0e01\u0e14\u0e40\u0e02\u0e49\u0e32\u0e21\u0e32\u0e2b\u0e32 \u0e41\u0e15\u0e48\u0e21\u0e31\u0e19\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e1d\u0e48\u0e32\u0e22<strong>\u0e2d\u0e2d\u0e01\u0e44\u0e1b\u0e23\u0e32\u0e22\u0e07\u0e32\u0e19\u0e15\u0e31\u0e27<\/strong>\u0e01\u0e31\u0e1a Blynk Server \u0e40\u0e2d\u0e07<\/li>\n\n\n\n<li><strong>Anywhere, Anytime:<\/strong> \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e17\u0e31\u0e49\u0e07 &#8220;\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d&#8221; \u0e41\u0e25\u0e30 &#8220;ESP32&#8221; \u0e15\u0e48\u0e32\u0e07\u0e27\u0e34\u0e48\u0e07\u0e44\u0e1b\u0e40\u0e08\u0e2d\u0e01\u0e31\u0e19\u0e17\u0e35\u0e48 Blynk Server \u0e40\u0e23\u0e32\u0e08\u0e36\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e17\u0e38\u0e01\u0e17\u0e35\u0e48\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15 \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e04\u0e19\u0e25\u0e30\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14 \u0e2b\u0e23\u0e37\u0e2d\u0e04\u0e19\u0e25\u0e30\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e04\u0e23\u0e31\u0e1a<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e15\u0e32\u0e23\u0e32\u0e07\u0e2a\u0e23\u0e38\u0e1b\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Web Server (\u0e41\u0e1a\u0e1a\u0e40\u0e14\u0e34\u0e21)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>Blynk.Console (\u0e41\u0e1a\u0e1a\u0e43\u0e2b\u0e21\u0e48)<\/strong><\/td><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u0e23\u0e30\u0e22\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e43\u0e01\u0e25\u0e49 (\u0e41\u0e04\u0e48\u0e43\u0e19\u0e23\u0e30\u0e22\u0e30 Wi-Fi \u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19)<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e44\u0e01\u0e25 (\u0e17\u0e31\u0e48\u0e27\u0e42\u0e25\u0e01\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15)<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u0e04\u0e27\u0e32\u0e21\u0e22\u0e32\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e07\u0e48\u0e32\u0e22 (\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e08\u0e1a\u0e43\u0e19\u0e1a\u0e2d\u0e23\u0e4c\u0e14)<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e1b\u0e32\u0e19\u0e01\u0e25\u0e32\u0e07 (\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a Blynk \u0e40\u0e1e\u0e34\u0e48\u0e21)<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22 (\u0e04\u0e19\u0e19\u0e2d\u0e01\u0e40\u0e02\u0e49\u0e32\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22)<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e2a\u0e39\u0e07 (\u0e21\u0e35\u0e23\u0e30\u0e1a\u0e1a Token \u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e15\u0e31\u0e27\u0e15\u0e19)<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u0e01\u0e32\u0e23\u0e40\u0e01\u0e47\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49 (\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49 Preferences)<\/td><td class=\"has-text-align-center\" data-align=\"center\">\u0e40\u0e01\u0e47\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e22\u0e49\u0e2d\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e23\u0e32\u0e1f\u0e44\u0e14\u0e49<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e14\u0e49\u0e27\u0e22\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e2a\u0e31\u0e49\u0e19<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/kru-nu.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_y88piay88piay88p-1024x559.png\" alt=\"\" class=\"wp-image-1600\" style=\"aspect-ratio:1.8333731200763905;width:948px;height:auto\" srcset=\"https:\/\/kru-nu.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_y88piay88piay88p-1024x559.png 1024w, https:\/\/kru-nu.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_y88piay88piay88p-300x164.png 300w, https:\/\/kru-nu.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_y88piay88piay88p-768x419.png 768w, https:\/\/kru-nu.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_y88piay88piay88p-1536x838.png 1536w, https:\/\/kru-nu.com\/wp-content\/uploads\/2026\/04\/Gemini_Generated_Image_y88piay88piay88p-2048x1117.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u0e25\u0e2d\u0e07\u0e19\u0e36\u0e01\u0e20\u0e32\u0e1e\u0e27\u0e48\u0e32 ESP32 \u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e04\u0e37\u0e2d <strong>\u0e40\u0e14\u0e47\u0e01\u0e17\u0e35\u0e48\u0e15\u0e34\u0e14\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e1a\u0e49\u0e32\u0e19 (Web Server) <\/strong>\u0e16\u0e49\u0e32\u0e41\u0e21\u0e48\u0e44\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e49\u0e32\u0e19 \u0e41\u0e21\u0e48\u0e08\u0e30\u0e1a\u0e2d\u0e01\u0e43\u0e2b\u0e49\u0e17\u0e33\u0e2a\u0e34\u0e48\u0e07\u0e15\u0e48\u0e32\u0e07\u0e46\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22 \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e1e\u0e32\u0e40\u0e14\u0e47\u0e01\u0e04\u0e19\u0e19\u0e35\u0e49\u0e44\u0e1b\u0e1d\u0e32\u0e01\u0e44\u0e27\u0e49\u0e17\u0e35\u0e48<strong>\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e23\u0e31\u0e1a\u0e1d\u0e32\u0e01\u0e40\u0e14\u0e47\u0e01 (Blynk Server)<\/strong> \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e41\u0e21\u0e48\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e17\u0e35\u0e48\u0e44\u0e2b\u0e19 \u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e42\u0e17\u0e23\u0e44\u0e1b\u0e1a\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e28\u0e39\u0e19\u0e22\u0e4c\u0e2f \u0e43\u0e2b\u0e49\u0e40\u0e14\u0e47\u0e01\u0e17\u0e33\u0e2a\u0e34\u0e48\u0e07\u0e15\u0e48\u0e32\u0e07\u0e46\u0e44\u0e14\u0e49\u0e15\u0e25\u0e2d\u0e14\u0e40\u0e27\u0e25\u0e32<\/p>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Blynk<\/h1>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49\u0e25\u0e2d\u0e07\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e44\u0e1f\u0e08\u0e23\u0e32\u0e08\u0e23\u0e1c\u0e48\u0e32\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a (Web Server) \u0e01\u0e31\u0e19\u0e44\u0e1b\u0e41\u0e25\u0e49\u0e27 \u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e04\u0e07\u0e40\u0e2b\u0e47\u0e19\u0e02\u0e49\u0e2d\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07  <strong>&#8220;\u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e40\u0e14\u0e34\u0e19\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e27\u0e34\u0e17\u0e22\u0e32\u0e25\u0e31\u0e22 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22&#8221;<\/strong> \u0e40\u0e1e\u0e23\u0e32\u0e30\u0e23\u0e30\u0e1a\u0e1a\u0e19\u0e31\u0e49\u0e19\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e04\u0e48\u0e43\u0e19\u0e27\u0e07 Wi-Fi \u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19<\/p>\n\n\n\n<p>\u0e41\u0e15\u0e48\u0e43\u0e19\u0e42\u0e25\u0e01\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e33 <strong>Smart Farm<\/strong> \u0e02\u0e2d\u0e07\u0e08\u0e23\u0e34\u0e07 \u0e40\u0e01\u0e29\u0e15\u0e23\u0e01\u0e23\u0e15\u0e49\u0e2d\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e2b\u0e23\u0e37\u0e2d\u0e14\u0e39\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01<strong>\u0e17\u0e38\u0e01\u0e17\u0e35\u0e48\u0e1a\u0e19\u0e42\u0e25\u0e01<\/strong> \ud83c\udf0d<\/p>\n\n\n\n<p>\u0e14\u0e31\u0e07\u0e19\u0e31\u0e49\u0e19 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e2d\u0e31\u0e1b\u0e40\u0e01\u0e23\u0e14\u0e17\u0e31\u0e01\u0e29\u0e30\u0e01\u0e31\u0e19\u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49 <strong>Blynk IoT (Cloud Platform)<\/strong> \u0e0b\u0e36\u0e48\u0e07\u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e19\u0e01\u0e25\u0e32\u0e07\u0e1a\u0e19\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15 \u0e43\u0e2b\u0e49\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e41\u0e25\u0e30\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e21\u0e32\u0e04\u0e38\u0e22\u0e01\u0e31\u0e19\u0e44\u0e14\u0e49\u0e15\u0e25\u0e2d\u0e14\u0e40\u0e27\u0e25\u0e32 \u0e44\u0e21\u0e48\u0e27\u0e48\u0e32\u0e08\u0e30\u0e2d\u0e22\u0e39\u0e48\u0e2b\u0e48\u0e32\u0e07\u0e01\u0e31\u0e19\u0e41\u0e04\u0e48\u0e44\u0e2b\u0e19\u0e01\u0e47\u0e15\u0e32\u0e21<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u2709\ufe0f 1. \u0e2d\u0e35\u0e40\u0e21\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27<\/h2>\n\n\n\n<p>Blynk \u0e40\u0e1b\u0e47\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e2a\u0e39\u0e07 \u0e01\u0e32\u0e23\u0e08\u0e30\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e2a\u0e23\u0e49\u0e32\u0e07 Dashboard \u0e44\u0e14\u0e49 \u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e01\u0e48\u0e2d\u0e19<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e17\u0e33<\/strong> \u0e43\u0e2b\u0e49\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c <strong><a href=\"https:\/\/blynk.cloud\/\" target=\"_blank\" rel=\"noreferrer noopener\">blynk.cloud<\/a><\/strong> \u0e41\u0e25\u0e49\u0e27\u0e17\u0e33\u0e01\u0e32\u0e23\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e2a\u0e21\u0e32\u0e0a\u0e34\u0e01<\/li>\n\n\n\n<li><strong>\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e23\u0e23\u0e30\u0e27\u0e31\u0e07<\/strong> \u0e43\u0e0a\u0e49\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e17\u0e35\u0e48\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19 (Verify) \u0e44\u0e14\u0e49\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19 \u0e2b\u0e25\u0e32\u0e22\u0e04\u0e19\u0e0a\u0e2d\u0e1a\u0e25\u0e37\u0e21\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07 \u0e40\u0e0a\u0e47\u0e04\u0e43\u0e2b\u0e49\u0e0a\u0e31\u0e27\u0e23\u0e4c\u0e01\u0e48\u0e2d\u0e19\u0e19\u0e30<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\ud83d\udcf1 2. \u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e42\u0e1f\u0e19\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 Blynk IoT<\/h2>\n\n\n\n<p>\u0e44\u0e2e\u0e44\u0e25\u0e15\u0e4c\u0e02\u0e2d\u0e07 Blynk \u0e04\u0e37\u0e2d\u0e40\u0e23\u0e32\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e32\u0e19\u0e31\u0e48\u0e07\u0e40\u0e02\u0e35\u0e22\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e40\u0e2d\u0e07\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48\u0e28\u0e39\u0e19\u0e22\u0e4c \u0e40\u0e02\u0e32\u0e21\u0e35\u0e41\u0e2d\u0e1b\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e23\u0e39\u0e1b\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e25\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21 \u0e25\u0e32\u0e01\u0e01\u0e23\u0e32\u0e1f \u0e21\u0e32\u0e27\u0e32\u0e07\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22\u0e07\u0e48\u0e32\u0e22\u0e46<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e17\u0e33<\/strong> \u0e2b\u0e22\u0e34\u0e1a\u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e42\u0e1f\u0e19\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32 \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48 App Store (iOS) \u0e2b\u0e23\u0e37\u0e2d Google Play Store (Android)<\/li>\n\n\n\n<li>\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e04\u0e33\u0e27\u0e48\u0e32 <strong>&#8220;Blynk IoT&#8221;<\/strong> (\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e44\u0e2d\u0e04\u0e2d\u0e19 B \u0e2a\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e07)<\/li>\n\n\n\n<li>\u0e42\u0e2b\u0e25\u0e14\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 \u0e43\u0e2b\u0e49<strong>\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19\u0e14\u0e49\u0e27\u0e22\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e17\u0e35\u0e48\u0e2a\u0e21\u0e31\u0e04\u0e23\u0e43\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c<\/strong>\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e41\u0e1e\u0e25\u0e15\u0e1f\u0e2d\u0e23\u0e4c\u0e21 Blynk \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a Smart Farm<\/h1>\n\n\n\n<p>\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21 ESP32 \u0e41\u0e25\u0e30\u0e15\u0e48\u0e2d\u0e27\u0e07\u0e08\u0e23\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 \u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c Blynk.Console \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e41\u0e25\u0e30\u0e23\u0e31\u0e1a\u0e23\u0e2b\u0e31\u0e2a\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e15\u0e31\u0e27\u0e15\u0e19 (Auth Token) \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c \u0e42\u0e14\u0e22\u0e21\u0e35\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Template (\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c)<\/h2>\n\n\n\n<p>Template \u0e04\u0e37\u0e2d \u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1e\u0e37\u0e49\u0e19\u0e10\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 \u0e2b\u0e32\u0e01\u0e21\u0e35\u0e0a\u0e38\u0e14\u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e2b\u0e25\u0e32\u0e22\u0e0a\u0e38\u0e14\u0e43\u0e19\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e19 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e43\u0e0a\u0e49 Template \u0e19\u0e35\u0e49\u0e23\u0e48\u0e27\u0e21\u0e01\u0e31\u0e19\u0e44\u0e14\u0e49<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a <strong>blynk.cloud<\/strong> \u0e1c\u0e48\u0e32\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c<\/li>\n\n\n\n<li>\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e41\u0e16\u0e1a\u0e40\u0e21\u0e19\u0e39\u0e14\u0e49\u0e32\u0e19\u0e0b\u0e49\u0e32\u0e22 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e21\u0e19\u0e39 <strong>Developer Zone &gt; My Templates<\/strong><\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>+ New Template<\/strong> (\u0e21\u0e38\u0e21\u0e02\u0e27\u0e32\u0e1a\u0e19)<\/li>\n\n\n\n<li>\u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e15\u0e49\u0e19\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49:\n<ul class=\"wp-block-list\">\n<li><strong>Name:<\/strong> Smart Farm System<\/li>\n\n\n\n<li><strong>Hardware:<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>ESP32<\/strong><\/li>\n\n\n\n<li><strong>Connection Type:<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>WiFi<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>Done<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Datastreams \u0e0a\u0e48\u0e2d\u0e07\u0e17\u0e32\u0e07\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/h2>\n\n\n\n<p>Datastream \u0e2b\u0e23\u0e37\u0e2d Virtual Pin (V-Pin) \u0e04\u0e37\u0e2d \u0e0a\u0e48\u0e2d\u0e07\u0e17\u0e32\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e37\u0e48\u0e2d\u0e2a\u0e32\u0e23\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e41\u0e1a\u0e1a\u0e40\u0e2a\u0e21\u0e37\u0e2d\u0e19\u0e08\u0e23\u0e34\u0e07 \u0e43\u0e19\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 2 \u0e0a\u0e48\u0e2d\u0e07\u0e17\u0e32\u0e07 \u0e04\u0e37\u0e2d \u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e44\u0e1b\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e41\u0e25\u0e30\u0e23\u0e31\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1b\u0e34\u0e14-\u0e1b\u0e34\u0e14\u0e23\u0e35\u0e40\u0e25\u0e22\u0e4c\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e43\u0e19\u0e2b\u0e19\u0e49\u0e32 Template \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49 \u0e43\u0e2b\u0e49\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e41\u0e17\u0e47\u0e1a <strong>Datastreams<\/strong><\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>+ New Datastream<\/strong> \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>Virtual Pin<\/strong><\/li>\n\n\n\n<li><strong>\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 V-Pin \u0e17\u0e35\u0e48 1 (\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19 &#8211; \u0e2a\u0e31\u0e21\u0e1e\u0e31\u0e19\u0e18\u0e4c\u0e01\u0e31\u0e1a GPIO 34)<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Name:<\/strong> Soil Moisture<\/li>\n\n\n\n<li><strong>PIN:<\/strong> V0<\/li>\n\n\n\n<li><strong>Data Type:<\/strong> Integer (\u0e40\u0e25\u0e02\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e15\u0e47\u0e21)<\/li>\n\n\n\n<li><strong>MIN \/ MAX:<\/strong> 0 \/ 100 (\u0e04\u0e34\u0e14\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19 0-100%)<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01 <strong>Create<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 V-Pin \u0e17\u0e35\u0e48 2 (\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1b\u0e38\u0e48\u0e21\u0e01\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 &#8211; \u0e2a\u0e31\u0e21\u0e1e\u0e31\u0e19\u0e18\u0e4c\u0e01\u0e31\u0e1a GPIO 13)<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u0e04\u0e25\u0e34\u0e01 <strong>+ New Datastream &gt; Virtual Pin<\/strong> \u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07<\/li>\n\n\n\n<li><strong>Name:<\/strong> Pump Control<\/li>\n\n\n\n<li><strong>PIN:<\/strong> V1<\/li>\n\n\n\n<li><strong>Data Type:<\/strong> Integer<\/li>\n\n\n\n<li><strong>MIN \/ MAX:<\/strong> 0 \/ 1 (0 = \u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21, 1 = \u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21)<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01 <strong>Create<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e23\u0e23\u0e30\u0e27\u0e31\u0e07<\/strong> \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e04\u0e23\u0e1a 2 \u0e02\u0e32\u0e41\u0e25\u0e49\u0e27 \u0e15\u0e49\u0e2d\u0e07\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>Save<\/strong> \u0e17\u0e35\u0e48\u0e21\u0e38\u0e21\u0e02\u0e27\u0e32\u0e1a\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e2a\u0e21\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c (Add Device)<\/h2>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1c\u0e48\u0e32\u0e19 Template \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27 \u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c (Device) \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e19\u0e33\u0e44\u0e1b\u0e1c\u0e39\u0e01\u0e01\u0e31\u0e1a\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e08\u0e23\u0e34\u0e07<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e41\u0e16\u0e1a\u0e40\u0e21\u0e19\u0e39\u0e14\u0e49\u0e32\u0e19\u0e0b\u0e49\u0e32\u0e22 \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e21\u0e19\u0e39 <strong>Devices<\/strong><\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>+ New Device<\/strong><\/li>\n\n\n\n<li>\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>From template<\/strong> \u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07 Template \u0e43\u0e2b\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01 &#8220;Smart Farm System&#8221;<\/li>\n\n\n\n<li>\u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07 Device Name \u0e43\u0e2b\u0e49\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e15\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e40\u0e0a\u0e48\u0e19 Node_01<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01 <strong>Create<\/strong><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 4 \u0e01\u0e32\u0e23\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a Auth Token<\/h2>\n\n\n\n<p>Auth Token \u0e04\u0e37\u0e2d \u0e23\u0e2b\u0e31\u0e2a\u0e23\u0e31\u0e01\u0e29\u0e32\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e02\u0e2d\u0e07\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c (Unique Identifier) \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e22\u0e34\u0e48\u0e07\u0e43\u0e19\u0e01\u0e32\u0e23\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e01\u0e31\u0e1a\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e44\u0e14\u0e49<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e17\u0e31\u0e19\u0e17\u0e35\u0e17\u0e35\u0e48\u0e04\u0e25\u0e34\u0e01 Create \u0e43\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e17\u0e35\u0e48 3 \u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c &#8220;New Device Created!&#8221; \u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19<\/li>\n\n\n\n<li>\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e1a\u0e25\u0e47\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e17\u0e32\u0e07\u0e02\u0e27\u0e32\u0e21\u0e37\u0e2d \u0e08\u0e30\u0e21\u0e35\u0e42\u0e04\u0e49\u0e14\u0e17\u0e35\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e43\u0e19\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e19\u0e35\u0e49: <code>#define BLYNK_AUTH_TOKEN \"\u0e23\u0e2b\u0e31\u0e2a\u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23\u0e41\u0e25\u0e30\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02...\"<\/code><\/li>\n\n\n\n<li>\u0e43\u0e2b\u0e49\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>Copy to clipboard<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e38\u0e14\u0e19\u0e35\u0e49<\/li>\n\n\n\n<li>\u0e19\u0e33\u0e23\u0e2b\u0e31\u0e2a\u0e17\u0e35\u0e48\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e44\u0e1b\u0e27\u0e32\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e44\u0e27\u0e49\u0e43\u0e19 Notepad \u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e48\u0e07\u0e40\u0e02\u0e49\u0e32\u0e41\u0e0a\u0e17\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e19\u0e33\u0e44\u0e1b\u0e41\u0e17\u0e23\u0e01\u0e43\u0e19\u0e42\u0e04\u0e49\u0e14 Arduino IDE \u0e43\u0e19\u0e1a\u0e17\u0e40\u0e23\u0e35\u0e22\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b (\u0e40\u0e1b\u0e34\u0e14\u0e14\u0e39\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e17\u0e35\u0e48 Developer tools \u0e23\u0e39\u0e1b\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e0a\u0e48\u0e32\u0e07 &gt; Firmware info)<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\"><strong>\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21 (Checklist)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] \u0e2a\u0e23\u0e49\u0e32\u0e07 Template \u0e41\u0e25\u0e30\u0e01\u0e33\u0e2b\u0e19\u0e14 Hardware ESP32 \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08<\/li>\n\n\n\n<li>[ ] \u0e2a\u0e23\u0e49\u0e32\u0e07 Datastreams (V0 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19 , V1 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1b\u0e31\u0e4a\u0e21) \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e14\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e41\u0e25\u0e49\u0e27<\/li>\n\n\n\n<li>[ ] \u0e2a\u0e23\u0e49\u0e32\u0e07 Device \u0e08\u0e32\u0e01 Template \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08<\/li>\n\n\n\n<li>[ ] \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e23\u0e2b\u0e31\u0e2a Auth Token \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21 Smart Farm \u0e41\u0e25\u0e30\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d Blynk Cloud<\/h1>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21 Template \u0e41\u0e25\u0e30 Datastreams \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27 \u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e25\u0e07\u0e1a\u0e19\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e08\u0e32\u0e01\u0e14\u0e34\u0e19 (GPIO 34) \u0e2a\u0e48\u0e07\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e1a\u0e19\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c \u0e41\u0e25\u0e30\u0e23\u0e31\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e08\u0e32\u0e01\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c\u0e21\u0e32\u0e40\u0e1b\u0e34\u0e14-\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 (GPIO 13)<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19<\/h2>\n\n\n\n<p>\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 \u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e38\u0e14\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 (Library) \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e37\u0e48\u0e2d\u0e2a\u0e32\u0e23\u0e01\u0e31\u0e1a Blynk<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e1b\u0e34\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Arduino IDE<\/li>\n\n\n\n<li>\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e21\u0e19\u0e39 <strong>Sketch &gt; Include Library &gt; Manage Libraries&#8230;<\/strong><\/li>\n\n\n\n<li>\u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07\u0e04\u0e49\u0e19\u0e2b\u0e32 \u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e27\u0e48\u0e32 <strong>Blynk<\/strong><\/li>\n\n\n\n<li>\u0e21\u0e2d\u0e07\u0e2b\u0e32\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e0a\u0e37\u0e48\u0e2d <strong>Blynk by Volodymyr Shymanskyy<\/strong> (<strong>\u0e1a\u0e25\u0e34\u0e07\u0e01\u0e4c \u0e1a\u0e32\u0e22 \u0e42\u0e27\u0e42\u0e25\u0e14\u0e35\u0e40\u0e21\u0e35\u0e22\u0e23\u0e4c \u0e0a\u0e35\u0e21\u0e32\u0e19\u0e2a\u0e01\u0e35<\/strong> \u0e1c\u0e39\u0e49\u0e01\u0e48\u0e2d\u0e15\u0e31\u0e49\u0e07 Blynk) \u0e41\u0e25\u0e49\u0e27\u0e04\u0e25\u0e34\u0e01 <strong>Install<\/strong><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2b\u0e25\u0e31\u0e01\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a Smart Farm<\/h2>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e23\u0e48\u0e27\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e41\u0e25\u0e30 Blynk \u0e21\u0e35\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<p><strong>1. \u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49 BlynkTimer \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e36\u0e49\u0e19\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c\u0e16\u0e35\u0e48\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b\u0e08\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e23\u0e27\u0e19 (Flood Error) \u0e40\u0e23\u0e32\u0e08\u0e30\u0e44\u0e21\u0e48\u0e40\u0e02\u0e35\u0e22\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e44\u0e27\u0e49\u0e43\u0e19 <code>loop()<\/code> \u0e42\u0e14\u0e22\u0e15\u0e23\u0e07 \u0e41\u0e15\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>BlynkTimer<\/code> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e31\u0e49\u0e07\u0e40\u0e27\u0e25\u0e32\u0e43\u0e2b\u0e49\u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e17\u0e38\u0e01\u0e46 1 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 \u0e2b\u0e23\u0e37\u0e2d\u0e15\u0e32\u0e21\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14<\/p>\n\n\n\n<p><strong>2. \u0e01\u0e32\u0e23\u0e41\u0e1b\u0e25\u0e07\u0e04\u0e48\u0e32\u0e2d\u0e19\u0e32\u0e25\u0e47\u0e2d\u0e01 (Calibration)<\/strong> \u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e17\u0e35\u0e48\u0e15\u0e48\u0e2d\u0e01\u0e31\u0e1a\u0e02\u0e32 A0 (GPIO 34) \u0e08\u0e30\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e14\u0e34\u0e1a\u0e44\u0e14\u0e49\u0e43\u0e19\u0e0a\u0e48\u0e27\u0e07 0 \u0e16\u0e36\u0e07 4095 (\u0e1a\u0e34\u0e15) \u0e40\u0e23\u0e32\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>map()<\/code> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e41\u0e1b\u0e25\u0e07\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e35\u0e49\u0e43\u0e2b\u0e49\u0e01\u0e25\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c (0-100%) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e14\u0e39\u0e07\u0e48\u0e32\u0e22\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19<\/p>\n\n\n\n<p><strong>3. \u0e01\u0e32\u0e23\u0e23\u0e31\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21 Relay<\/strong> \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 (V1) \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>BLYNK_WRITE(V1)<\/code> \u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1b\u0e34\u0e14-\u0e1b\u0e34\u0e14\u0e01\u0e23\u0e30\u0e41\u0e2a\u0e44\u0e1f\u0e17\u0e35\u0e48\u0e02\u0e32 GPIO 13<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e42\u0e04\u0e49\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 (Smart Farm System)<\/h2>\n\n\n\n<p>\u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e42\u0e04\u0e49\u0e14\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 \u0e42\u0e14\u0e22\u0e15\u0e49\u0e2d\u0e07 <strong>\u0e41\u0e01\u0e49\u0e44\u0e02\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14\u0e17\u0e35\u0e48 1-3<\/strong> \u0e41\u0e25\u0e30 <strong>\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 Wi-Fi<\/strong> \u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e02\u0e2d\u0e07\u0e15\u0e19\u0e40\u0e2d\u0e07<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. \u0e43\u0e2a\u0e48\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 Blynk (\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e21\u0e32\u0e08\u0e32\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a \u0e15\u0e49\u0e2d\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e40\u0e2a\u0e21\u0e2d)\n#define BLYNK_TEMPLATE_ID \"TMPLxxxxxx\"\n#define BLYNK_TEMPLATE_NAME \"Smart Farm System\"\n#define BLYNK_AUTH_TOKEN \"YourAuthTokenHere\"\n\n#include &lt;WiFi.h&gt;\n#include &lt;WiFiClient.h&gt;\n#include &lt;BlynkSimpleEsp32.h&gt;\n\n\/\/ 2. \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22 Wi-Fi\nchar ssid&#91;] = \"YOUR_WIFI_NAME\";\nchar pass&#91;] = \"YOUR_WIFI_PASSWORD\";\n\n\/\/ 3. \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e02\u0e32\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e15\u0e32\u0e21\u0e27\u0e07\u0e08\u0e23\u0e08\u0e23\u0e34\u0e07\nconst int SOIL_PIN = 34;   \/\/ \u0e02\u0e32\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\nconst int RELAY_PIN = 13;  \/\/ \u0e02\u0e32\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21 Relay \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\n\n\/\/ \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2d\u0e2d\u0e1a\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e15\u0e31\u0e49\u0e07\u0e40\u0e27\u0e25\u0e32\nBlynkTimer timer;\n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e23\u0e31\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21\u0e1a\u0e19\u0e41\u0e2d\u0e1b (V1) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e1b\u0e31\u0e4a\u0e21 ---\nBLYNK_WRITE(V1) {\n  int pinValue = param.asInt(); \/\/ \u0e23\u0e31\u0e1a\u0e04\u0e48\u0e32\u0e08\u0e32\u0e01\u0e1b\u0e38\u0e48\u0e21 (0 \u0e2b\u0e23\u0e37\u0e2d 1)\n  \n  if (pinValue == 1) {\n    digitalWrite(RELAY_PIN, HIGH); \/\/ \u0e2a\u0e31\u0e48\u0e07 Relay \u0e17\u0e33\u0e07\u0e32\u0e19 (\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21)\n    Serial.println(\"Pump: ON\");\n  } else {\n    digitalWrite(RELAY_PIN, LOW);  \/\/ \u0e2a\u0e31\u0e48\u0e07 Relay \u0e2b\u0e22\u0e38\u0e14\u0e17\u0e33\u0e07\u0e32\u0e19 (\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21)\n    Serial.println(\"Pump: OFF\");\n  }\n}\n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07\u0e02\u0e36\u0e49\u0e19 Blynk (V0) ---\nvoid sendSensor() {\n  int soilValue = analogRead(SOIL_PIN); \/\/ \u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e14\u0e34\u0e1a\u0e08\u0e32\u0e01\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c (0 - 4095)\n  \n  \/\/ \u0e41\u0e1b\u0e25\u0e07\u0e04\u0e48\u0e32\u0e14\u0e34\u0e1a\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c (0 - 100%)\n  \/\/ \u0e2b\u0e21\u0e32\u0e22\u0e40\u0e2b\u0e15\u0e38: \u0e2d\u0e32\u0e08\u0e15\u0e49\u0e2d\u0e07\u0e1b\u0e23\u0e31\u0e1a\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02 4095 (\u0e41\u0e2b\u0e49\u0e07\u0e2a\u0e38\u0e14) \u0e41\u0e25\u0e30 1000 (\u0e40\u0e1b\u0e35\u0e22\u0e01\u0e2a\u0e38\u0e14) \u0e15\u0e32\u0e21\u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e08\u0e23\u0e34\u0e07\n  int moisturePercent = map(soilValue, 4095, 1000, 0, 100);\n  \n  \/\/ \u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e04\u0e48\u0e32\u0e40\u0e01\u0e34\u0e19 100% \u0e2b\u0e23\u0e37\u0e2d\u0e15\u0e34\u0e14\u0e25\u0e1a\n  moisturePercent = constrain(moisturePercent, 0, 100);\n\n  \/\/ \u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e44\u0e1b\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e17\u0e35\u0e48\u0e02\u0e32 V0 \u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\n  Blynk.virtualWrite(V0, moisturePercent);\n  \n  \/\/ \u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e17\u0e32\u0e07 Serial Monitor \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\n  Serial.print(\"Soil Moisture: \");\n  Serial.print(moisturePercent);\n  Serial.println(\"%\");\n}\n\n\/\/ ------------------------------------------\n\nvoid setup() {\n  Serial.begin(115200);\n  \n  \/\/ \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e42\u0e2b\u0e21\u0e14\u0e02\u0e2d\u0e07\u0e02\u0e32\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\n  pinMode(RELAY_PIN, OUTPUT);\n  digitalWrite(RELAY_PIN, LOW); \/\/ \u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e44\u0e27\u0e49\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\n  \n  Serial.println(\"Connecting to Blynk...\");\n  \/\/ \u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\n  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);\n\n  \/\/ \u0e15\u0e31\u0e49\u0e07\u0e40\u0e27\u0e25\u0e32\u0e43\u0e2b\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 sendSensor \u0e17\u0e33\u0e07\u0e32\u0e19\u0e17\u0e38\u0e01\u0e46 1000 \u0e21\u0e34\u0e25\u0e25\u0e34\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 (1 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35)\n  timer.setInterval(1000L, sendSensor);\n}\n\nvoid loop() {\n  \/\/ \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e23\u0e30\u0e1a\u0e1a Blynk \u0e41\u0e25\u0e30 Timer \u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\n  Blynk.run();\n  timer.run();\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\"><strong>\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21 (Checklist)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19 Template ID, Name \u0e41\u0e25\u0e30 Auth Token \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27<\/li>\n\n\n\n<li>[ ] \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19 Wi-Fi \u0e40\u0e1b\u0e47\u0e19\u0e02\u0e2d\u0e07\u0e15\u0e19\u0e40\u0e2d\u0e07 (\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a 2.4GHz \u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19)<\/li>\n\n\n\n<li>[ ] \u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e42\u0e04\u0e49\u0e14\u0e1c\u0e48\u0e32\u0e19 Arduino IDE \u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14<\/li>\n\n\n\n<li>[ ] \u0e40\u0e1b\u0e34\u0e14 Serial Monitor (Baud Rate 115200) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 3 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e1b\u0e31\u0e14\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21 (Dashboard) \u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19  Blynk<\/h1>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e41\u0e25\u0e30\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e42\u0e04\u0e49\u0e14\u0e25\u0e07\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27 \u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 Blynk IoT \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e32\u0e21\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e41\u0e25\u0e30\u0e2a\u0e31\u0e48\u0e07\u0e01\u0e32\u0e23\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e08\u0e32\u0e01\u0e23\u0e30\u0e22\u0e30\u0e44\u0e01\u0e25<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e04\u0e27\u0e32\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e1a\u0e19\u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e42\u0e1f\u0e19<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 <strong>Blynk IoT<\/strong> \u0e1a\u0e19\u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e42\u0e1f\u0e19<\/li>\n\n\n\n<li>\u0e25\u0e47\u0e2d\u0e01\u0e2d\u0e34\u0e19\u0e14\u0e49\u0e27\u0e22\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c<\/li>\n\n\n\n<li>\u0e43\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e23\u0e01 (Devices) \u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e30\u0e1e\u0e1a\u0e0a\u0e37\u0e48\u0e2d\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49\u0e43\u0e19\u0e1a\u0e17\u0e17\u0e35\u0e48 1 \u0e40\u0e0a\u0e48\u0e19 Node_01 \u0e43\u0e2b\u0e49\u0e04\u0e25\u0e34\u0e01\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e19\u0e31\u0e49\u0e19<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e44\u0e2d\u0e04\u0e2d\u0e19 <strong>\u0e23\u0e39\u0e1b\u0e01\u0e38\u0e0d\u0e41\u0e08 \u0e2b\u0e23\u0e37\u0e2d \u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e41\u0e01\u0e49\u0e44\u0e02 (Setup Dashboard)<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e42\u0e2b\u0e21\u0e14\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e27\u0e32\u0e07 Widget<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Widget \u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19 (V0)<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49 <strong>Gauge (\u0e21\u0e32\u0e15\u0e23\u0e27\u0e31\u0e14)<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e21\u0e32\u0e08\u0e32\u0e01\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c (GPIO 34)<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>+ (Add Widget)<\/strong> \u0e41\u0e25\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>Gauge<\/strong><\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e15\u0e31\u0e27 Gauge \u0e17\u0e35\u0e48\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 (Settings)\n<ul class=\"wp-block-list\">\n<li><strong>Title :<\/strong> Soil Moisture<\/li>\n\n\n\n<li><strong>DataStream :<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>Soil Moisture (V0)<\/strong><\/li>\n\n\n\n<li><strong>Design :<\/strong> \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2a\u0e35\u0e02\u0e2d\u0e07\u0e21\u0e32\u0e15\u0e23\u0e27\u0e31\u0e14\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e40\u0e0a\u0e48\u0e19 \u0e2a\u0e35\u0e1f\u0e49\u0e32 \u0e2a\u0e35\u0e40\u0e02\u0e35\u0e22\u0e27<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e22\u0e49\u0e2d\u0e19\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Widget \u0e2a\u0e31\u0e48\u0e07\u0e01\u0e32\u0e23\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 (V1)<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49 <strong>Button (\u0e1b\u0e38\u0e48\u0e21\u0e01\u0e14)<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e48\u0e07\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1b\u0e34\u0e14-\u0e1b\u0e34\u0e14 Relay (GPIO 13)<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>+ (Add Widget)<\/strong> \u0e41\u0e25\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>Button<\/strong><\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e15\u0e31\u0e27 Button \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 (Settings)\n<ul class=\"wp-block-list\">\n<li><strong>Title :<\/strong> Pump Control<\/li>\n\n\n\n<li><strong>DataStream :<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 <strong>Pump Control (V1)<\/strong><\/li>\n\n\n\n<li><strong>Mode :<\/strong> \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e08\u0e32\u0e01 Push \u0e40\u0e1b\u0e47\u0e19 <strong>Switch<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e01\u0e14\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e04\u0e23\u0e31\u0e49\u0e07\u0e04\u0e37\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e01\u0e14\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e04\u0e37\u0e2d\u0e1b\u0e34\u0e14<\/li>\n\n\n\n<li><strong>Labels :<\/strong> \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e2b\u0e21\u0e32\u0e22\u0e02\u0e2d\u0e07\u0e2a\u0e16\u0e32\u0e19\u0e30 \u0e40\u0e0a\u0e48\u0e19 Off = \u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21 , On = \u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e22\u0e49\u0e2d\u0e19\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 4 \u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e23\u0e27\u0e21 (System Integration Test)<\/h2>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e08\u0e31\u0e14\u0e27\u0e32\u0e07 Widget \u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27 \u0e43\u0e2b\u0e49\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 <strong>Exit (\u0e1b\u0e38\u0e48\u0e21 Play)<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 \u0e41\u0e25\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e15\u0e32\u0e21\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d<\/strong> \u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 \u0e2b\u0e32\u0e01\u0e08\u0e38\u0e14\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e2a\u0e35\u0e40\u0e02\u0e35\u0e22\u0e27 \u0e41\u0e2a\u0e14\u0e07\u0e27\u0e48\u0e32\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08<\/li>\n\n\n\n<li><strong>\u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c (V0)<\/strong> \u0e19\u0e33\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e08\u0e38\u0e48\u0e21\u0e25\u0e07\u0e43\u0e19\u0e41\u0e01\u0e49\u0e27\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e14\u0e34\u0e19\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e35\u0e22\u0e01 \u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e04\u0e48\u0e32 Gauge \u0e1a\u0e19\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e27\u0e48\u0e32\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e02\u0e36\u0e49\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 \u0e41\u0e25\u0e49\u0e27\u0e19\u0e33\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e40\u0e0a\u0e47\u0e14\u0e43\u0e2b\u0e49\u0e41\u0e2b\u0e49\u0e07 \u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e27\u0e48\u0e32\u0e04\u0e48\u0e32\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e25\u0e14\u0e25\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48<\/li>\n\n\n\n<li><strong>\u0e01\u0e32\u0e23\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19 (V1)<\/strong> \u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e1a\u0e19\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21 \u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e42\u0e21\u0e14\u0e39\u0e25 Relay \u0e08\u0e30\u0e21\u0e35\u0e44\u0e1f\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e15\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e41\u0e25\u0e30\u0e44\u0e14\u0e49\u0e22\u0e34\u0e19\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e04\u0e25\u0e34\u0e01 \u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e27\u0e48\u0e32\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e02\u0e19\u0e32\u0e14\u0e40\u0e25\u0e47\u0e01\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 \u0e41\u0e25\u0e49\u0e27\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2a\u0e31\u0e48\u0e07\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e41\u0e25\u0e30\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e2b\u0e22\u0e38\u0e14\u0e17\u0e33\u0e07\u0e32\u0e19\u0e15\u0e32\u0e21\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\"><strong>\u0e2a\u0e23\u0e38\u0e1b\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e44\u0e14\u0e49\u0e23\u0e31\u0e1a\u0e08\u0e32\u0e01\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e19\u0e35\u0e49<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c (Blynk Cloud) \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e37\u0e48\u0e2d\u0e2a\u0e32\u0e23\u0e1c\u0e48\u0e32\u0e19 Virtual Pin<\/li>\n\n\n\n<li>\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e41\u0e1b\u0e25\u0e07\u0e04\u0e48\u0e32\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e2d\u0e19\u0e32\u0e25\u0e47\u0e2d\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e08\u0e23\u0e34\u0e07<\/li>\n\n\n\n<li>\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e44\u0e1f\u0e1f\u0e49\u0e32\u0e41\u0e23\u0e07\u0e2a\u0e39\u0e07\u0e1c\u0e48\u0e32\u0e19 Relay \u0e14\u0e49\u0e27\u0e22\u0e41\u0e23\u0e07\u0e14\u0e31\u0e19\u0e44\u0e1f\u0e1f\u0e49\u0e32\u0e15\u0e48\u0e33\u0e08\u0e32\u0e01\u0e44\u0e21\u0e42\u0e04\u0e23\u0e04\u0e2d\u0e19\u0e42\u0e17\u0e23\u0e25\u0e40\u0e25\u0e2d\u0e23\u0e4c<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 4 \u0e2d\u0e31\u0e1b\u0e40\u0e01\u0e23\u0e14\u0e23\u0e30\u0e1a\u0e1a\u0e15\u0e23\u0e27\u0e08\u0e27\u0e31\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e2d\u0e32\u0e01\u0e32\u0e28\u0e14\u0e49\u0e27\u0e22\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22<\/h1>\n\n\n\n<p>\u0e43\u0e19\u0e1a\u0e17\u0e19\u0e35\u0e49 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e27\u0e31\u0e14\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e43\u0e19\u0e2d\u0e32\u0e01\u0e32\u0e28 \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 Blynk \u0e23\u0e48\u0e27\u0e21\u0e01\u0e31\u0e1a\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e41\u0e25\u0e30\u0e1b\u0e38\u0e48\u0e21\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e40\u0e14\u0e34\u0e21\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e27\u0e07\u0e08\u0e23\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22<\/h2>\n\n\n\n<p>\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22 \u0e42\u0e14\u0e22\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b\u0e08\u0e30\u0e21\u0e35 3 \u0e02\u0e32 (VCC , DATA , GND) \u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c (DHT22)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e17\u0e35\u0e48 (ESP32)<\/strong><\/td><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>VCC (+)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">3.3V<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>DATA (Out)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>GPIO 4<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>GND (-)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">GND<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e0a\u0e48\u0e2d\u0e07\u0e17\u0e32\u0e07\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 (Datastreams) \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e17\u0e48\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2d\u0e35\u0e01 2 \u0e17\u0e48\u0e2d \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e41\u0e25\u0e30\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e21\u0e32\u0e08\u0e32\u0e01\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e15\u0e31\u0e27\u0e43\u0e2b\u0e21\u0e48<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a <strong>blynk.cloud<\/strong> \u0e41\u0e25\u0e30\u0e44\u0e1b\u0e17\u0e35\u0e48 Template &#8220;Smart Farm System&#8221; \u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e41\u0e17\u0e47\u0e1a <strong>Datastreams<\/strong> \u0e41\u0e25\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07 Virtual Pin \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49\n<ul class=\"wp-block-list\">\n<li><strong>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34<\/strong>\n<ul class=\"wp-block-list\">\n<li>Name : Temperature<\/li>\n\n\n\n<li>PIN : <strong>V2<\/strong><\/li>\n\n\n\n<li>Data Type : <strong>Double<\/strong> (\u0e40\u0e1e\u0e23\u0e32\u0e30\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e21\u0e35\u0e17\u0e28\u0e19\u0e34\u0e22\u0e21 \u0e41\u0e25\u0e30 Blynk \u0e44\u0e21\u0e48\u0e21\u0e35\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01 float \u0e41\u0e15\u0e48\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e19\u0e44\u0e14\u0e49)<\/li>\n\n\n\n<li>MIN \/ MAX : -40 \/ 80<\/li>\n\n\n\n<li>Units : <strong>Celsius<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e43\u0e19\u0e2d\u0e32\u0e01\u0e32\u0e28<\/strong>\n<ul class=\"wp-block-list\">\n<li>Name : Humidity<\/li>\n\n\n\n<li>PIN : <strong>V3<\/strong><\/li>\n\n\n\n<li>Data Type : <strong>Double<\/strong><\/li>\n\n\n\n<li>MIN \/ MAX : 0 \/ 100<\/li>\n\n\n\n<li>Units : <strong>%<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0e2d\u0e22\u0e48\u0e32\u0e25\u0e37\u0e21\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 <strong>Save<\/strong> \u0e17\u0e35\u0e48\u0e21\u0e38\u0e21\u0e02\u0e27\u0e32\u0e1a\u0e19\u0e2a\u0e38\u0e14<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21<\/h2>\n\n\n\n<p>\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22 \u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e43\u0e19\u0e01\u0e32\u0e23\u0e16\u0e2d\u0e14\u0e23\u0e2b\u0e31\u0e2a\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-ast-global-color-6-background-color has-background has-medium-font-size\"><strong>\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35<\/strong><\/h3>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e43\u0e19 Arduino IDE \u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e21\u0e19\u0e39 <strong>Sketch &gt; Include Library &gt; Manage Libraries&#8230;<\/strong><\/li>\n\n\n\n<li>\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e04\u0e33\u0e27\u0e48\u0e32 <strong>DHT sensor library<\/strong> \u0e42\u0e14\u0e22\u0e1c\u0e39\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07 Adafruit \u0e41\u0e25\u0e49\u0e27\u0e04\u0e25\u0e34\u0e01 Install<\/li>\n\n\n\n<li>\u0e2b\u0e32\u0e01\u0e23\u0e30\u0e1a\u0e1a\u0e16\u0e32\u0e21\u0e27\u0e48\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e17\u0e35\u0e48\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e02\u0e49\u0e2d\u0e07 (Dependencies) \u0e40\u0e0a\u0e48\u0e19 Adafruit Unified Sensor \u0e14\u0e49\u0e27\u0e22\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 \u0e43\u0e2b\u0e49\u0e15\u0e2d\u0e1a <strong>Install All<\/strong><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-6-background-color has-background has-medium-font-size\"><strong>\u0e42\u0e04\u0e49\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e09\u0e1a\u0e31\u0e1a\u0e2d\u0e31\u0e1b\u0e40\u0e01\u0e23\u0e14<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 Blynk (\u0e15\u0e49\u0e2d\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14)\n#define BLYNK_TEMPLATE_ID \"TMPLxxxxxx\"\n#define BLYNK_TEMPLATE_NAME \"Smart Farm System\"\n#define BLYNK_AUTH_TOKEN \"YourAuthTokenHere\"\n\n#include &lt;WiFi.h&gt;\n#include &lt;WiFiClient.h&gt;\n#include &lt;BlynkSimpleEsp32.h&gt;\n#include &lt;DHT.h&gt; \/\/ \ud83c\udf1f \u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35 DHT\n\n\/\/ 2. \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22 Wi-Fi\nchar ssid&#91;] = \"YOUR_WIFI_NAME\";\nchar pass&#91;] = \"YOUR_WIFI_PASSWORD\";\n\n\/\/ 3. \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e02\u0e32\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\nconst int SOIL_PIN = 34;   \nconst int RELAY_PIN = 13;  \nconst int DHT_PIN = 4;     \/\/ \ud83c\udf1f \u0e02\u0e32\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22\n\n\/\/ \ud83c\udf1f \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c (\u0e43\u0e0a\u0e49 DHT22)\n#define DHTTYPE DHT22   \nDHT dht(DHT_PIN, DHTTYPE);\n\nBlynkTimer timer;\n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e23\u0e31\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 (V1) ---\nBLYNK_WRITE(V1) {\n  int pinValue = param.asInt(); \n  if (pinValue == 1) {\n    digitalWrite(RELAY_PIN, HIGH); \n    Serial.println(\"Pump: ON\");\n  } else {\n    digitalWrite(RELAY_PIN, LOW);  \n    Serial.println(\"Pump: OFF\");\n  }\n}\n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07\u0e02\u0e36\u0e49\u0e19 Blynk ---\nvoid sendSensors() {\n  \/\/ 1. \u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\n  int soilValue = analogRead(SOIL_PIN); \n  int moisturePercent = map(soilValue, 4095, 1000, 0, 100);\n  moisturePercent = constrain(moisturePercent, 0, 100);\n  Blynk.virtualWrite(V0, moisturePercent);\n  \n  \/\/ 2. \ud83c\udf1f \u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e08\u0e32\u0e01 DHT22\n  float h = dht.readHumidity();\n  float t = dht.readTemperature();\n\n  \/\/ \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1b\u0e01\u0e15\u0e34\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48\n  if (isnan(h) || isnan(t)) {\n    Serial.println(\"Failed to read from DHT sensor!\");\n    return;\n  }\n\n  \/\/ \u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e02\u0e36\u0e49\u0e19 Blynk (V2 \u0e41\u0e25\u0e30 V3)\n  Blynk.virtualWrite(V2, t);\n  Blynk.virtualWrite(V3, h);\n  \n  \/\/ \u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e17\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c\n  Serial.print(\"Soil: \"); Serial.print(moisturePercent); Serial.print(\"% | \");\n  Serial.print(\"Air Temp: \"); Serial.print(t); Serial.print(\"\u00b0C | \");\n  Serial.print(\"Air Humidity: \"); Serial.print(h); Serial.println(\"%\");\n}\n\n\/\/ ------------------------------------------\n\nvoid setup() {\n  Serial.begin(115200);\n  \n  pinMode(RELAY_PIN, OUTPUT);\n  digitalWrite(RELAY_PIN, LOW); \n  \n  dht.begin(); \/\/ \ud83c\udf1f \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT \u0e40\u0e23\u0e34\u0e48\u0e21\u0e17\u0e33\u0e07\u0e32\u0e19\n\n  Serial.println(\"Connecting to Blynk...\");\n  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);\n\n  \/\/ \ud83c\udf1f \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e27\u0e25\u0e32\u0e40\u0e1b\u0e47\u0e19 2 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 (2000L) \u0e40\u0e1e\u0e23\u0e32\u0e30 DHT22 \u0e04\u0e27\u0e23\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e17\u0e38\u0e01\u0e46 2 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e41\u0e21\u0e48\u0e19\u0e22\u0e33\n  timer.setInterval(2000L, sendSensors); \n}\n\nvoid loop() {\n  Blynk.run();\n  timer.run();\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 4 \u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e2b\u0e19\u0e49\u0e32\u0e1b\u0e31\u0e14 (Dashboard) \u0e1a\u0e19\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 Blynk IoT \u0e1a\u0e19\u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e42\u0e1f\u0e19<\/li>\n\n\n\n<li>\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e42\u0e2b\u0e21\u0e14\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 (Setup Dashboard)<\/li>\n\n\n\n<li>\u0e40\u0e1e\u0e34\u0e48\u0e21 Widget \u0e41\u0e1a\u0e1a <strong>Gauge (\u0e21\u0e32\u0e15\u0e23\u0e27\u0e31\u0e14)<\/strong> \u0e2b\u0e23\u0e37\u0e2d <strong>Labeled Value (\u0e01\u0e25\u0e48\u0e2d\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21)<\/strong> \u0e08\u0e33\u0e19\u0e27\u0e19 2 \u0e15\u0e31\u0e27<\/li>\n\n\n\n<li>\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Widget \u0e15\u0e31\u0e27\u0e41\u0e23\u0e01\u0e43\u0e2b\u0e49\u0e1c\u0e39\u0e01\u0e01\u0e31\u0e1a <strong>V2 (Temperature)<\/strong><\/li>\n\n\n\n<li>\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Widget \u0e15\u0e31\u0e27\u0e17\u0e35\u0e48\u0e2a\u0e2d\u0e07\u0e43\u0e2b\u0e49\u0e1c\u0e39\u0e01\u0e01\u0e31\u0e1a <strong>V3 (Humidity)<\/strong><\/li>\n\n\n\n<li>\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e15\u0e48\u0e07\u0e2a\u0e35\u0e2a\u0e31\u0e19\u0e43\u0e2b\u0e49\u0e2a\u0e27\u0e22\u0e07\u0e32\u0e21 \u0e40\u0e0a\u0e48\u0e19 \u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e2a\u0e35\u0e41\u0e14\u0e07 \u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e2a\u0e35\u0e1f\u0e49\u0e32<\/li>\n\n\n\n<li>\u0e01\u0e14\u0e40\u0e23\u0e34\u0e48\u0e21\u0e23\u0e30\u0e1a\u0e1a (Play) \u0e41\u0e25\u0e30\u0e43\u0e0a\u0e49\u0e21\u0e37\u0e2d\u0e2d\u0e31\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1b\u0e48\u0e32\u0e25\u0e21\u0e2b\u0e32\u0e22\u0e43\u0e08\u0e43\u0e2a\u0e48\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e14\u0e39\u0e27\u0e48\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48<\/li>\n<\/ol>\n\n\n\n<p><strong>\ud83d\udca1 \u0e02\u0e49\u0e2d\u0e04\u0e27\u0e23\u0e23\u0e30\u0e27\u0e31\u0e07 (Teaching Point)<\/strong> \u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e30\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e40\u0e2b\u0e47\u0e19\u0e27\u0e48\u0e32\u0e43\u0e19\u0e1a\u0e23\u0e23\u0e17\u0e31\u0e14 <code>timer.setInterval(2000L, sendSensors);<\/code> \u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e27\u0e25\u0e32\u0e08\u0e32\u0e01 1000L \u0e40\u0e1b\u0e47\u0e19 <strong>2000L (2 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35)<\/strong> \u0e2a\u0e32\u0e40\u0e2b\u0e15\u0e38\u0e40\u0e1e\u0e23\u0e32\u0e30\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e32\u0e15\u0e34\u0e02\u0e2d\u0e07\u0e2e\u0e32\u0e23\u0e4c\u0e14\u0e41\u0e27\u0e23\u0e4c DHT22 \u0e08\u0e30\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e04\u0e48\u0e2d\u0e19\u0e02\u0e49\u0e32\u0e07\u0e0a\u0e49\u0e32 \u0e2b\u0e32\u0e01\u0e40\u0e23\u0e32\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e16\u0e35\u0e48\u0e01\u0e27\u0e48\u0e32 2 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 \u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e2d\u0e32\u0e08\u0e08\u0e30\u0e23\u0e27\u0e19\u0e41\u0e25\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e48\u0e32\u0e41\u0e1b\u0e25\u0e01\u0e46 \u0e44\u0e14\u0e49<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 5 \u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e41\u0e2a\u0e07 (LDR) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e15\u0e34\u0e14\u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07<\/h1>\n\n\n\n<p>\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e1f\u0e32\u0e23\u0e4c\u0e21 \u0e41\u0e2a\u0e07\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e1b\u0e31\u0e08\u0e08\u0e31\u0e22\u0e2b\u0e25\u0e31\u0e01\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e07\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e41\u0e2a\u0e07\u0e02\u0e2d\u0e07\u0e1e\u0e37\u0e0a \u0e43\u0e19\u0e1a\u0e17\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e41\u0e2a\u0e07 (LDR Module) \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e1b\u0e23\u0e34\u0e21\u0e32\u0e13\u0e41\u0e2a\u0e07\u0e1c\u0e48\u0e32\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 Blynk \u0e44\u0e14\u0e49\u0e15\u0e25\u0e2d\u0e14\u0e40\u0e27\u0e25\u0e32<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d\u0e27\u0e07\u0e08\u0e23\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e41\u0e2a\u0e07 (LDR Module)<\/h2>\n\n\n\n<p>\u0e42\u0e21\u0e14\u0e39\u0e25 LDR \u0e41\u0e1a\u0e1a\u0e21\u0e32\u0e15\u0e23\u0e10\u0e32\u0e19\u0e21\u0e31\u0e01\u0e08\u0e30\u0e21\u0e35 3 \u0e2b\u0e23\u0e37\u0e2d 4 \u0e02\u0e32 (\u0e2b\u0e32\u0e01\u0e21\u0e35 4 \u0e02\u0e32 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e40\u0e09\u0e1e\u0e32\u0e30\u0e02\u0e32\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13\u0e2d\u0e19\u0e32\u0e25\u0e47\u0e2d\u0e01 \u0e2b\u0e23\u0e37\u0e2d A0) \u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-center\" data-align=\"center\">\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c (LDR Module)<\/th><th class=\"has-text-align-center\" data-align=\"center\">\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e17\u0e35\u0e48 (ESP32)<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>VCC (\u0e41\u0e23\u0e07\u0e14\u0e31\u0e19\u0e44\u0e1f\u0e40\u0e02\u0e49\u0e32)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">3.3V<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>GND (\u0e01\u0e23\u0e32\u0e27\u0e14\u0e4c)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\">GND<\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>A0 (Analog Out)<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>GPIO 35<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d <strong>LDR \u0e41\u0e1a\u0e1a 2 \u0e02\u0e32<\/strong> \u0e40\u0e1b\u0e25\u0e48\u0e32\u0e46 \u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a ESP32 \u0e19\u0e31\u0e49\u0e19 \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e48\u0e2d\u0e15\u0e23\u0e07\u0e44\u0e14\u0e49\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e42\u0e21\u0e14\u0e39\u0e25 \u0e41\u0e15\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e2d\u0e32\u0e28\u0e31\u0e22\u0e01\u0e32\u0e23\u0e15\u0e48\u0e2d <strong>\u0e27\u0e07\u0e08\u0e23\u0e41\u0e1a\u0e48\u0e07\u0e41\u0e23\u0e07\u0e14\u0e31\u0e19 (Voltage Divider)<\/strong> \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e15\u0e31\u0e27\u0e15\u0e49\u0e32\u0e19\u0e17\u0e32\u0e19\u0e04\u0e07\u0e17\u0e35\u0e48\u0e02\u0e19\u0e32\u0e14 <strong>10k\u03a9<\/strong> \u0e21\u0e32\u0e0a\u0e48\u0e27\u0e22\u0e04\u0e23\u0e31\u0e1a \u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e04\u0e37\u0e2d\u0e43\u0e2b\u0e49\u0e15\u0e48\u0e2d\u0e02\u0e32\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e02\u0e2d\u0e07 LDR \u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a\u0e44\u0e1f <strong>3.3V<\/strong> \u0e41\u0e25\u0e30\u0e2d\u0e35\u0e01\u0e02\u0e32\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a\u0e02\u0e32 <strong>GPIO 35<\/strong> \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e31\u0e27\u0e15\u0e49\u0e32\u0e19\u0e17\u0e32\u0e19 10k\u03a9 \u0e08\u0e32\u0e01\u0e08\u0e38\u0e14\u0e19\u0e31\u0e49\u0e19\u0e25\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07 <strong>GND<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e15\u0e49\u0e32\u0e19\u0e17\u0e32\u0e19\u0e17\u0e35\u0e48\u0e41\u0e1b\u0e23\u0e1c\u0e31\u0e19\u0e15\u0e32\u0e21\u0e41\u0e2a\u0e07\u0e43\u0e2b\u0e49\u0e01\u0e25\u0e32\u0e22\u0e40\u0e1b\u0e47\u0e19\u0e41\u0e23\u0e07\u0e14\u0e31\u0e19\u0e44\u0e1f\u0e1f\u0e49\u0e32\u0e17\u0e35\u0e48\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e2d\u0e19\u0e32\u0e25\u0e47\u0e2d\u0e01\u0e44\u0e14\u0e49\u0e19\u0e31\u0e48\u0e19\u0e40\u0e2d\u0e07<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e0a\u0e48\u0e2d\u0e07\u0e17\u0e32\u0e07\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 (Datastreams) \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07 Datastream \u0e43\u0e2b\u0e21\u0e48\u0e43\u0e19\u0e41\u0e21\u0e48\u0e1e\u0e34\u0e21\u0e1e\u0e4c (Template) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e48\u0e2d\u0e23\u0e31\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a <strong>blynk.cloud<\/strong> \u0e41\u0e25\u0e30\u0e40\u0e1b\u0e34\u0e14 Template &#8220;Smart Farm System&#8221;<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e41\u0e17\u0e47\u0e1a <strong>Datastreams<\/strong> \u0e41\u0e25\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07 Virtual Pin \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49\n<ul class=\"wp-block-list\">\n<li><strong>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e41\u0e2a\u0e07\u0e2a\u0e27\u0e48\u0e32\u0e07<\/strong>\n<ul class=\"wp-block-list\">\n<li>Name : Light Intensity (\u0e44\u0e25\u0e17\u0e4c-\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e19\u0e0b\u0e34\u0e15\u0e35)<\/li>\n\n\n\n<li>PIN : <strong>V4<\/strong><\/li>\n\n\n\n<li>Data Type : <strong>Integer<\/strong> (\u0e40\u0e25\u0e02\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e15\u0e47\u0e21)<\/li>\n\n\n\n<li>MIN \/ MAX : 0 \/ 100<\/li>\n\n\n\n<li>Units : <strong>%<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>Save<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e23\u0e27\u0e21\u0e17\u0e38\u0e01\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c<\/h2>\n\n\n\n<p>\u0e42\u0e04\u0e49\u0e14\u0e43\u0e19\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e31\u0e49\u0e07\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19 (A0) \u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\/\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e2d\u0e32\u0e01\u0e32\u0e28 (DHT22) \u0e41\u0e25\u0e30\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e41\u0e2a\u0e07 (LDR) \u0e44\u0e1b\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e46\u0e01\u0e31\u0e19<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ 1. \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 Blynk (\u0e15\u0e49\u0e2d\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e1a\u0e19\u0e2a\u0e38\u0e14)\n#define BLYNK_TEMPLATE_ID \"TMPLxxxxxx\"\n#define BLYNK_TEMPLATE_NAME \"Smart Farm System\"\n#define BLYNK_AUTH_TOKEN \"YourAuthTokenHere\"\n\n#include &lt;WiFi.h&gt;\n#include &lt;WiFiClient.h&gt;\n#include &lt;BlynkSimpleEsp32.h&gt;\n#include &lt;DHT.h&gt; \n\n\/\/ 2. \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22 Wi-Fi\nchar ssid&#91;] = \"YOUR_WIFI_NAME\";\nchar pass&#91;] = \"YOUR_WIFI_PASSWORD\";\n\n\/\/ 3. \u0e01\u0e33\u0e2b\u0e19\u0e14\u0e02\u0e32\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\nconst int SOIL_PIN = 34;   \/\/ \u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\nconst int RELAY_PIN = 13;  \/\/ \u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\nconst int DHT_PIN = 4;     \/\/ \u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c DHT22\nconst int LDR_PIN = 35;    \/\/ \ud83c\udf1f \u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e27\u0e31\u0e14\u0e41\u0e2a\u0e07 (LDR)\n\n#define DHTTYPE DHT22   \nDHT dht(DHT_PIN, DHTTYPE);\n\nBlynkTimer timer;\n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e23\u0e31\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 (V1) ---\nBLYNK_WRITE(V1) {\n  int pinValue = param.asInt(); \n  if (pinValue == 1) {\n    digitalWrite(RELAY_PIN, HIGH); \n  } else {\n    digitalWrite(RELAY_PIN, LOW);  \n  }\n}\n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07\u0e02\u0e36\u0e49\u0e19 Blynk ---\nvoid sendSensors() {\n  \/\/ 1. \u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19 (V0)\n  int soilValue = analogRead(SOIL_PIN); \n  int moisturePercent = map(soilValue, 4095, 1000, 0, 100);\n  moisturePercent = constrain(moisturePercent, 0, 100);\n  Blynk.virtualWrite(V0, moisturePercent);\n  \n  \/\/ 2. \u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e2d\u0e32\u0e01\u0e32\u0e28\u0e08\u0e32\u0e01 DHT22 (V2, V3)\n  float h = dht.readHumidity();\n  float t = dht.readTemperature();\n  if (!isnan(h) &amp;&amp; !isnan(t)) {\n    Blynk.virtualWrite(V2, t);\n    Blynk.virtualWrite(V3, h);\n  }\n\n  \/\/ 3. \ud83c\udf1f \u0e2d\u0e48\u0e32\u0e19\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01 LDR (V4)\n  int lightValue = analogRead(LDR_PIN);\n  \n  \/\/ \u0e41\u0e1b\u0e25\u0e07\u0e04\u0e48\u0e32\u0e14\u0e34\u0e1a\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c (0 - 100%)\n  \/\/ *\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e23\u0e23\u0e30\u0e27\u0e31\u0e07: \u0e2b\u0e32\u0e01\u0e42\u0e21\u0e14\u0e39\u0e25 LDR \u0e02\u0e2d\u0e07\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e48\u0e32\u0e22\u0e49\u0e2d\u0e19\u0e01\u0e25\u0e31\u0e1a (\u0e2a\u0e27\u0e48\u0e32\u0e07=0, \u0e21\u0e37\u0e14=100) \n  \/\/ \u0e43\u0e2b\u0e49\u0e2a\u0e25\u0e31\u0e1a\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e43\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 map() \u0e40\u0e1b\u0e47\u0e19 map(lightValue, 0, 4095, 0, 100);\n  int lightPercent = map(lightValue, 4095, 0, 0, 100);\n  lightPercent = constrain(lightPercent, 0, 100);\n  \n  \/\/ \u0e2a\u0e48\u0e07\u0e04\u0e48\u0e32\u0e02\u0e36\u0e49\u0e19\u0e44\u0e1b\u0e17\u0e35\u0e48 V4\n  Blynk.virtualWrite(V4, lightPercent);\n  \n  \/\/ \u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e1c\u0e48\u0e32\u0e19\u0e17\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c (Serial Monitor)\n  Serial.print(\"Soil: \"); Serial.print(moisturePercent); Serial.print(\"% | \");\n  Serial.print(\"Temp: \"); Serial.print(t); Serial.print(\"\u00b0C | \");\n  Serial.print(\"Hum: \"); Serial.print(h); Serial.print(\"% | \");\n  Serial.print(\"Light: \"); Serial.print(lightPercent); Serial.println(\"%\");\n}\n\n\/\/ ------------------------------------------\n\nvoid setup() {\n  Serial.begin(115200);\n  \n  pinMode(RELAY_PIN, OUTPUT);\n  digitalWrite(RELAY_PIN, LOW); \n  \n  dht.begin(); \n\n  Serial.println(\"Connecting to Blynk...\");\n  Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);\n\n  \/\/ \u0e15\u0e31\u0e49\u0e07\u0e40\u0e27\u0e25\u0e32\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e38\u0e01\u0e46 2 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\n  timer.setInterval(2000L, sendSensors); \n}\n\nvoid loop() {\n  Blynk.run();\n  timer.run();\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 4 \u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e2b\u0e19\u0e49\u0e32\u0e1b\u0e31\u0e14 (Dashboard) \u0e1a\u0e19\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 Blynk IoT \u0e1a\u0e19\u0e2a\u0e21\u0e32\u0e23\u0e4c\u0e17\u0e42\u0e1f\u0e19<\/li>\n\n\n\n<li>\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e42\u0e2b\u0e21\u0e14\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 (Setup Dashboard)<\/li>\n\n\n\n<li>\u0e40\u0e1e\u0e34\u0e48\u0e21 Widget \u0e41\u0e1a\u0e1a <strong>Gauge (\u0e21\u0e32\u0e15\u0e23\u0e27\u0e31\u0e14)<\/strong> \u0e2d\u0e35\u0e01 1 \u0e15\u0e31\u0e27<\/li>\n\n\n\n<li>\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Widget \u0e15\u0e31\u0e27\u0e43\u0e2b\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e1c\u0e39\u0e01\u0e01\u0e31\u0e1a <strong>V4 (Light Intensity)<\/strong><\/li>\n\n\n\n<li>\u0e1b\u0e23\u0e31\u0e1a\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e2a\u0e35\u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e21 \u0e40\u0e0a\u0e48\u0e19 \u0e43\u0e0a\u0e49\u0e2a\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e49\u0e21\u0e41\u0e17\u0e19\u0e41\u0e2a\u0e07\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c<\/li>\n\n\n\n<li>\u0e01\u0e14\u0e40\u0e23\u0e34\u0e48\u0e21\u0e23\u0e30\u0e1a\u0e1a (Play)<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\"><strong>\u0e27\u0e34\u0e18\u0e35\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c LDR<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e43\u0e0a\u0e49\u0e21\u0e37\u0e2d\u0e1b\u0e34\u0e14\u0e1a\u0e31\u0e07\u0e41\u0e2a\u0e07\u0e17\u0e35\u0e48\u0e15\u0e31\u0e27\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c LDR \u0e04\u0e48\u0e32\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e43\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e25\u0e14\u0e25\u0e07<\/li>\n\n\n\n<li>\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e41\u0e2a\u0e07\u0e41\u0e1f\u0e25\u0e0a\u0e08\u0e32\u0e01\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e2a\u0e48\u0e2d\u0e07\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c \u0e04\u0e48\u0e32\u0e40\u0e1b\u0e2d\u0e23\u0e4c\u0e40\u0e0b\u0e47\u0e19\u0e15\u0e4c\u0e43\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2a\u0e39\u0e07\u0e02\u0e36\u0e49\u0e19<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\"><strong>\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21 (Checklist)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] \u0e15\u0e48\u0e2d\u0e2a\u0e32\u0e22\u0e2a\u0e31\u0e0d\u0e0d\u0e32\u0e13 LDR \u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e1a\u0e02\u0e32 GPIO 35 \u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07<\/li>\n\n\n\n<li>[ ] \u0e2a\u0e23\u0e49\u0e32\u0e07 Datastream V4 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e41\u0e2a\u0e07\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c\u0e41\u0e25\u0e49\u0e27<\/li>\n\n\n\n<li>[ ] \u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07\u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e2a\u0e07\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e1b<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 6 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e01\u0e23\u0e32\u0e1f\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e22\u0e49\u0e2d\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c (Data Logging &amp; Chart)<\/h1>\n\n\n\n<p>\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a Smart Farm \u0e01\u0e32\u0e23\u0e14\u0e39\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e41\u0e1a\u0e1a\u0e15\u0e32\u0e21\u0e40\u0e27\u0e25\u0e32\u0e08\u0e23\u0e34\u0e07 (Real-time) \u0e2d\u0e32\u0e08\u0e44\u0e21\u0e48\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e1e\u0e2d\u0e15\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e15\u0e31\u0e14\u0e2a\u0e34\u0e19\u0e43\u0e08 \u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e22\u0e49\u0e2d\u0e19\u0e2b\u0e25\u0e31\u0e07 (Historical Data) \u0e41\u0e25\u0e30\u0e19\u0e33\u0e21\u0e32\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e23\u0e32\u0e1f \u0e08\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e21\u0e2d\u0e07\u0e40\u0e2b\u0e47\u0e19\u0e41\u0e19\u0e27\u0e42\u0e19\u0e49\u0e21\u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e31\u0e21\u0e1e\u0e31\u0e19\u0e18\u0e4c\u0e02\u0e2d\u0e07\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e15\u0e48\u0e32\u0e07\u0e46\u0e20\u0e32\u0e22\u0e43\u0e19\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e44\u0e14\u0e49\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19<\/p>\n\n\n\n<p>\u0e43\u0e19\u0e1a\u0e17\u0e19\u0e35\u0e49 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e01\u0e23\u0e32\u0e1f\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e1c\u0e48\u0e32\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c (Web Dashboard) \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e14\u0e39\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e0a\u0e34\u0e07\u0e25\u0e36\u0e01\u0e41\u0e25\u0e30\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e17\u0e35\u0e48\u0e21\u0e35\u0e02\u0e19\u0e32\u0e14\u0e43\u0e2b\u0e0d\u0e48<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e1c\u0e07\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c (Web Dashboard)<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e23\u0e30\u0e1a\u0e1a <strong>blynk.cloud<\/strong> \u0e1c\u0e48\u0e32\u0e19\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c<\/li>\n\n\n\n<li>\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e21\u0e19\u0e39 <strong>Templates<\/strong> \u0e41\u0e25\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e41\u0e21\u0e48\u0e1e\u0e34\u0e21\u0e1e\u0e4c <strong>&#8220;Smart Farm System&#8221;<\/strong> \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e41\u0e17\u0e47\u0e1a <strong>Web Dashboard<\/strong> <strong>&gt; Edit<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e42\u0e2b\u0e21\u0e14\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c<\/li>\n\n\n\n<li>\u0e25\u0e32\u0e01 Widget \u0e17\u0e35\u0e48\u0e0a\u0e37\u0e48\u0e2d\u0e27\u0e48\u0e32 <strong>Chart<\/strong> \u0e08\u0e32\u0e01\u0e41\u0e16\u0e1a\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e14\u0e49\u0e32\u0e19\u0e0b\u0e49\u0e32\u0e22\u0e21\u0e37\u0e2d \u0e21\u0e32\u0e27\u0e32\u0e07\u0e1a\u0e19\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e27\u0e48\u0e32\u0e07 (\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e23\u0e31\u0e1a\u0e02\u0e19\u0e32\u0e14\u0e04\u0e27\u0e32\u0e21\u0e01\u0e27\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e01\u0e23\u0e32\u0e1f\u0e43\u0e2b\u0e49\u0e40\u0e15\u0e47\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e44\u0e14\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19)<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e2a\u0e49\u0e19\u0e01\u0e23\u0e32\u0e1f (Configuring Data Lines)<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e19\u0e33\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e32\u0e01\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e17\u0e31\u0e49\u0e07 4 \u0e15\u0e31\u0e27 (V0 , V2 , V3 , V4) \u0e21\u0e32\u0e1e\u0e25\u0e47\u0e2d\u0e15\u0e23\u0e27\u0e21\u0e01\u0e31\u0e19\u0e43\u0e19\u0e01\u0e23\u0e32\u0e1f\u0e40\u0e14\u0e35\u0e22\u0e27 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e31\u0e21\u0e1e\u0e31\u0e19\u0e18\u0e4c\u0e02\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e27\u0e32\u0e07\u0e40\u0e21\u0e32\u0e2a\u0e4c\u0e40\u0e2b\u0e19\u0e37\u0e2d Widget \u0e01\u0e23\u0e32\u0e1f\u0e17\u0e35\u0e48\u0e25\u0e32\u0e01\u0e21\u0e32\u0e27\u0e32\u0e07 \u0e41\u0e25\u0e49\u0e27\u0e04\u0e25\u0e34\u0e01\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c <strong>\u0e23\u0e39\u0e1b\u0e40\u0e1f\u0e37\u0e2d\u0e07 (Settings)<\/strong><\/li>\n\n\n\n<li>\u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d\u0e01\u0e23\u0e32\u0e1f\u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07 Title \u0e40\u0e0a\u0e48\u0e19 <strong>\u0e2a\u0e16\u0e34\u0e15\u0e34\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e1f\u0e32\u0e23\u0e4c\u0e21<\/strong><\/li>\n\n\n\n<li>\u0e43\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e02\u0e2d\u0e07 <strong>Datastreams<\/strong> \u0e43\u0e2b\u0e49\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>+ Add Datastream<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e2a\u0e49\u0e19\u0e01\u0e23\u0e32\u0e1f<\/li>\n\n\n\n<li>\u0e40\u0e25\u0e37\u0e2d\u0e01 Datastream \u0e41\u0e25\u0e30\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e2a\u0e35\u0e02\u0e2d\u0e07\u0e40\u0e2a\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e41\u0e22\u0e01\u0e41\u0e22\u0e30\u0e44\u0e14\u0e49\u0e07\u0e48\u0e32\u0e22:\n<ul class=\"wp-block-list\">\n<li><strong>\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e35\u0e48 1:<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 V0 (Soil Moisture) &#8211; \u0e41\u0e19\u0e30\u0e19\u0e33\u0e2a\u0e35\u0e19\u0e49\u0e33\u0e15\u0e32\u0e25\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e35\u0e40\u0e02\u0e35\u0e22\u0e27\u0e40\u0e02\u0e49\u0e21<\/li>\n\n\n\n<li><strong>\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e35\u0e48 2:<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 V2 (Temperature) &#8211; \u0e41\u0e19\u0e30\u0e19\u0e33\u0e2a\u0e35\u0e41\u0e14\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e2a\u0e49\u0e21<\/li>\n\n\n\n<li><strong>\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e35\u0e48 3:<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 V3 (Humidity) &#8211; \u0e41\u0e19\u0e30\u0e19\u0e33\u0e2a\u0e35\u0e1f\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e19\u0e49\u0e33\u0e40\u0e07\u0e34\u0e19<\/li>\n\n\n\n<li><strong>\u0e40\u0e2a\u0e49\u0e19\u0e17\u0e35\u0e48 4:<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01 V4 (Light Intensity) &#8211; \u0e41\u0e19\u0e30\u0e19\u0e33\u0e2a\u0e35\u0e40\u0e2b\u0e25\u0e37\u0e2d\u0e07<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e2d\u0e07\u0e40\u0e2a\u0e49\u0e19 (Line Type) \u0e41\u0e19\u0e30\u0e19\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e41\u0e1a\u0e1a <strong>Spline<\/strong> (\u0e40\u0e2a\u0e49\u0e19\u0e42\u0e04\u0e49\u0e07\u0e21\u0e19) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e01\u0e23\u0e32\u0e1f\u0e14\u0e39\u0e40\u0e1b\u0e47\u0e19\u0e18\u0e23\u0e23\u0e21\u0e0a\u0e32\u0e15\u0e34\u0e41\u0e25\u0e30\u0e2a\u0e1a\u0e32\u0e22\u0e15\u0e32<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01 <strong>Save<\/strong> \u0e17\u0e35\u0e48\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 \u0e41\u0e25\u0e30\u0e04\u0e25\u0e34\u0e01 <strong>Save<\/strong> \u0e17\u0e35\u0e48\u0e21\u0e38\u0e21\u0e02\u0e27\u0e32\u0e1a\u0e19\u0e02\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32 Template \u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e22\u0e37\u0e19\u0e22\u0e31\u0e19\u0e23\u0e30\u0e1a\u0e1a<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e01\u0e32\u0e23\u0e14\u0e39\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e23\u0e32\u0e22\u0e07\u0e32\u0e19 (Data Export)<\/h2>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e40\u0e23\u0e34\u0e48\u0e21\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e25\u0e30\u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e02\u0e36\u0e49\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07 \u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e1a\u0e19\u0e01\u0e23\u0e32\u0e1f<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e21\u0e19\u0e39 <strong>Devices<\/strong> \u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e30\u0e1a\u0e1a\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32 \u0e40\u0e0a\u0e48\u0e19 Node_01<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e41\u0e17\u0e47\u0e1a <strong>Dashboard<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e39\u0e01\u0e23\u0e32\u0e1f\u0e17\u0e35\u0e48\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e23\u0e34\u0e07<\/li>\n\n\n\n<li>\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e1b\u0e23\u0e31\u0e1a\u0e0a\u0e48\u0e27\u0e07\u0e40\u0e27\u0e25\u0e32\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25 (Time Range) \u0e17\u0e35\u0e48\u0e21\u0e38\u0e21\u0e02\u0e2d\u0e07\u0e01\u0e23\u0e32\u0e1f \u0e40\u0e0a\u0e48\u0e19 \u0e14\u0e39\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e22\u0e49\u0e2d\u0e19\u0e2b\u0e25\u0e31\u0e07 1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 , 6 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07 \u0e2b\u0e23\u0e37\u0e2d 1 \u0e27\u0e31\u0e19<\/li>\n\n\n\n<li><strong>\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25<\/strong> \u0e2b\u0e32\u0e01\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e23\u0e39\u0e1b\u0e41\u0e1c\u0e48\u0e19\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29 \u0e21\u0e38\u0e21\u0e02\u0e27\u0e32\u0e1a\u0e19\u0e02\u0e2d\u0e07\u0e01\u0e23\u0e32\u0e1f \u0e08\u0e30\u0e21\u0e35\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 <strong>Export data (CSV)<\/strong> \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e15\u0e31\u0e27\u0e40\u0e25\u0e02\u0e44\u0e1b\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e15\u0e48\u0e2d\u0e43\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Microsoft Excel \u0e44\u0e14\u0e49<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 4 \u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e31\u0e21\u0e1e\u0e31\u0e19\u0e18\u0e4c\u0e02\u0e2d\u0e07\u0e01\u0e23\u0e32\u0e1f (Data Interpretation)<\/h2>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e19\u0e01\u0e23\u0e32\u0e1f\u0e41\u0e25\u0e49\u0e27 \u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e41\u0e25\u0e30\u0e27\u0e34\u0e40\u0e04\u0e23\u0e32\u0e30\u0e2b\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e31\u0e21\u0e1e\u0e31\u0e19\u0e18\u0e4c\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0e0a\u0e48\u0e27\u0e07\u0e01\u0e25\u0e32\u0e07\u0e27\u0e31\u0e19 (\u0e41\u0e14\u0e14\u0e08\u0e31\u0e14)<\/strong> \u0e40\u0e2a\u0e49\u0e19\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e21\u0e41\u0e2a\u0e07 (V4) \u0e41\u0e25\u0e30\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34 (V2) \u0e08\u0e30\u0e2a\u0e39\u0e07\u0e02\u0e36\u0e49\u0e19 \u0e43\u0e19\u0e02\u0e13\u0e30\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e40\u0e2a\u0e49\u0e19\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e43\u0e19\u0e2d\u0e32\u0e01\u0e32\u0e28 (V3) \u0e21\u0e31\u0e01\u0e08\u0e30\u0e25\u0e14\u0e15\u0e48\u0e33\u0e25\u0e07 \u0e41\u0e25\u0e30\u0e40\u0e2a\u0e49\u0e19\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19 (V0) \u0e08\u0e30\u0e04\u0e48\u0e2d\u0e22\u0e46\u0e25\u0e32\u0e14\u0e25\u0e07\u0e40\u0e23\u0e47\u0e27\u0e01\u0e27\u0e48\u0e32\u0e1b\u0e01\u0e15\u0e34\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e23\u0e30\u0e40\u0e2b\u0e22<\/li>\n\n\n\n<li><strong>\u0e1b\u0e23\u0e30\u0e2a\u0e34\u0e17\u0e18\u0e34\u0e20\u0e32\u0e1e\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e23\u0e14\u0e19\u0e49\u0e33<\/strong> \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 (V1) \u0e43\u0e2b\u0e49\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e01\u0e23\u0e32\u0e1f\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19 (V0) \u0e27\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e40\u0e27\u0e25\u0e32\u0e19\u0e32\u0e19\u0e40\u0e17\u0e48\u0e32\u0e43\u0e14\u0e01\u0e23\u0e32\u0e1f\u0e08\u0e36\u0e07\u0e08\u0e30\u0e1e\u0e38\u0e48\u0e07\u0e2a\u0e39\u0e07\u0e02\u0e36\u0e49\u0e19 (\u0e23\u0e30\u0e22\u0e30\u0e40\u0e27\u0e25\u0e32\u0e17\u0e35\u0e48\u0e19\u0e49\u0e33\u0e0b\u0e36\u0e21\u0e25\u0e07\u0e14\u0e34\u0e19\u0e16\u0e36\u0e07\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c)<\/li>\n\n\n\n<li><strong>\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e1a\u0e1a\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34<\/strong> \u0e01\u0e32\u0e23\u0e14\u0e39\u0e01\u0e23\u0e32\u0e1f\u0e08\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e01\u0e33\u0e2b\u0e19\u0e14 &#8220;\u0e04\u0e48\u0e32\u0e27\u0e34\u0e01\u0e24\u0e15&#8221; \u0e44\u0e14\u0e49\u0e41\u0e21\u0e48\u0e19\u0e22\u0e33\u0e02\u0e36\u0e49\u0e19 \u0e40\u0e0a\u0e48\u0e19 \u0e2b\u0e32\u0e01\u0e01\u0e23\u0e32\u0e1f\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e15\u0e01\u0e25\u0e07\u0e16\u0e36\u0e07 30% \u0e41\u0e25\u0e49\u0e27\u0e1e\u0e37\u0e0a\u0e40\u0e23\u0e34\u0e48\u0e21\u0e21\u0e35\u0e2d\u0e32\u0e01\u0e32\u0e23\u0e40\u0e2b\u0e35\u0e48\u0e22\u0e27 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e23\u0e39\u0e49\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35\u0e27\u0e48\u0e32\u0e04\u0e27\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e43\u0e2b\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e23\u0e14\u0e19\u0e49\u0e33\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32 35% \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\"><strong>\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e1e\u0e23\u0e49\u0e2d\u0e21 (Checklist)<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>[ ] \u0e2a\u0e23\u0e49\u0e32\u0e07 Widget Chart \u0e1a\u0e19 Web Dashboard \u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08<\/li>\n\n\n\n<li>[ ] \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e2a\u0e49\u0e19 Datastream \u0e04\u0e23\u0e1a\u0e17\u0e31\u0e49\u0e07 4 \u0e40\u0e2a\u0e49\u0e19\u0e41\u0e25\u0e30\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e2a\u0e35\u0e41\u0e22\u0e01\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19<\/li>\n\n\n\n<li>[ ] \u0e01\u0e23\u0e32\u0e1f\u0e41\u0e2a\u0e14\u0e07\u0e40\u0e2a\u0e49\u0e19\u0e41\u0e19\u0e27\u0e42\u0e19\u0e49\u0e21\u0e02\u0e2d\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e23\u0e30\u0e1a\u0e1a\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07<\/li>\n\n\n\n<li>[ ] \u0e17\u0e23\u0e32\u0e1a\u0e15\u0e33\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e41\u0e25\u0e30\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 (Export to CSV) \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e17\u0e33\u0e23\u0e32\u0e22\u0e07\u0e32\u0e19<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 7 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Automations)<\/h1>\n\n\n\n<p>\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22\u0e2a\u0e39\u0e07\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07 Smart Farm \u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e41\u0e04\u0e48\u0e01\u0e32\u0e23\u0e14\u0e39\u0e04\u0e48\u0e32\u0e1c\u0e48\u0e32\u0e19\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d \u0e41\u0e15\u0e48\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16<strong>\u0e15\u0e31\u0e14\u0e2a\u0e34\u0e19\u0e43\u0e08\u0e44\u0e14\u0e49\u0e40\u0e2d\u0e07<\/strong> \u0e1a\u0e17\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e08\u0e30\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e43\u0e2b\u0e49 ESP32 \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07 \u0e41\u0e25\u0e30\u0e2a\u0e31\u0e48\u0e07\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e17\u0e31\u0e19\u0e17\u0e35\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e14\u0e34\u0e19\u0e41\u0e2b\u0e49\u0e07\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b \u0e23\u0e27\u0e21\u0e16\u0e36\u0e07\u0e1b\u0e34\u0e14\u0e19\u0e49\u0e33\u0e40\u0e2d\u0e07\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e16\u0e36\u0e07\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e21<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e15\u0e23\u0e23\u0e01\u0e30\u0e01\u0e32\u0e23\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21 (Control Logic)<\/h2>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e23\u0e30\u0e1a\u0e1a\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e2b\u0e25\u0e31\u0e01\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a<strong>\u0e04\u0e48\u0e32\u0e27\u0e34\u0e01\u0e24\u0e15<\/strong> \u0e42\u0e14\u0e22\u0e15\u0e31\u0e49\u0e07<strong>\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02<\/strong> \u0e2b\u0e32\u0e01<code>\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19<\/code> &lt; <code>\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e44\u0e27\u0e49<\/code> \u0e43\u0e2b\u0e49<code>\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33<\/code> \u0e41\u0e25\u0e30\u0e2b\u0e32\u0e01<code>\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19<\/code> > <code>\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e1e\u0e2d\u0e40\u0e2b\u0e21\u0e32\u0e30<\/code> \u0e43\u0e2b\u0e49<code>\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e42\u0e04\u0e49\u0e14 (Smart Automation Code)<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e01\u0e47\u0e1a\u0e04\u0e48\u0e32 <strong>Threshold<\/strong> (\u0e40\u0e17\u0e23\u0e0a-\u0e42\u0e2e\u0e25\u0e14\u0e4c = \u0e04\u0e48\u0e32\u0e27\u0e34\u0e01\u0e24\u0e15) \u0e41\u0e25\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u0e42\u0e14\u0e22\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1b\u0e23\u0e31\u0e1a\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e04\u0e48\u0e32 <code>soilThreshold<\/code> \u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e04\u0e27\u0e32\u0e21\u0e40\u0e2b\u0e21\u0e32\u0e30\u0e2a\u0e21\u0e02\u0e2d\u0e07\u0e1e\u0e37\u0e0a\u0e41\u0e15\u0e48\u0e25\u0e30\u0e0a\u0e19\u0e34\u0e14<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\"><strong>\u0e42\u0e04\u0e49\u0e14\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e41\u0e25\u0e30\u0e41\u0e01\u0e49\u0e44\u0e02<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 (\u0e2b\u0e19\u0e48\u0e27\u0e22 %)\nint soilThreshold = 40; \/\/ \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07: \u0e16\u0e49\u0e32\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32 40% \u0e43\u0e2b\u0e49\u0e23\u0e14\u0e19\u0e49\u0e33\n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 ---\nvoid checkAutomation() {\n  int soilValue = analogRead(SOIL_PIN);\n  int moisturePercent = map(soilValue, 4095, 1000, 0, 100);\n  moisturePercent = constrain(moisturePercent, 0, 100);\n\n  \/\/ \u0e15\u0e23\u0e23\u0e01\u0e30\u0e15\u0e31\u0e14\u0e2a\u0e34\u0e19\u0e43\u0e08\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\n  if (moisturePercent &lt; soilThreshold) {\n    digitalWrite(RELAY_PIN, HIGH); \/\/ \u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\n    Blynk.virtualWrite(V1, 1);     \/\/ \u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e1b\u0e38\u0e48\u0e21\u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19 ON\n    Serial.println(\"Automation: Low moisture! Pump ON\");\n  } \n  else if (moisturePercent > (soilThreshold + 10)) { \n    \/\/ \u0e1a\u0e27\u0e01 10 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e1b\u0e31\u0e4a\u0e21\u0e15\u0e31\u0e14\u0e15\u0e48\u0e2d\u0e1a\u0e48\u0e2d\u0e22\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b (Hysteresis)\n    digitalWrite(RELAY_PIN, LOW);  \/\/ \u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\n    Blynk.virtualWrite(V1, 0);     \/\/ \u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e1b\u0e38\u0e48\u0e21\u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19 OFF\n    Serial.println(\"Automation: Ideal moisture. Pump OFF\");\n  }\n}\n\nvoid setup() {\n  \/\/ ... \u0e42\u0e04\u0e49\u0e14\u0e40\u0e14\u0e34\u0e21 ...\n  \/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e38\u0e01\u0e46 5 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\n  timer.setInterval(5000L, checkAutomation); \n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 8 \u0e23\u0e30\u0e1a\u0e1a\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e2d\u0e31\u0e08\u0e09\u0e23\u0e34\u0e22\u0e30 (Smart Alerts) \u0e41\u0e25\u0e30\u0e15\u0e23\u0e23\u0e01\u0e30\u0e0b\u0e49\u0e2d\u0e19\u0e17\u0e31\u0e1a (Advanced Logic)<\/h1>\n\n\n\n<p>\u0e43\u0e19\u0e1a\u0e17\u0e19\u0e35\u0e49 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c <strong>Events<\/strong> \u0e02\u0e2d\u0e07 Blynk \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49 ESP32 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2a\u0e48\u0e07 Push Notification \u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e40\u0e14\u0e49\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e1a\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34 \u0e41\u0e25\u0e30\u0e40\u0e23\u0e32\u0e08\u0e30\u0e22\u0e01\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14\u0e43\u0e2b\u0e49\u0e09\u0e25\u0e32\u0e14\u0e02\u0e36\u0e49\u0e19\u0e14\u0e49\u0e27\u0e22\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02\u0e0b\u0e49\u0e2d\u0e19\u0e17\u0e31\u0e1a (AND \/ OR)<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c (Events) \u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a Blynk<\/h2>\n\n\n\n<p>\u0e01\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e08\u0e30\u0e2a\u0e48\u0e07\u0e01\u0e32\u0e23\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e44\u0e14\u0e49 \u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e44\u0e1b\u0e2a\u0e23\u0e49\u0e32\u0e07<strong>\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c<\/strong>\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e44\u0e27\u0e49\u0e1a\u0e19\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c\u0e01\u0e48\u0e2d\u0e19<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48 <strong>blynk.cloud<\/strong> \u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e21\u0e19\u0e39 <strong>Templates<\/strong> \u0e41\u0e25\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01 &#8220;Smart Farm System&#8221;<\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e41\u0e17\u0e47\u0e1a <strong>Events &amp; Notifications<\/strong><\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e1b\u0e38\u0e48\u0e21 <strong>Edit > Create Even > Custom<\/strong><\/li>\n\n\n\n<li>\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e20\u0e31\u0e22\u0e23\u0e49\u0e2d\u0e19\u0e08\u0e31\u0e14\n<ul class=\"wp-block-list\">\n<li><strong>Event Name :<\/strong> High Temperature<\/li>\n\n\n\n<li><strong>Event Code :<\/strong> <code>high_temp<\/code> (\u0e08\u0e33\u0e42\u0e04\u0e49\u0e14\u0e19\u0e35\u0e49\u0e44\u0e27\u0e49\u0e43\u0e2b\u0e49\u0e14\u0e35 \u0e15\u0e49\u0e2d\u0e07\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e43\u0e19 Arduino \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e31\u0e27\u0e40\u0e25\u0e47\u0e01\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49)<\/li>\n\n\n\n<li><strong>Type :<\/strong> Warning (\u0e08\u0e30\u0e02\u0e36\u0e49\u0e19\u0e44\u0e2d\u0e04\u0e2d\u0e19\u0e15\u0e01\u0e43\u0e08\u0e2a\u0e35\u0e2a\u0e49\u0e21)<\/li>\n\n\n\n<li><strong>Description :<\/strong> \u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e43\u0e19\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e2a\u0e39\u0e07\u0e40\u0e01\u0e34\u0e19\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14<\/li>\n\n\n\n<li>\u0e01\u0e14\u0e40\u0e1b\u0e34\u0e14\u0e2a\u0e27\u0e34\u0e15\u0e0a\u0e4c <strong>Enable notifications<\/strong> \u0e43\u0e2b\u0e49\u0e17\u0e33\u0e07\u0e32\u0e19 \u0e15\u0e23\u0e07\u0e0a\u0e48\u0e2d\u0e07 <strong>To<\/strong> (\u0e1c\u0e39\u0e49\u0e23\u0e31\u0e1a) \u0e43\u0e2b\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e1b\u0e47\u0e19 <strong>Device Owner<\/strong> \u0e41\u0e25\u0e49\u0e27\u0e43\u0e2b\u0e49\u0e04\u0e25\u0e34\u0e01\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e41\u0e17\u0e47\u0e1a Settings \u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d <strong>Event Limit<\/strong> (\u0e01\u0e32\u0e23\u0e08\u0e33\u0e01\u0e31\u0e14\u0e08\u0e33\u0e19\u0e27\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07) \u0e0a\u0e48\u0e27\u0e07\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e01\u0e33\u0e25\u0e31\u0e07\u0e17\u0e14\u0e2a\u0e2d\u0e1a \u0e43\u0e2b\u0e49\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e08\u0e33\u0e01\u0e31\u0e14\u0e40\u0e27\u0e25\u0e32\u0e19\u0e49\u0e2d\u0e22\u0e46\u0e44\u0e27\u0e49\u0e01\u0e48\u0e2d\u0e19 \u0e40\u0e0a\u0e48\u0e19 1 minute \u0e08\u0e30\u0e44\u0e14\u0e49\u0e40\u0e2d\u0e32\u0e44\u0e14\u0e23\u0e4c\u0e40\u0e1b\u0e48\u0e32\u0e1c\u0e21\u0e40\u0e1b\u0e48\u0e32\u0e40\u0e17\u0e2a\u0e44\u0e14\u0e49\u0e23\u0e31\u0e27\u0e46<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u0e01\u0e14 <strong>Save<\/strong> \u0e17\u0e35\u0e48\u0e2b\u0e19\u0e49\u0e32 Event \u0e41\u0e25\u0e30\u0e01\u0e14 <strong>Save<\/strong> \u0e17\u0e35\u0e48\u0e21\u0e38\u0e21\u0e02\u0e27\u0e32\u0e1a\u0e19\u0e2a\u0e38\u0e14\u0e02\u0e2d\u0e07 Template<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e40\u0e01\u0e23\u0e14\u0e42\u0e04\u0e49\u0e14 (Advanced Logic &amp; Alerts)<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>checkAutomation()<\/code> \u0e08\u0e32\u0e01\u0e1a\u0e17\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e43\u0e2b\u0e49\u0e1e\u0e34\u0e08\u0e32\u0e23\u0e13\u0e32\u0e1b\u0e31\u0e08\u0e08\u0e31\u0e22\u0e2d\u0e37\u0e48\u0e19\u0e23\u0e48\u0e27\u0e21\u0e14\u0e49\u0e27\u0e22 \u0e40\u0e0a\u0e48\u0e19 \u0e16\u0e49\u0e32\u0e23\u0e49\u0e2d\u0e19\u0e21\u0e32\u0e01 \u0e14\u0e34\u0e19\u0e08\u0e30\u0e41\u0e2b\u0e49\u0e07\u0e44\u0e27 \u0e43\u0e2b\u0e49\u0e23\u0e14\u0e19\u0e49\u0e33\u0e40\u0e1c\u0e37\u0e48\u0e2d \u0e41\u0e25\u0e30\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e2a\u0e48\u0e07\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e40\u0e02\u0e49\u0e32\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-ast-global-color-6-background-color has-background has-medium-font-size\"><strong>\u0e19\u0e33\u0e42\u0e04\u0e49\u0e14\u0e0a\u0e38\u0e14\u0e19\u0e35\u0e49\u0e44\u0e1b\u0e27\u0e32\u0e07\u0e17\u0e31\u0e1a\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>checkAutomation()<\/code> \u0e40\u0e14\u0e34\u0e21<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e27\u0e34\u0e01\u0e24\u0e15\nint soilThreshold = 40; \nfloat tempThreshold = 35.0; \/\/ \u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e27\u0e34\u0e01\u0e24\u0e15 (35 \u0e2d\u0e07\u0e28\u0e32\u0e40\u0e0b\u0e25\u0e40\u0e0b\u0e35\u0e22\u0e2a)\n\n\/\/ \u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e0b\u0e49\u0e33\u0e23\u0e31\u0e27\u0e46 (Spam protection)\nbool isTempAlertSent = false; \n\n\/\/ --- \u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19\u0e04\u0e27\u0e1a\u0e04\u0e38\u0e21\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 &amp; \u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19 ---\nvoid checkAutomation() {\n  int soilValue = analogRead(SOIL_PIN);\n  int moisturePercent = map(soilValue, 4095, 1000, 0, 100);\n  moisturePercent = constrain(moisturePercent, 0, 100);\n  \n  float t = dht.readTemperature();\n\n  \/\/ \ud83c\udf1f \u0e15\u0e23\u0e23\u0e01\u0e30\u0e17\u0e35\u0e48 1: \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19 (Smart Alert)\n  if (!isnan(t)) {\n    if (t > tempThreshold &amp;&amp; !isTempAlertSent) {\n      \/\/ \u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32 35 \u0e2d\u0e07\u0e28\u0e32 \u0e41\u0e25\u0e30\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e40\u0e04\u0e22\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e21\u0e32\u0e01\u0e48\u0e2d\u0e19\n      Blynk.logEvent(\"high_temp\", String(\"\u26a0\ufe0f \u0e23\u0e30\u0e27\u0e31\u0e07! \u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e2a\u0e39\u0e07\u0e16\u0e36\u0e07 \") + t + \" \u00b0C\");\n      Serial.println(\"Alert: High Temp Warning Sent!\");\n      isTempAlertSent = true; \/\/ \u0e25\u0e47\u0e2d\u0e01\u0e44\u0e27\u0e49 \u0e08\u0e30\u0e44\u0e14\u0e49\u0e44\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e0b\u0e49\u0e33\u0e17\u0e38\u0e01\u0e46 5 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\n    } \n    else if (t &lt; (tempThreshold - 2)) {\n      \/\/ \u0e16\u0e49\u0e32\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e25\u0e14\u0e25\u0e07\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e1b\u0e01\u0e15\u0e34 (\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32 33 \u0e2d\u0e07\u0e28\u0e32) \u0e43\u0e2b\u0e49\u0e1b\u0e25\u0e14\u0e25\u0e47\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\n      isTempAlertSent = false; \n    }\n  }\n\n  \/\/ \ud83c\udf1f \u0e15\u0e23\u0e23\u0e01\u0e30\u0e17\u0e35\u0e48 2: \u0e23\u0e30\u0e1a\u0e1a\u0e23\u0e14\u0e19\u0e49\u0e33\u0e41\u0e1a\u0e1a\u0e2b\u0e25\u0e32\u0e22\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02 (Advanced Logic)\n  \/\/ \u0e2a\u0e21\u0e21\u0e15\u0e34\u0e27\u0e48\u0e32: \u0e16\u0e49\u0e32\u0e14\u0e34\u0e19\u0e41\u0e2b\u0e49\u0e07 (&lt;40%) \u0e2b\u0e23\u0e37\u0e2d \u0e2d\u0e32\u0e01\u0e32\u0e28\u0e23\u0e49\u0e2d\u0e19\u0e08\u0e31\u0e14 (>35 \u0e2d\u0e07\u0e28\u0e32\u0e41\u0e25\u0e30\u0e14\u0e34\u0e19\u0e0a\u0e37\u0e49\u0e19\u0e19\u0e49\u0e2d\u0e22\u0e01\u0e27\u0e48\u0e32 60%) \u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e34\u0e14\u0e19\u0e49\u0e33\n  if (moisturePercent &lt; soilThreshold || (t > tempThreshold &amp;&amp; moisturePercent &lt; 60)) {\n    digitalWrite(RELAY_PIN, HIGH); \n    Blynk.virtualWrite(V1, 1);     \n    Serial.println(\"Pump: ON (Condition Met)\");\n  } \n  else if (moisturePercent > (soilThreshold + 10)) { \n    digitalWrite(RELAY_PIN, LOW);  \n    Blynk.virtualWrite(V1, 0);     \n    Serial.println(\"Pump: OFF (Soil is wet)\");\n  }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\ud83d\udca1 \u0e08\u0e38\u0e14\u0e17\u0e35\u0e48\u0e04\u0e27\u0e23\u0e40\u0e19\u0e49\u0e19\u0e22\u0e49\u0e33<\/h2>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 <code>Blynk.logEvent(\"event_code\", \"Message\");<\/code><\/strong> \u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e1a\u0e2d\u0e01\u0e40\u0e0b\u0e34\u0e23\u0e4c\u0e1f\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e27\u0e48\u0e32 &#8220;\u0e40\u0e01\u0e34\u0e14\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e19\u0e35\u0e49\u0e02\u0e36\u0e49\u0e19\u0e41\u0e25\u0e49\u0e27 \u0e2a\u0e48\u0e07\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e40\u0e02\u0e49\u0e32\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e40\u0e08\u0e49\u0e32\u0e19\u0e32\u0e22\u0e40\u0e14\u0e35\u0e4b\u0e22\u0e27\u0e19\u0e35\u0e49&#8221;<\/li>\n\n\n\n<li><strong>\u0e17\u0e33\u0e44\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23 <code>isTempAlertSent<\/code><\/strong> \u0e16\u0e49\u0e32\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e44\u0e21\u0e48\u0e43\u0e2a\u0e48\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e19\u0e35\u0e49\u0e1a\u0e25\u0e47\u0e2d\u0e01\u0e44\u0e27\u0e49 \u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e08\u0e30\u0e40\u0e0a\u0e47\u0e04\u0e40\u0e08\u0e2d\u0e27\u0e48\u0e32\u0e2d\u0e32\u0e01\u0e32\u0e28\u0e23\u0e49\u0e2d\u0e19\u0e17\u0e38\u0e01\u0e46 5 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 \u0e41\u0e25\u0e49\u0e27\u0e21\u0e31\u0e19\u0e01\u0e47\u0e08\u0e30\u0e22\u0e34\u0e07\u0e41\u0e08\u0e49\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19\u0e40\u0e02\u0e49\u0e32\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e40\u0e23\u0e32\u0e23\u0e31\u0e27\u0e46 \u0e17\u0e38\u0e01 5 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35\u0e08\u0e19\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e04\u0e49\u0e32\u0e07\u0e44\u0e1b\u0e40\u0e25\u0e22 Blynk \u0e08\u0e30\u0e1a\u0e25\u0e47\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e17\u0e31\u0e19\u0e17\u0e35\u0e16\u0e49\u0e32\u0e2a\u0e48\u0e07\u0e23\u0e31\u0e27\u0e40\u0e01\u0e34\u0e19\u0e44\u0e1b \u0e40\u0e23\u0e35\u0e22\u0e01\u0e27\u0e48\u0e32 Flood Error \u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e25\u0e2d\u0e08\u0e34\u0e01\u0e1b\u0e25\u0e14\u0e25\u0e47\u0e2d\u0e01\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e2d\u0e38\u0e13\u0e2b\u0e20\u0e39\u0e21\u0e34\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e1b\u0e01\u0e15\u0e34\u0e08\u0e36\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e17\u0e31\u0e01\u0e29\u0e30\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e17\u0e35\u0e48\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e21\u0e32\u0e01<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 9 \u0e23\u0e30\u0e1a\u0e1a\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e44\u0e23\u0e49\u0e23\u0e2d\u0e22\u0e15\u0e48\u0e2d (Offline Mode &amp; System Reliability)<\/h2>\n\n\n\n<p>\u0e43\u0e19\u0e1a\u0e17\u0e17\u0e35\u0e48\u0e1c\u0e48\u0e32\u0e19\u0e46 \u0e21\u0e32 \u0e40\u0e23\u0e32\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 <code>Blynk.begin(AUTH, ssid, pass);<\/code> \u0e0b\u0e36\u0e48\u0e07\u0e21\u0e35\u0e08\u0e38\u0e14\u0e2d\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e2d\u0e31\u0e19\u0e15\u0e23\u0e32\u0e22\u0e21\u0e32\u0e01\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e08\u0e23\u0e34\u0e07 \u0e04\u0e37\u0e2d <strong>\u0e16\u0e49\u0e32\u0e23\u0e30\u0e1a\u0e1a Wi-Fi \u0e25\u0e48\u0e21 \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e19\u0e47\u0e15\u0e16\u0e39\u0e01\u0e15\u0e31\u0e14 \u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e08\u0e30\u0e04\u0e49\u0e32\u0e07 (Freeze) \u0e2d\u0e22\u0e39\u0e48\u0e15\u0e23\u0e07\u0e19\u0e31\u0e49\u0e19\u0e17\u0e31\u0e19\u0e17\u0e35<\/strong> \u0e21\u0e31\u0e19\u0e08\u0e30\u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e47\u0e15\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e08\u0e30\u0e44\u0e14\u0e49 \u0e2a\u0e48\u0e07\u0e1c\u0e25\u0e43\u0e2b\u0e49\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>checkAutomation()<\/code> \u0e17\u0e35\u0e48\u0e04\u0e2d\u0e22\u0e40\u0e0a\u0e47\u0e04\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e2b\u0e22\u0e38\u0e14\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22 \u0e15\u0e49\u0e19\u0e44\u0e21\u0e49\u0e15\u0e32\u0e22\u0e41\u0e19\u0e48\u0e19\u0e2d\u0e19<\/p>\n\n\n\n<p>\u0e43\u0e19\u0e1a\u0e17\u0e19\u0e35\u0e49 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e2a\u0e2d\u0e19\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e1b\u0e23\u0e31\u0e1a\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e04\u0e49\u0e14\u0e43\u0e2b\u0e21\u0e48 \u0e40\u0e23\u0e35\u0e22\u0e01\u0e27\u0e48\u0e32 <strong>Non-blocking Connection<\/strong> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e2a\u0e21\u0e2d\u0e07\u0e01\u0e25 (Logic) \u0e22\u0e31\u0e07\u0e04\u0e07\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e1b\u0e34\u0e14-\u0e1b\u0e34\u0e14\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e1b\u0e01\u0e15\u0e34 \u0e41\u0e21\u0e49\u0e43\u0e19\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e44\u0e21\u0e48\u0e21\u0e35\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d (Non-blocking Network)<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e41\u0e22\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e01\u0e31\u0e19\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19 \u0e1b\u0e25\u0e48\u0e2d\u0e22\u0e43\u0e2b\u0e49 ESP32 \u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d Wi-Fi \u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07 \u0e41\u0e25\u0e30\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 <code>Blynk.config()<\/code> \u0e41\u0e17\u0e19 <code>Blynk.begin()<\/code> \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1a\u0e2d\u0e01\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e27\u0e48\u0e32 &#8220;\u0e16\u0e49\u0e32\u0e40\u0e19\u0e47\u0e15\u0e21\u0e35 \u0e04\u0e48\u0e2d\u0e22\u0e04\u0e38\u0e22\u0e01\u0e31\u0e1a Blynk \u0e41\u0e15\u0e48\u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e21\u0e35 \u0e01\u0e47\u0e17\u0e33\u0e07\u0e32\u0e19\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2d\u0e37\u0e48\u0e19\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e30&#8221;<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-ast-global-color-6-background-color has-background has-medium-font-size\"><strong>\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e42\u0e04\u0e49\u0e14\u0e43\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>setup()<\/code><\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \ud83c\udf1f \u0e25\u0e1a\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Blynk.begin(...) \u0e40\u0e14\u0e34\u0e21\u0e17\u0e34\u0e49\u0e07\u0e44\u0e1b \u0e41\u0e25\u0e49\u0e27\u0e43\u0e0a\u0e49\u0e42\u0e04\u0e49\u0e14\u0e0a\u0e38\u0e14\u0e19\u0e35\u0e49\u0e41\u0e17\u0e19\n\nvoid setup() {\n  Serial.begin(115200);\n  \n  pinMode(RELAY_PIN, OUTPUT);\n  digitalWrite(RELAY_PIN, LOW); \n  dht.begin(); \n\n  \/\/ 1. \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49 ESP32 \u0e15\u0e48\u0e2d Wi-Fi \u0e41\u0e1a\u0e1a\u0e44\u0e21\u0e48\u0e23\u0e2d\u0e04\u0e49\u0e32\u0e07\n  Serial.print(\"Connecting to Wi-Fi\");\n  WiFi.begin(ssid, pass);\n  \n  \/\/ \u0e23\u0e2d\u0e41\u0e04\u0e48 10 \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 \u0e16\u0e49\u0e32\u0e15\u0e48\u0e2d\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e43\u0e2b\u0e49\u0e02\u0e49\u0e32\u0e21\u0e44\u0e1b\u0e40\u0e25\u0e22\n  int timeout = 0;\n  while (WiFi.status() != WL_CONNECTED &amp;&amp; timeout &lt; 20) {\n    delay(500);\n    Serial.print(\".\");\n    timeout++;\n  }\n  Serial.println();\n\n  \/\/ 2. \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Auth Token \u0e43\u0e2b\u0e49 Blynk \u0e23\u0e31\u0e1a\u0e17\u0e23\u0e32\u0e1a (\u0e41\u0e15\u0e48\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d)\n  Blynk.config(BLYNK_AUTH_TOKEN);\n\n  \/\/ 3. \u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 Timer (\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e21\u0e32\u0e01 \u0e15\u0e49\u0e2d\u0e07\u0e43\u0e2b\u0e49\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e2a\u0e21\u0e2d)\n  timer.setInterval(2000L, sendSensors); \n  timer.setInterval(5000L, checkAutomation); \n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e2d\u0e31\u0e1b\u0e40\u0e01\u0e23\u0e14\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 Loop \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 (Auto-Reconnect)<\/h2>\n\n\n\n<p>\u0e43\u0e19 <code>loop()<\/code> \u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e2d\u0e34\u0e19\u0e40\u0e17\u0e2d\u0e23\u0e4c\u0e40\u0e19\u0e47\u0e15 \u0e16\u0e49\u0e32\u0e2b\u0e25\u0e38\u0e14\u0e44\u0e1b\u0e41\u0e25\u0e49\u0e27\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32\u0e43\u0e2b\u0e21\u0e48 \u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e48\u0e2d\u0e01\u0e25\u0e31\u0e1a\u0e40\u0e2d\u0e07\u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e2b\u0e49\u0e04\u0e19\u0e44\u0e1b\u0e40\u0e14\u0e34\u0e19\u0e16\u0e2d\u0e14\u0e1b\u0e25\u0e31\u0e4a\u0e01\u0e40\u0e2a\u0e35\u0e22\u0e1a\u0e43\u0e2b\u0e21\u0e48<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-ast-global-color-6-background-color has-background has-medium-font-size\"><strong>\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e42\u0e04\u0e49\u0e14\u0e43\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>loop()<\/code><\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void loop() {\n  \/\/ \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e15\u0e48\u0e2d Wi-Fi \u0e2d\u0e22\u0e39\u0e48\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48\n  if (WiFi.status() == WL_CONNECTED) {\n    \/\/ \u0e16\u0e49\u0e32\u0e15\u0e48\u0e2d Wi-Fi \u0e44\u0e14\u0e49 \u0e43\u0e2b\u0e49\u0e23\u0e31\u0e19 Blynk\n    Blynk.run();\n  } else {\n    \/\/ \ud83c\udf1f \u0e16\u0e2d\u0e14\u0e1b\u0e25\u0e31\u0e4a\u0e01\u0e40\u0e19\u0e47\u0e15! \u0e41\u0e15\u0e48\u0e1f\u0e32\u0e23\u0e4c\u0e21\u0e22\u0e31\u0e07\u0e15\u0e49\u0e2d\u0e07\u0e23\u0e2d\u0e14\n    \/\/ \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e04\u0e49\u0e14\u0e1e\u0e22\u0e32\u0e22\u0e32\u0e21\u0e15\u0e48\u0e2d Wi-Fi \u0e43\u0e2b\u0e21\u0e48\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e2b\u0e25\u0e31\u0e07\u0e15\u0e23\u0e07\u0e19\u0e35\u0e49\u0e44\u0e14\u0e49\n    \/\/ \u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e04\u0e49\u0e32\u0e07\n  }\n\n  \/\/ Timer \u0e15\u0e49\u0e2d\u0e07\u0e2d\u0e22\u0e39\u0e48\u0e19\u0e2d\u0e01\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02 Wi-Fi \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e1a\u0e1a Offline \u0e44\u0e14\u0e49!\n  timer.run();\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e1a\u0e17\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e2a\u0e20\u0e32\u0e27\u0e30\u0e27\u0e34\u0e01\u0e24\u0e15 (Stress Test)<\/h2>\n\n\n\n<p>\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e2b\u0e49\u0e40\u0e2b\u0e47\u0e19\u0e20\u0e32\u0e1e\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e33\u0e04\u0e31\u0e0d\u0e02\u0e2d\u0e07\u0e42\u0e04\u0e49\u0e14\u0e0a\u0e38\u0e14\u0e19\u0e35\u0e49 \u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e15\u0e32\u0e21\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e42\u0e04\u0e49\u0e14\u0e0a\u0e38\u0e14\u0e43\u0e2b\u0e21\u0e48\u0e25\u0e07\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32<\/li>\n\n\n\n<li>\u0e1b\u0e25\u0e48\u0e2d\u0e22\u0e43\u0e2b\u0e49\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d Wi-Fi \u0e41\u0e25\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e04\u0e48\u0e32\u0e1a\u0e19\u0e41\u0e2d\u0e1b\u0e1e\u0e25\u0e34\u0e40\u0e04\u0e0a\u0e31\u0e19 Blynk \u0e15\u0e32\u0e21\u0e1b\u0e01\u0e15\u0e34<\/li>\n\n\n\n<li><strong>\u0e08\u0e33\u0e25\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e25\u0e48\u0e21<\/strong> \u0e1b\u0e34\u0e14 Internet<\/li>\n\n\n\n<li><strong>\u0e17\u0e14\u0e2a\u0e2d\u0e1a Offline Logic<\/strong> \u0e43\u0e0a\u0e49\u0e21\u0e37\u0e2d\u0e08\u0e31\u0e1a\u0e40\u0e0b\u0e19\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e2b\u0e25\u0e38\u0e14\u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e14\u0e34\u0e19 (\u0e08\u0e33\u0e25\u0e2d\u0e07\u0e27\u0e48\u0e32\u0e14\u0e34\u0e19\u0e41\u0e2b\u0e49\u0e07)<\/li>\n\n\n\n<li>\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e17\u0e35\u0e48\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 <strong>\u0e1b\u0e31\u0e4a\u0e21\u0e19\u0e49\u0e33 (Relay)<\/strong> \u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e17\u0e33\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e17\u0e31\u0e19\u0e17\u0e35 \u0e41\u0e21\u0e49\u0e08\u0e38\u0e14\u0e41\u0e2a\u0e14\u0e07\u0e2a\u0e16\u0e32\u0e19\u0e30\u0e43\u0e19\u0e41\u0e2d\u0e1b Blynk \u0e08\u0e30\u0e02\u0e36\u0e49\u0e19\u0e27\u0e48\u0e32 Offline \u0e01\u0e47\u0e15\u0e32\u0e21<\/li>\n\n\n\n<li><strong>\u0e08\u0e33\u0e25\u0e2d\u0e07\u0e40\u0e2b\u0e15\u0e38\u0e01\u0e32\u0e23\u0e13\u0e4c\u0e40\u0e19\u0e47\u0e15\u0e01\u0e25\u0e31\u0e1a\u0e21\u0e32<\/strong> \u0e40\u0e1b\u0e34\u0e14 Internet \u0e41\u0e25\u0e49\u0e27\u0e23\u0e2d\u0e14\u0e39\u0e27\u0e48\u0e32 ESP32 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e01\u0e25\u0e31\u0e1a\u0e44\u0e1b\u0e23\u0e32\u0e22\u0e07\u0e32\u0e19\u0e15\u0e31\u0e27\u0e1a\u0e19\u0e04\u0e25\u0e32\u0e27\u0e14\u0e4c\u0e44\u0e14\u0e49\u0e40\u0e2d\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48<\/li>\n<\/ol>\n\n\n\n<p><strong>\u0e2a\u0e23\u0e38\u0e1b\u0e04\u0e38\u0e13\u0e04\u0e48\u0e32\u0e02\u0e2d\u0e07\u0e1a\u0e17\u0e19\u0e35\u0e49 (Engineering Mindset)<\/strong> \u0e01\u0e32\u0e23\u0e17\u0e33 IoT \u0e17\u0e35\u0e48\u0e14\u0e35 \u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e41\u0e04\u0e48\u0e2a\u0e31\u0e48\u0e07\u0e07\u0e32\u0e19\u0e1c\u0e48\u0e32\u0e19\u0e41\u0e2d\u0e1b\u0e44\u0e14\u0e49 \u0e41\u0e15\u0e48\u0e23\u0e30\u0e1a\u0e1a\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e04\u0e27\u0e32\u0e21 <strong>&#8220;\u0e22\u0e37\u0e14\u0e2b\u0e22\u0e38\u0e48\u0e19\u0e41\u0e25\u0e30\u0e17\u0e19\u0e17\u0e32\u0e19\u0e15\u0e48\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e25\u0e49\u0e21\u0e40\u0e2b\u0e25\u0e27&#8221; (Fault Tolerance)<\/strong> \u0e01\u0e32\u0e23\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e1a\u0e1a Offline \u0e44\u0e14\u0e49 \u0e04\u0e37\u0e2d\u0e40\u0e2a\u0e49\u0e19\u0e41\u0e1a\u0e48\u0e07\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e19\u0e31\u0e01\u0e40\u0e23\u0e35\u0e22\u0e19\u0e01\u0e31\u0e1a\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c\u0e17\u0e35\u0e48\u0e19\u0e33\u0e44\u0e1b\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e43\u0e2b\u0e49\u0e40\u0e01\u0e29\u0e15\u0e23\u0e01\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49\u0e08\u0e23\u0e34\u0e07<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading has-text-align-center has-ast-global-color-7-background-color has-background has-large-font-size\">\u0e1a\u0e17\u0e17\u0e35\u0e48 10 \u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e44\u0e23\u0e49\u0e2a\u0e32\u0e22 (Over-The-Air : OTA) \u0e2a\u0e39\u0e48\u0e21\u0e32\u0e15\u0e23\u0e10\u0e32\u0e19\u0e2d\u0e38\u0e15\u0e2a\u0e32\u0e2b\u0e01\u0e23\u0e23\u0e21<\/h1>\n\n\n\n<p>\u0e1a\u0e17\u0e2a\u0e23\u0e38\u0e1b\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a Smart Farm Mini Sandbox \u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1a\u0e33\u0e23\u0e38\u0e07\u0e23\u0e31\u0e01\u0e29\u0e32\u0e44\u0e14\u0e49\u0e07\u0e48\u0e32\u0e22\u0e17\u0e35\u0e48\u0e2a\u0e38\u0e14 (Maintenance Friendly) \u0e1f\u0e35\u0e40\u0e08\u0e2d\u0e23\u0e4c OTA (Over-The-Air) \u0e08\u0e30\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e40\u0e1f\u0e34\u0e23\u0e4c\u0e21\u0e41\u0e27\u0e23\u0e4c\u0e43\u0e2b\u0e21\u0e48\u0e46 \u0e08\u0e32\u0e01\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e1c\u0e48\u0e32\u0e19\u0e23\u0e30\u0e1a\u0e1a Wi-Fi \u0e44\u0e14\u0e49\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e43\u0e0a\u0e49\u0e2a\u0e32\u0e22 USB \u0e2d\u0e35\u0e01\u0e15\u0e48\u0e2d\u0e44\u0e1b<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 1 \u0e01\u0e32\u0e23\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a OTA<\/h2>\n\n\n\n<p>\u0e02\u0e49\u0e2d\u0e14\u0e35\u0e02\u0e2d\u0e07 ESP32 \u0e04\u0e37\u0e2d\u0e21\u0e35\u0e0a\u0e38\u0e14\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e17\u0e33 OTA \u0e21\u0e32\u0e43\u0e2b\u0e49\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e43\u0e19\u0e15\u0e31\u0e27\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Arduino IDE \u0e41\u0e25\u0e49\u0e27 \u0e40\u0e23\u0e32\u0e40\u0e1e\u0e35\u0e22\u0e07\u0e41\u0e04\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e43\u0e2b\u0e49\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34<\/strong> \u0e43\u0e19\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 (\u0e15\u0e48\u0e2d\u0e08\u0e32\u0e01\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35 Blynk \u0e41\u0e25\u0e30 DHT) \u0e43\u0e2b\u0e49\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e40\u0e2b\u0e25\u0e48\u0e32\u0e19\u0e35\u0e49\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;ESPmDNS.h&gt;\n#include &lt;WiFiUdp.h&gt;\n#include &lt;ArduinoOTA.h&gt; \/\/ \ud83c\udf1f \u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e44\u0e25\u0e1a\u0e23\u0e32\u0e23\u0e35\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e44\u0e23\u0e49\u0e2a\u0e32\u0e22\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 2 \u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e40\u0e01\u0e23\u0e14\u0e42\u0e04\u0e49\u0e14 (\u0e1d\u0e31\u0e07\u0e23\u0e30\u0e1a\u0e1a OTA \u0e25\u0e07\u0e43\u0e19\u0e1a\u0e2d\u0e23\u0e4c\u0e14)<\/h2>\n\n\n\n<p>\u0e40\u0e23\u0e32\u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e41\u0e25\u0e30\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19 \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e1b\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e19\u0e44\u0e21\u0e48\u0e43\u0e2b\u0e49\u0e04\u0e19\u0e2d\u0e37\u0e48\u0e19\u0e41\u0e2d\u0e1a\u0e2a\u0e48\u0e07\u0e42\u0e04\u0e49\u0e14\u0e21\u0e32\u0e01\u0e27\u0e19\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32 \u0e25\u0e07\u0e43\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>setup()<\/code> \u0e41\u0e25\u0e30\u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e23\u0e30\u0e1a\u0e1a\u0e04\u0e2d\u0e22\u0e14\u0e31\u0e01\u0e08\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e43\u0e19\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>loop()<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading has-ast-global-color-6-background-color has-background has-medium-font-size\"><strong>\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>setup()<\/code><\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void setup() {\n  \/\/ ... \u0e42\u0e04\u0e49\u0e14\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e14\u0e34\u0e21\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 (Serial, pinMode, Wi-Fi, Blynk) ...\n\n  \/\/ \ud83c\udf1f 1. \u0e15\u0e31\u0e49\u0e07\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e43\u0e2b\u0e49\u0e08\u0e33\u0e07\u0e48\u0e32\u0e22\u0e40\u0e27\u0e25\u0e32\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e43\u0e19\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22\n  ArduinoOTA.setHostname(\"SmartFarm_Node_01\");\n  \n  \/\/ \ud83c\udf1f 2. \u0e15\u0e31\u0e49\u0e07\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e42\u0e04\u0e49\u0e14 (\u0e04\u0e27\u0e32\u0e21\u0e1b\u0e25\u0e2d\u0e14\u0e20\u0e31\u0e22\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e15\u0e49\u0e19)\n  ArduinoOTA.setPassword(\"farm1234\");\n\n  \/\/ \ud83c\udf1f 3. \u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e23\u0e30\u0e1a\u0e1a OTA\n  ArduinoOTA.begin();\n  \n  Serial.println(\"OTA Ready!\");\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-ast-global-color-6-background-color has-background has-medium-font-size\"><strong>\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e31\u0e1a\u0e1b\u0e23\u0e38\u0e07\u0e1f\u0e31\u0e07\u0e01\u0e4c\u0e0a\u0e31\u0e19 <code>loop()<\/code><\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void loop() {\n  if (WiFi.status() == WL_CONNECTED) {\n    Blynk.run();\n    \/\/ \ud83c\udf1f 4. \u0e2a\u0e31\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e04\u0e2d\u0e22\u0e40\u0e07\u0e35\u0e48\u0e22\u0e2b\u0e39\u0e1f\u0e31\u0e07\u0e27\u0e48\u0e32\u0e21\u0e35\u0e42\u0e04\u0e49\u0e14\u0e43\u0e2b\u0e21\u0e48\u0e2a\u0e48\u0e07\u0e21\u0e32\u0e17\u0e32\u0e07 Wi-Fi \u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48\n    ArduinoOTA.handle(); \n  }\n  \n  timer.run();\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48 3 \u0e27\u0e34\u0e18\u0e35\u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e42\u0e04\u0e49\u0e14\u0e1c\u0e48\u0e32\u0e19\u0e2d\u0e32\u0e01\u0e32\u0e28 (Wireless Upload)<\/h2>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e42\u0e04\u0e49\u0e14\u0e0a\u0e38\u0e14\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19\u0e1c\u0e48\u0e32\u0e19<strong>\u0e2a\u0e32\u0e22 USB \u0e40\u0e1b\u0e47\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e41\u0e23\u0e01<\/strong>\u0e40\u0e23\u0e35\u0e22\u0e1a\u0e23\u0e49\u0e2d\u0e22\u0e41\u0e25\u0e49\u0e27 \u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e01\u0e47\u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e17\u0e35\u0e48\u0e08\u0e30\u0e42\u0e1a\u0e22\u0e1a\u0e34\u0e19\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e34\u0e2a\u0e23\u0e30<\/p>\n\n\n\n<p><strong>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e41\u0e1a\u0e1a\u0e44\u0e23\u0e49\u0e2a\u0e32\u0e22\u0e43\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b<\/strong><\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>\u0e16\u0e2d\u0e14\u0e2a\u0e32\u0e22 USB \u0e2d\u0e2d\u0e01\u0e08\u0e32\u0e01\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e43\u0e2b\u0e49\u0e19\u0e33\u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 \u0e44\u0e1b\u0e15\u0e48\u0e2d\u0e01\u0e31\u0e1a\u0e2d\u0e30\u0e41\u0e14\u0e1b\u0e40\u0e15\u0e2d\u0e23\u0e4c 9V \u0e2b\u0e23\u0e37\u0e2d\u0e1e\u0e32\u0e27\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e41\u0e1a\u0e07\u0e01\u0e4c\u0e41\u0e17\u0e19<\/li>\n\n\n\n<li>\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e43\u0e2b\u0e49\u0e41\u0e19\u0e48\u0e43\u0e08\u0e27\u0e48\u0e32 \u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13 \u0e41\u0e25\u0e30 \u0e1a\u0e2d\u0e23\u0e4c\u0e14 ESP32 <strong>\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e2d\u0e22\u0e39\u0e48\u0e01\u0e31\u0e1a Wi-Fi \u0e27\u0e07\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19<\/strong><\/li>\n\n\n\n<li>\u0e43\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Arduino IDE \u0e44\u0e1b\u0e17\u0e35\u0e48\u0e40\u0e21\u0e19\u0e39 <strong>Tools > Port<\/strong><\/li>\n\n\n\n<li>\u0e2a\u0e31\u0e07\u0e40\u0e01\u0e15\u0e17\u0e35\u0e48\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d <strong>Network Ports<\/strong> (\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19 Serial Ports \u0e41\u0e1a\u0e1a\u0e40\u0e14\u0e34\u0e21) \u0e04\u0e38\u0e13\u0e08\u0e30\u0e1e\u0e1a\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e15\u0e31\u0e49\u0e07\u0e44\u0e27\u0e49\u0e1b\u0e23\u0e32\u0e01\u0e0f\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32 \u0e40\u0e0a\u0e48\u0e19 <code>SmartFarm_Node_01 at 192.168.x.x<\/code><\/li>\n\n\n\n<li>\u0e04\u0e25\u0e34\u0e01\u0e40\u0e25\u0e37\u0e2d\u0e01 Port \u0e19\u0e31\u0e49\u0e19<\/li>\n\n\n\n<li>\u0e25\u0e2d\u0e07\u0e41\u0e01\u0e49\u0e44\u0e02\u0e42\u0e04\u0e49\u0e14\u0e40\u0e25\u0e47\u0e01\u0e19\u0e49\u0e2d\u0e22 \u0e40\u0e0a\u0e48\u0e19 \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e40\u0e27\u0e25\u0e32 Timer \u0e2b\u0e23\u0e37\u0e2d \u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21 Serial.print<\/li>\n\n\n\n<li>\u0e01\u0e14\u0e1b\u0e38\u0e48\u0e21 <strong>Upload<\/strong> \u0e15\u0e32\u0e21\u0e1b\u0e01\u0e15\u0e34<\/li>\n\n\n\n<li>\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e08\u0e30\u0e40\u0e14\u0e49\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e16\u0e32\u0e21\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19 \u0e43\u0e2b\u0e49\u0e01\u0e23\u0e2d\u0e01 <code>farm1234<\/code> \u0e41\u0e25\u0e49\u0e27\u0e01\u0e14 Enter<\/li>\n\n\n\n<li>\u0e23\u0e2d\u0e08\u0e19\u0e41\u0e16\u0e1a\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e34\u0e49\u0e19 \u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e08\u0e30\u0e23\u0e35\u0e2a\u0e15\u0e32\u0e23\u0e4c\u0e17\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e23\u0e31\u0e19\u0e42\u0e04\u0e49\u0e14\u0e0a\u0e38\u0e14\u0e43\u0e2b\u0e21\u0e48\u0e17\u0e31\u0e19\u0e17\u0e35<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading has-ast-global-color-4-background-color has-background has-medium-font-size\">\ud83d\udca1 \u0e1a\u0e17\u0e2a\u0e23\u0e38\u0e1b\u0e17\u0e32\u0e07\u0e27\u0e34\u0e28\u0e27\u0e01\u0e23\u0e23\u0e21 (Engineering Insights)<\/h2>\n\n\n\n<p>\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e30\u0e44\u0e14\u0e49\u0e40\u0e2b\u0e47\u0e19\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e0a\u0e31\u0e14\u0e40\u0e08\u0e19 \u0e08\u0e32\u0e01\u0e1a\u0e17\u0e17\u0e35\u0e48 1 \u0e17\u0e35\u0e48\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e2a\u0e32\u0e22\u0e23\u0e30\u0e42\u0e22\u0e07\u0e23\u0e30\u0e22\u0e32\u0e07\u0e15\u0e34\u0e14\u0e01\u0e31\u0e1a\u0e04\u0e2d\u0e21\u0e1e\u0e34\u0e27\u0e40\u0e15\u0e2d\u0e23\u0e4c \u0e21\u0e32\u0e2a\u0e39\u0e48\u0e1a\u0e17\u0e17\u0e35\u0e48 10 \u0e17\u0e35\u0e48\u0e15\u0e31\u0e27\u0e1a\u0e2d\u0e23\u0e4c\u0e14\u0e16\u0e39\u0e01\u0e19\u0e33\u0e44\u0e1b\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e43\u0e19\u0e2a\u0e27\u0e19\u0e41\u0e25\u0e49\u0e27 \u0e41\u0e15\u0e48\u0e40\u0e23\u0e32\u0e22\u0e31\u0e07\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e19\u0e31\u0e48\u0e07\u0e08\u0e34\u0e1a\u0e01\u0e32\u0e41\u0e1f\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e2b\u0e49\u0e2d\u0e07\u0e41\u0e2d\u0e23\u0e4c \u0e41\u0e25\u0e30\u0e2d\u0e31\u0e1b\u0e40\u0e14\u0e15\u0e40\u0e07\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e02 Threshold \u0e02\u0e2d\u0e07\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e37\u0e49\u0e19\u0e14\u0e34\u0e19\u0e43\u0e2b\u0e49\u0e09\u0e25\u0e32\u0e14\u0e02\u0e36\u0e49\u0e19\u0e44\u0e14\u0e49\u0e1c\u0e48\u0e32\u0e19\u0e23\u0e30\u0e1a\u0e1a\u0e40\u0e04\u0e23\u0e37\u0e2d\u0e02\u0e48\u0e32\u0e22<\/p>\n\n\n\n<p>\u0e19\u0e35\u0e48\u0e04\u0e37\u0e2d\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e27\u0e34\u0e28\u0e27\u0e01\u0e23 IoT \u0e43\u0e19\u0e2d\u0e38\u0e15\u0e2a\u0e32\u0e2b\u0e01\u0e23\u0e23\u0e21\u0e02\u0e19\u0e32\u0e14\u0e43\u0e2b\u0e0d\u0e48\u0e02\u0e2d\u0e07\u0e08\u0e23\u0e34\u0e07<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><strong>\u0e2a\u0e2d\u0e19\u0e42\u0e14\u0e22<\/strong>&nbsp;\u0e2d\u0e32\u0e08\u0e32\u0e23\u0e22\u0e4c\u0e19\u0e38\/\u0e04\u0e23\u0e39\u0e19\u0e38 (\u0e20\u0e32\u0e19\u0e38\u0e1e\u0e07\u0e28\u0e4c \u0e2a\u0e30\u0e41\u0e25\u0e30\u0e2b\u0e21\u0e31\u0e14)<\/p>\n\n\n\n<p><strong>\u0e15\u0e34\u0e14\u0e15\u0e48\u0e2d<\/strong>&nbsp;Line ID : salae44476<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u0e02\u0e49\u0e2d\u0e08\u0e33\u0e01\u0e31\u0e14\u0e02\u0e2d\u0e07 Web Server \u0e1a\u0e19 ESP32 \u0e02\u0e49\u0e2d\u0e08\u0e33\u0e01\u0e31\u0e14\u0e02\u0e2d\u0e07 Web Server  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-1596","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/pages\/1596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/comments?post=1596"}],"version-history":[{"count":23,"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/pages\/1596\/revisions"}],"predecessor-version":[{"id":1645,"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/pages\/1596\/revisions\/1645"}],"wp:attachment":[{"href":"https:\/\/kru-nu.com\/index.php\/wp-json\/wp\/v2\/media?parent=1596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}