{"id":2440,"date":"2023-03-24T14:53:51","date_gmt":"2023-03-24T11:53:51","guid":{"rendered":"https:\/\/www.mikrobotik.com\/wp2\/?p=2440"},"modified":"2023-03-24T14:53:51","modified_gmt":"2023-03-24T11:53:51","slug":"thingspeak-uygulamalari-ve-arduinoesp01s-ile-ev-otomasyonu","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2023\/03\/24\/thingspeak-uygulamalari-ve-arduinoesp01s-ile-ev-otomasyonu\/","title":{"rendered":"THINGSPEAK UYGULAMALARI ve Arduino+ESP01S ile EV OTOMASYONU"},"content":{"rendered":"<h2 style=\"text-align: center;\"><\/h2>\n<p>Thingspeak sitesi y\u0131llard\u0131r var. Ge\u00e7ti\u011fimiz y\u0131llarda buraya esp01 kullanarak nas\u0131l kay\u0131t yap\u0131ld\u0131\u011f\u0131n\u0131 ve al\u0131nd\u0131\u011f\u0131n\u0131 yazm\u0131\u015ft\u0131m.<br \/>\nFakat son y\u0131llarda kendisini \u00e7ok geli\u015ftirmi\u015f. Yani teknoloji ve zamana ayak uydurmu\u015f. Biz amat\u00f6rler i\u00e7in k\u0131s\u0131tlamalar mevcut olsa da hala kullan\u0131\u015fl\u0131 bir site durumunda. EV OTOMASYONU i\u00e7in de \u00e7ok faydal\u0131 olaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcn\u00fcyorum.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>UYGULAMALAR:<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\">REACT<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : Kanallardaki bilgiyi kontrol edip aksiyon al\u0131r.<br \/>\n<span style=\"color: #ff0000;\">THINGTWEET\u00a0<\/span>\u00a0\u00a0\u00a0 : Kendinize tweet mesaj\u0131 g\u00f6nderebilirsiniz.<br \/>\n<span style=\"color: #ff0000;\">HTTPREQUEST<\/span>\u00a0\u00a0 : \u00c7e\u015fitli sitelere istek yaparak bilgi alabilirsiniz.<br \/>\n<span style=\"color: #ff0000;\">TALKBACK\u00a0\u00a0\u00a0<\/span> \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 : Buraya yaz\u0131lan komutlar\u0131 evinizden \u00e7a\u011f\u0131r\u0131p kullanabilirsiniz, ya da yeni komutlar\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 yazabilirsiniz.<br \/>\n<span style=\"color: #ff0000;\">TIMECONTROL<\/span>\u00a0 : Zaman ayarl\u0131 bir i\u015fleminiz varsa bunu yapabilirsiniz. Thinghttp,thingtweet, gibi\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00f6zelliklere ba\u011flayabilirsiniz.<\/p>\n<p>Hatta baz\u0131 a\u00e7\u0131lardan biz amat\u00f6rlerin, fazla k\u00fct\u00fcphane kullan\u0131m\u0131n\u0131 \u00f6nlemi\u015f.<br \/>\nPHP bilmeyenler i\u00e7in baz\u0131 sitelere ula\u015fmak zor oluyordu. \u00c7\u00fcnk\u00fc i\u015flemi kolayla\u015ft\u0131ran php dosyalar\u0131 yap\u0131lmas\u0131 bir zorunluluk haline gelmi\u015fti.<br \/>\nArt\u0131k PHP dosyas\u0131 bile olu\u015fturman\u0131za gerek kalm\u0131yor. Hatta bir\u00e7ok ESP program\u0131n\u0131z i\u00e7in ba\u011flant\u0131 kurma k\u00fct\u00fcphaneleri kullanman\u0131za gerek kalm\u0131yor. Belki de tek bir ESP haberle\u015fme program\u0131 bir\u00e7ok haberle\u015fme program\u0131n\u0131n yerini alacak gibi.<br \/>\n\u00c7\u00fcnk\u00fc g\u00fczel bir yenilik olarak THINGSPEAK HTTP REQUEST gelmi\u015f. Yani ba\u011flanman\u0131z gereken parametreleri Thinghttp REQUEST k\u0131sm\u0131na yaz\u0131yorsunuz ve size tek bir link veriyor. Bu \u015fekilde sadece link g\u00f6ndermeniz yetiyor. Kar\u015f\u0131l\u0131k gelen bilgiyi de al\u0131p i\u015fleyebiliyorsunuz.<\/p>\n<p>Mesela firebase sitesinde bir veri okunaca\u011f\u0131 zaman tek bir link yetiyor. Fakat yaz\u0131laca\u011f\u0131 zaman BODY etiketini de doldurman\u0131z gerekiyor. <span style=\"color: #ff6600;\">(Ne demek istedi\u011fimi videoda g\u00f6rebilirsiniz.)<\/span> Bu \u015fekilde tek link ile bunu yazamad\u0131\u011f\u0131m\u0131z i\u00e7in firebase k\u00fct\u00fcphaneli program ar\u0131yoruz. <strong>BUNA GEREK KALMADI<\/strong>. Ula\u015fmak istedi\u011finiz t\u00fcm veriler http request olarak haz\u0131rl\u0131yorsunuz. Bu http request link\u2019ini esp01 ile g\u00f6nderdi\u011finizde i\u015fleminiz oluyor. Ben bunun i\u00e7in kolayl\u0131k olsun diye PHP dosyas\u0131 haz\u0131rlam\u0131\u015ft\u0131m. <span style=\"color: #ff6600;\">Ev otomasyon yaz\u0131mda g\u00f6rebilirsiniz.<\/span><strong><br \/>\n<a href=\"https:\/\/www.mikrobotik.com\/wp2\/2018\/08\/10\/esp8266-01-ile-dunyadan-evinize-web-sitenizle-baglanti-kurun\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.mikrobotik.com\/wp2\/2018\/08\/10\/esp8266-01-ile-dunyadan-evinize-web-sitenizle-baglanti-kurun\/<\/a><\/strong><\/p>\n<p>Thingspeak size firebase de yapamad\u0131\u011f\u0131n\u0131z veri kontrol\u00fcn\u00fc yap\u0131p <strong>alarm<\/strong> vermesini bile sa\u011flam\u0131\u015f. Mesela sens\u00f6r de\u011feri 50 den fazla oldu. Bunu hemen hissedecek ve aksiyon alacak bir tablo haz\u0131rl\u0131yorsunuz. Bu devaml\u0131 kontrol ediyor, \u015fayet veri belirlenen de\u011ferin \u00fcst\u00fcne \u00e7\u0131km\u0131\u015f ise size alarm veriyor. <span style=\"color: #ff6600;\"><strong>REACT uygulamas\u0131 bunu yap\u0131yor.<\/strong> <strong>Verilerinizdeki de\u011fi\u015fimleri g\u00f6zlemliyor<\/strong>.<\/span><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/REACT_NEW.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/REACT_NEW.PNG?raw=true\" alt=\"\" width=\"180\" height=\"220\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 180px; --smush-placeholder-aspect-ratio: 180\/220;\" \/><\/a><br \/>\nBu <strong>alarm verme<\/strong> olay\u0131n\u0131 farkl\u0131 \u015fekillerde yapabiliyorsunuz.<br \/>\n\u0130sterseniz <strong>kendi alarm e-mail<\/strong> \u00f6zelli\u011fini kullanarak, kay\u0131t olurken kulland\u0131\u011f\u0131n\u0131z e-mail adresinize mail g\u00f6ndermesini sa\u011flayabilirsiniz. <strong><span style=\"color: #ff6600;\">(Burada profilinizdeki alarm k\u0131sm\u0131n\u0131 kullan\u0131yorsan\u0131z 30dk i\u00e7inde sadece 2 e-mail g\u00f6nderme hakk\u0131n\u0131z var.)<\/span><br \/>\n<\/strong>\u0130sterseniz, <strong>TWITTER adresinize<\/strong> bildirim g\u00f6nderebiliyor.<br \/>\n\u0130sterseniz, bir <strong>PHP mail<\/strong> dosyas\u0131yla kendinize mail g\u00f6nderebilirsiniz.<a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/http_req_sendmailphp.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/http_req_sendmailphp.PNG?raw=true\" alt=\"\" width=\"262\" height=\"175\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 262px; --smush-placeholder-aspect-ratio: 262\/175;\" \/><\/a><br \/>\nBu \u015fekilde de thingspeak sitesinden kay\u0131t oldu\u011funuz e-mail adresinize, e-mail g\u00f6nderebilirsiniz.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/http_request.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/http_request.PNG?raw=true\" alt=\"\" width=\"286\" height=\"189\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 286px; --smush-placeholder-aspect-ratio: 286\/189;\" \/><\/a><br \/>\nBunu <strong>THING_TWITTER<\/strong> uygulamas\u0131 ve <strong>profilinizdeki alarm<\/strong> \u00f6zelli\u011fini kullanarak ya da <strong>REACT+HTTPREQUEST<\/strong> ile php dosyas\u0131n\u0131 tetikleyerek yap\u0131yor.<br \/>\nisterseniz <strong>HTTPREQUEST ile IFTTT<\/strong> tetiklenerek de e-mail g\u00f6nderilebiliyor.<\/p>\n<p>Bunun d\u0131\u015f\u0131nda bir de TIMECONTROL uygulamas\u0131 var. Buradan kendinize her g\u00fcn hat\u0131rlatma e-maili g\u00f6nderebilirsiniz. Ya da bir internet program\u0131n\u0131 \u00e7al\u0131\u015ft\u0131r\u0131p size bilgi g\u00f6nderebilir. Bunu haz\u0131rlam\u0131\u015f oldu\u011funuz THINGTWEET, THINGHTTP, TALKBACK ve MATLAB Analysis uygulamalar\u0131yla yapabiliyor. Sizler zaman\u0131 dakika, saat, g\u00fcnl\u00fck ve haftal\u0131k olarak ayarl\u0131yorsunuz ve zaman geldi\u011finde bu uygulama \u00e7al\u0131\u015f\u0131yor.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/new_timecontrol.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/new_timecontrol.PNG?raw=true\" alt=\"\" width=\"299\" height=\"191\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 299px; --smush-placeholder-aspect-ratio: 299\/191;\" \/><\/a><br \/>\nBir de <strong>TALKBACK<\/strong> denilen uygulama var. Bu uygulama sizinle birebir ileti\u015fim kuruyor. Tek bir cihaz gibi d\u00fc\u015f\u00fcn\u00fcn buraya son durumu kay\u0131t yap\u0131yorsunuz ve buradan son durumu okuyorsunuz.<br \/>\nFakat burada bir \u00f6zellik var. <span style=\"color: #ff6600;\"><strong>Okudu\u011funuz bilgi siliniyor.<\/strong> <\/span><strong><span style=\"color: #ff6600;\">Bundan dolay\u0131 okuduktan sonra son durumu yerine kay\u0131t etmek zorundas\u0131n\u0131z.<\/span> <\/strong>\u00a0Bu ayn\u0131 zamanda verileri okudu\u011funuzda okudu\u011funuz veriyi bir kanal\u0131n STATUS k\u0131sm\u0131na kay\u0131t ediyor. Gerekti\u011finde ge\u00e7mi\u015fi g\u00f6rebilirsiniz.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/talkback.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/talkback.PNG?raw=true\" alt=\"\" width=\"283\" height=\"185\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 283px; --smush-placeholder-aspect-ratio: 283\/185;\" \/><\/a><br \/>\n<span style=\"color: #ff6600;\"><strong>THINGHTTP haz\u0131rlarken<\/strong><\/span> link k\u0131sm\u0131na parametre eklenece\u011fi zaman bu parametre BODY etiketine yaz\u0131-<br \/>\nl\u0131r. Body etiketine %%VALUE%% yazd\u0131\u011f\u0131n\u0131zda parametre olarak VALUE=25 diyebilirsiniz. <strong>(b\u00fcy\u00fck k\u00fc\u00e7\u00fck harf duyarl\u0131d\u0131r. )<\/strong><br \/>\n<span style=\"color: #ff6600;\">Content type<\/span> ise <span style=\"color: #ff6600;\"><strong>raw <\/strong><\/span>olarak se\u00e7ilecektir.<br \/>\n<strong>\u00d6rnek sat\u0131r a\u015fa\u011f\u0131dad\u0131r.<\/strong><\/p>\n<p>https:\/\/api.thingspeak.com\/apps\/thinghttp\/send_request?api_key=TY5JJSCH4H3MDL0N&#038;VALUE=23<\/p>\n<p>olarak yazd\u0131\u011f\u0131n\u0131zda bu VALUE de\u011feri, body etiketine yaz\u0131lm\u0131\u015f gibi oluyor. Ve bu parametre link ile birlikte gidiyor.<\/p>\n<p>FIREBASE YAZ http_REQUEST bu \u015fekilde yap\u0131lm\u0131\u015ft\u0131r.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/firebase_yaz_request.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/firebase_yaz_request.PNG?raw=true\" alt=\"\" width=\"182\" height=\"246\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 182px; --smush-placeholder-aspect-ratio: 182\/246;\" \/><\/a><\/p>\n<p>Ayr\u0131ca <strong>%%<\/strong> i\u015faretlerinin thingspeak i\u00e7in bir anlam\u0131 vard\u0131r. Bunlar\u0131 da farkl\u0131 \u015fekillerde kullanabilirsiniz. Mesela bir kanal de\u011ferini mesaja eklemek istiyorsan\u0131z bu \u015fekilde yazabilirsiniz. <span style=\"color: #ff6600;\"><strong>%%channel_2052259_field_1%%<\/strong><\/span><\/p>\n<p>Burada da <strong>%%<\/strong> ile ba\u015flayan parametreleri g\u00f6r\u00fcyorsunuz.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/Thing_http_parametre_tablo.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/Thing_http_parametre_tablo.PNG?raw=true\" alt=\"\" width=\"322\" height=\"123\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 322px; --smush-placeholder-aspect-ratio: 322\/123;\" \/><\/a><\/p>\n<p><strong>A\u015fa\u011f\u0131daki resimler haz\u0131rlad\u0131\u011f\u0131m \u00f6rneklerin g\u00f6r\u00fcn\u00fcm\u00fcd\u00fcr.<\/strong><\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/kanallar.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/kanallar.PNG?raw=true\" alt=\"\" width=\"324\" height=\"244\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 324px; --smush-placeholder-aspect-ratio: 324\/244;\" \/><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_twitter.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_twitter.PNG?raw=true\" alt=\"\" width=\"348\" height=\"245\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 348px; --smush-placeholder-aspect-ratio: 348\/245;\" \/><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_timecontrol.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_timecontrol.PNG?raw=true\" alt=\"\" width=\"363\" height=\"207\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 363px; --smush-placeholder-aspect-ratio: 363\/207;\" \/><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_REACT.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_REACT.PNG?raw=true\" alt=\"\" width=\"354\" height=\"267\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 354px; --smush-placeholder-aspect-ratio: 354\/267;\" \/><\/a><\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_HTTP_REQ.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_HTTP_REQ.PNG?raw=true\" alt=\"\" width=\"232\" height=\"262\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 232px; --smush-placeholder-aspect-ratio: 232\/262;\" \/><\/a><br \/>\n<a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_talkback.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thing_talkback.PNG?raw=true\" alt=\"\" width=\"230\" height=\"285\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 230px; --smush-placeholder-aspect-ratio: 230\/285;\" \/><\/a><br \/>\n\u015eimdi ise <span style=\"color: #ff6600;\"><strong>EV OTOMASYONUNDA NASIL KULLANAB\u0130L\u0130R\u0130Z<\/strong><\/span> konusuna bakal\u0131m.<br \/>\nBu site sadece ev otomasyonunda kullan\u0131lacak diye bir kaide yok. Bir\u00e7ok i\u015finizde size yard\u0131mc\u0131 olacak ara\u00e7lar\u0131 var.<\/p>\n<p>Ev otomasyonu mant\u0131\u011f\u0131n\u0131 anlatmayaca\u011f\u0131m burada zaten bunlar\u0131 okuyaca\u011f\u0131n\u0131z yaz\u0131lar\u0131m var.<br \/>\n<strong><a href=\"https:\/\/www.mikrobotik.com\/wp2\/2020\/05\/26\/ev-otomasyonu-sistemine-bakis\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.mikrobotik.com\/wp2\/2020\/05\/26\/ev-otomasyonu-sistemine-bakis\/<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.mikrobotik.com\/wp2\/2023\/02\/28\/google-asistan-ga-ve-alexa-programlariyla-ev-otomasyon-ve-kendi-asistanimizi-yapmak\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.mikrobotik.com\/wp2\/2023\/02\/28\/google-asistan-ga-ve-alexa-programlariyla-ev-otomasyon-ve-kendi-asistanimizi-yapmak\/<\/a><\/strong><\/p>\n<p><strong>Fakat THINGSPEAK sitesini nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131 anlataca\u011f\u0131m.<\/strong><br \/>\nEv otomasyonu yapacaksan\u0131z farkl\u0131 mant\u0131kla bunu yapabilirsiniz. <span style=\"color: #ff6600;\"><strong>Birinci sistem<\/strong><\/span> kanal verilerine yazar ve okursunuz.<br \/>\n<span style=\"color: #ff6600;\">Thingspeak size, FREE oldu\u011fu zaman, 4 adet kanal olu\u015fturman\u0131za izin veriyor. Bu kanallarda 8 adet veri kayd\u0131 yap\u0131l\u0131yor. Yani 8 adet cihaz bir kanalda 8 adet sens\u00f6r de 2. Kanalda yer alabilir.<\/span><br \/>\nT\u00fcm kanallar\u0131 kullanaca\u011f\u0131m derseniz 4 adet kanal, 8 adet veri= 32 cihaz FREE olarak kullan\u0131labilir.<\/p>\n<p><span style=\"color: #ff6600;\">Burada \u015funu da belirtmem gerekiyor. FREE hesap ile \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda YAZMA \u0130\u015eLEM\u0130N\u0130 <strong>15sn<\/strong> de bir yapabiliyorsunuz. Fakat okuma k\u0131sm\u0131nda bu k\u0131s\u0131tlama yok sadece g\u00fcncellemede var. Ayr\u0131ca bu kanallar\u0131 kendiniz kullanabildi\u011finiz gibi herkesin ya da belirli ki\u015filerin kullan\u0131m\u0131na da a\u00e7abiliyorsunuz.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thingspeak_free_limit.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/thingspeak_free_limit.PNG?raw=true\" alt=\"\" width=\"415\" height=\"217\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 415px; --smush-placeholder-aspect-ratio: 415\/217;\" \/><\/a><\/p>\n<p>Kanal\u0131n\u0131z\u0131n setting k\u0131sm\u0131na hangi cihaz oldu\u011funu field1 gibi veri yerlerine yazars\u0131n\u0131z. Art\u0131k veri size gelirken bu isimlerle gelir. Mesela field1= \u201cmutfak lambas\u0131\u201d gibi yazabilirsiniz. Fakat field, veri yerlerine veri girerken <span style=\"color: #ff6600;\"><strong>mutlaka say\u0131sal veri girilmesi<\/strong><\/span> laz\u0131m. Mesela <span style=\"color: #ff6600;\">1 ON<\/span>,<span style=\"color: #ff6600;\"> 0 OFF<\/span> demek diye d\u00fc\u015f\u00fcnebilirsiniz. Tabii ki baz\u0131 lambalar PWM ile de kontrol edilebilir. Bu veri yerlerine <span style=\"color: #ff6600;\">0-255<\/span> aras\u0131 bir say\u0131 da girebilirsiniz. Oradan komut alan bir cihaz PWM ile \u00e7al\u0131\u015fabilir. (<span style=\"color: #ff6600;\">Nitekim benim \u00f6rnek devremde 1 adet led ON\/OFF \u00e7al\u0131\u015f\u0131rken 1 tane led ise PWM ile kontrol edilmektedir.<\/span> )<br \/>\nAyr\u0131ca bir de gaz sens\u00f6r\u00fc ve di\u011fer sens\u00f6rler var. Bunlar\u0131 da 2. Kanala INPUTS_1 kanal\u0131ma y\u00f6nlendirdim. Yani bir kanal OUTPUTS_1 cihaz verilerini tutarken INPUTS_1 kanal\u0131 ise Sens\u00f6r verilerini tutmaktad\u0131r. <span style=\"color: #ff6600;\">( S\u0130ZLER BUNUN PLANLAMASINI KEND\u0130N\u0130ZE G\u00d6RE HAZIRLAYAB\u0130L\u0130RS\u0130N\u0130Z.)<\/span><\/p>\n<p>Bu kanallarda bir de <span style=\"color: #ff6600;\">STATUS<\/span> bilgisi yaz\u0131lan yer var. Bu da bazen <span style=\"color: #ff6600;\">LOG tutmak<\/span> i\u00e7in kullan\u0131l\u0131r buraya <span style=\"color: #ff6600;\">true false gibi string<\/span> olarak bilgi yaz\u0131labilir.<\/p>\n<p>Kanallardaki bilgileri isterseniz tek tek ya da topluca okuyabilirsiniz. Ben topluca okuyup kendim <span style=\"color: #ff6600;\">indexof<\/span> komutuyla ay\u0131rd\u0131m. Sizler arduino json k\u00fct\u00fcphanesini kullan\u0131p okuyabilirsiniz ya da gelen veriye g\u00f6re ba\u015fka se\u00e7enekleri de\u011ferlendirebilirsiniz. <span style=\"color: #ff6600;\">( Gelen verileri ESP+ARDUINO \u00e7al\u0131\u015fma resminde g\u00f6rebilirsiniz. )<\/span><\/p>\n<p><span style=\"color: #ff6600;\">Ev otomasyonu 2. Sistem<\/span> ise TALKBACK ile yap\u0131m \u015feklidir. Hatta burada daha fazla cihaza bilgi aktarman\u0131z m\u00fcmk\u00fcn gibi. <span style=\"color: #ff6600;\">\u00c7\u00fcnk\u00fc kanal olarak 4 adet ile s\u0131n\u0131rlasa da burada s\u0131n\u0131r yok gibi.<\/span> Tek s\u0131n\u0131r kullan\u0131lacak komut 8000 ile s\u0131n\u0131rlanm\u0131\u015f. Yani 1 talkback ba\u011flant\u0131s\u0131nda 1 komut kullanacaksan\u0131z, 8000 ba\u011flant\u0131 kullanabilirsiniz gibi d\u00fc\u015f\u00fcn\u00fcyorum.<span style=\"color: #ff6600;\"> <strong>Tabii ki teorik olarak.<\/strong><\/span><br \/>\nBir adet talkback ba\u011flant\u0131s\u0131nda 1 den fazla komut koyup, bunlar\u0131 \u00e7a\u011f\u0131rabilirsiniz. <span style=\"color: #ff6600;\">\u0130lk giren ilk \u00e7\u0131kar<\/span> prensibine g\u00f6re \u00e7al\u0131\u015f\u0131r. Yani verdi\u011finiz ilk komut \u00f6nce \u00e7\u0131kacakt\u0131r.<br \/>\n<span style=\"color: #ff6600;\">Fakat biz ev otomasyonunda bir cihaz olarak kullanaca\u011f\u0131m\u0131z i\u00e7in tek komut yetecektir.<\/span><br \/>\nBunun i\u00e7in Benim programda yapt\u0131\u011f\u0131m gibi URL de\u011fi\u015fkenini cihaz ismine g\u00f6re olu\u015fturup g\u00f6ndeririz. Bu \u015fekilde cihaza ait olan son durumu okuruz<strong>. A<span style=\"color: #ff6600;\">yr\u0131ca Bu komutu okudu\u011fumuzda son durum silinece\u011finden mevcut olan son durumu tekrar yazmam\u0131z laz\u0131m<\/span><\/strong><span style=\"color: #ff6600;\">.<\/span> <span style=\"color: #0000ff;\">TALKBACK te yazma zaman\u0131 s\u0131n\u0131r\u0131 yok g\u00f6r\u00fcn\u00fcyor. Fakat free lisans g\u00fcnde 8200 mesaj g\u00f6steriyor.<\/span> Bu da denemeleri rahat yapabilece\u011finizi fakat her saniye talkback kontrol\u00fc yaparsan\u0131z 8200 den sonra yapamayacaks\u0131n\u0131z gibi bir anlam \u00e7\u0131k\u0131yor. <span style=\"color: #ff6600;\">Denemedim ama \u00f6\u011frenci versiyonunu<\/span> sat\u0131n alsan\u0131z, <span style=\"color: #0000ff;\">her saniye istek<\/span> yapsan\u0131z bile limiti ge\u00e7emiyorsunuz. Zaten ev otomasyonunda 3-5 sn gecikme normal demektir.<\/p>\n<p>Yani her iki \u015fekilde de ev otomasyonunu haz\u0131rlayabilirsiniz. Ben kendi program\u0131mda KANAL sistemini kulland\u0131m. <span style=\"color: #ff6600;\">Fakat videoda talkback k\u0131sm\u0131n\u0131 da anlataca\u011f\u0131m prati\u011fini orada g\u00f6rebilirsiniz.<\/span><\/p>\n<p>\u015eimdi de yapt\u0131\u011f\u0131m \u00f6rnek programa bakal\u0131m.<\/p>\n<figure style=\"width: 618px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/programlama.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/programlama.PNG?raw=true\" alt=\"\" width=\"618\" height=\"442\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 618px; --smush-placeholder-aspect-ratio: 618\/442;\" \/><\/a><figcaption class=\"wp-caption-text\"><span style=\"color: #ff0000;\"><strong>Arduino ve ESP, TX RX \u00fczerinden donan\u0131msal seri olarak birbirine ba\u011fl\u0131. Led ve Buton pimleri ise program i\u00e7erisinde yaz\u0131yor. Butonlara PULL UP diren\u00e7leri ba\u011flamal\u0131s\u0131n\u0131z.<\/strong><\/span><\/figcaption><\/figure>\n<p>ESP32 ile bu sistemi yapabilirsiniz. O mod\u00fclde pim say\u0131s\u0131 fazla oldu\u011fundan sorun yok. Fakat ESP01S ile bunu yapmak istedi\u011finizde pim say\u0131s\u0131 fazla olmad\u0131\u011f\u0131ndan cihaz ve sens\u00f6r pimleri i\u00e7in IO \u00e7oklay\u0131c\u0131 kullanman\u0131z laz\u0131m ya da Arduino ile ESP01S mod\u00fcl\u00fcn\u00fc birlikte kullanman\u0131z laz\u0131m.<br \/>\nIO \u00e7oklay\u0131c\u0131 nas\u0131l kullan\u0131r\u0131m derseniz bu yaz\u0131ma bakabilirsiniz. <strong><a href=\"https:\/\/www.mikrobotik.com\/wp2\/2020\/11\/05\/esp8266-01-ve-pcf8574-dijital-port-coklayici-ile-8-led-kontrol\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.mikrobotik.com\/wp2\/2020\/11\/05\/esp8266-01-ve-pcf8574-dijital-port-coklayici-ile-8-led-kontrol\/<\/a><\/strong><\/p>\n<p>IO \u00e7oklay\u0131c\u0131 mod\u00fcl\u00fc yak\u0131ndan tan\u0131yorsunuz. I2C ile \u00e7al\u0131\u015fan LCD kontrol mod\u00fcl\u00fcd\u00fcr. Bunu kullanabilirsiniz.<br \/>\n<span style=\"color: #ff6600;\"><strong>Ben ise Arduino NANO ve ESP01S kulland\u0131m.<\/strong><\/span><br \/>\nKontroller Arduinoda yap\u0131l\u0131yor \u00e7\u0131k\u0131\u015f pimleri cihazlara kumanda ederken giri\u015f pimleri ise sens\u00f6r kontrol ediyor. Ya da Switch kontrol ediyor.<br \/>\nESP01S ise sadece arduinonun g\u00f6nderdi\u011fi komutlara g\u00f6re istenen bilgiyi thingspeak sitesine g\u00f6nderiyor ya da bu siteden al\u0131p arduinoya veriyor.<br \/>\nK\u0131saca mant\u0131\u011f\u0131 budur. Fakat resme g\u00f6re yap\u0131lanlar\u0131 anlatmak istiyorum.<br \/>\nResimde alt programlar\u0131 g\u00f6r\u00fcyorsunuz. G\u00f6revleri ise a\u015fa\u011f\u0131dad\u0131r. \u00d6nce ESP den ba\u015flayay\u0131m.<\/p>\n<p><span style=\"color: #ff6600;\">\u015eunu s\u00f6ylemeliyim. Cs1-8 de\u011fi\u015fkenleri STRING de\u011fi\u015fkenidir. Bundan dolay\u0131 INT olarak kullanmak istedi\u011finizde \u00e7evrim yapmak zorundas\u0131n\u0131z.<\/span> <span style=\"color: #ff0000;\">(<strong>d2pwm=cs2.toInt();)<\/strong><\/span><\/p>\n<p><span style=\"color: #ff0000;\">Seripar :\u00a0<\/span> Seriporttan gelen bilgileri par\u00e7alayarak ilgili de\u011fi\u015fkenlere aktar\u0131lmas\u0131.<br \/>\n<span style=\"color: #ff0000;\">GELPAR:<\/span> Bu ise thingspeak sitesinden gelen bilgileri par\u00e7alayarak de\u011fi\u015fkenlere aktar\u0131r.<br \/>\n<span style=\"color: #ff0000;\">URLYAP:<\/span> Bu, de\u011fi\u015fen durumlara g\u00f6re g\u00f6nderilecek URL lerin haz\u0131rlanmas\u0131n\u0131 sa\u011flar. <span style=\"color: #ff6600;\">\u00c7\u00fcnk\u00fc thingspeak de yazma api key farkl\u0131 okuma api key farkl\u0131d\u0131r.<\/span> Ya da WO diyecekseniz de\u011fi\u015fkenleri URL i\u00e7ine eklemelisiniz. Thingspeak i\u00e7in 4 ayr\u0131 link URL si haz\u0131rlan\u0131yor. 2 adedi yazma, 2 adedi okuma i\u00e7in.<br \/>\n<span style=\"color: #ff0000;\">G\u00d6NDER:<\/span> burada URL de\u011fi\u015fkeni, WIFI \u00fczerinden thingspeak sitesine g\u00f6nderilir. Bu alt program sadece URL link\u2019i g\u00f6nderir ve gelen bilgiyi de cevap de\u011fi\u015fkenine aktar\u0131r.<br \/>\n<span style=\"color: #ff0000;\">GELPAR<\/span> alt program\u0131 ise gelen bilgileri cevap de\u011fi\u015fkeninden alarak par\u00e7alay\u0131p de\u011fi\u015fkenlere aktar\u0131r.<br \/>\n<span style=\"color: #ff0000;\">LOOP:<\/span> Burada ise seri porttan bilgi geldi mi diye kontrol edilir ve gelirse bunu URLYAP b\u00f6l\u00fcm\u00fcne g\u00f6nderir. \u0130\u015f bitti\u011finde ise Arduinoya READY mesaj\u0131 g\u00f6nderir. ( Bu mesaj olmaz ise ESP kendi i\u015fini yaparken Arduino ona yeni bir komut g\u00f6nderir ve bu komutu ESP alg\u0131layamaz. \u00c7\u00fcnk\u00fc yazma s\u0131ras\u0131nda 15sn beklemek zorunda ve okuma k\u0131sm\u0131nda da k\u00fc\u00e7\u00fck de olsa delay s\u00fcreleri var.<br \/>\nTamamen birbiriyle senkron \u00e7al\u0131\u015fma i\u00e7in READY bilgisinin arduinoya g\u00f6nderilerek yeni bir komut g\u00f6ndermesi sa\u011flan\u0131r. )<\/p>\n<p><strong>Arduinodaki alt programlar \u015f\u00f6yledir.<\/strong><\/p>\n<p><span style=\"color: #ff0000;\">Seripar:<\/span> Bu ESP den gelen seri haberle\u015fme bilgilerini ay\u0131r\u0131r. De\u011fi\u015fkenlere aktar\u0131r.<br \/>\n<span style=\"color: #ff0000;\">DeviceREAD:<\/span> Burada s\u0131ras\u0131 geldi\u011finde <span style=\"color: #ff6600;\">Serial.println(&#8220;&lt;RO:&gt;&#8221;);<\/span> bilgisini\u00a0 seri porta g\u00f6nderir. Bu bilgi okuma iste\u011fidir.<br \/>\n<span style=\"color: #ff0000;\">DeviceSEND:<\/span> Burada cihaz\u0131n son durum bilgisini \u00f6\u011frenerek thingspeak sitesine g\u00f6ndermek i\u00e7in verileri haz\u0131rlar ve ESP ye g\u00f6nderir. WO olarak komutlarda g\u00f6rebilirsiniz. <span style=\"color: #ff6600;\">&lt;WO:1,130,42,43,44,45,46,47&gt;<\/span><br \/>\n<span style=\"color: #ff0000;\">Sens\u00f6rREAD:<\/span> Bu da sens\u00f6r bilgilerini THINGSPEAK sitesinden ister. Normalde mant\u0131ks\u0131z gibi g\u00f6r\u00fcnse de istenirse bu kullan\u0131labilir diye buraya koydum. Sens\u00f6rlerimizin her an de\u011fi\u015fti\u011fini varsayarsak bunu geri \u00e7a\u011f\u0131rma mant\u0131ks\u0131z geliyor. Sadece \u00f6rnek olsun diye koydum.<br \/>\n<span style=\"color: #ff6600;\">Serial.println(&#8220;&lt;RS:&gt;&#8221;);<\/span><br \/>\n<span style=\"color: #ff0000;\">SENSORCONTROL:<\/span> Burada ise WS olarak adland\u0131rd\u0131\u011f\u0131m komut sens\u00f6rler okunarak haz\u0131rlan\u0131yor ve thingspeak sitesine g\u00f6nderilmek \u00fczere ESP ye g\u00f6nderiliyor. <span style=\"color: #ff6600;\">&lt;WS:70,21,22,23,2,25,26,27&gt;<\/span><br \/>\n<span style=\"color: #ff0000;\">DEVICE1\u2026:<\/span> Burada ise 1-8 aras\u0131 t\u00fcm cihazlar\u0131n kontrol\u00fc sa\u011flan\u0131r. Gelen bilgilere g\u00f6re cihazlar\u0131n durumlar\u0131 ayarlan\u0131r. Burada device2 PWM ile kontrol ediliyor. \u0130stedi\u011finiz gibi dizayn edersiniz.<br \/>\n<span style=\"color: #ff0000;\">LOOP:<\/span> Buras\u0131 biraz karma\u015f\u0131k gibi duruyor fakat iyi irdeledi\u011finizde neden yap\u0131lm\u0131\u015f oldu\u011funu anlayabilirsiniz. Zaten yanlar\u0131na baz\u0131 a\u00e7\u0131klamalar koydum.<br \/>\n\u00c7al\u0131\u015fma \u015fekli \u015fudur. Burada elle kontrol etti\u011fimiz butonlar kontrol ediliyor. Anahtara bas\u0131ld\u0131\u011f\u0131nda WO dedi\u011fimiz de\u011fi\u015fken listesi haz\u0131rlanmas\u0131 bir s\u00fcre al\u0131yor. \u00c7\u00fcnk\u00fc devaml\u0131 yazma i\u015flemi yap\u0131lam\u0131yor. \u015eayet siz butona bast\u0131n\u0131z ve daha sonra thingspeak sitesinden okuma yaparsan\u0131z LED yine eski durumuna d\u00f6ner. Bundan dolay\u0131 butona bas\u0131ld\u0131\u011f\u0131nda <span style=\"color: #ff6600;\"><strong>writecontrol<\/strong><\/span> de\u011fi\u015fkeni RO komutunun gitmesini ge\u00e7ici s\u00fcre engeller ta ki yazma i\u015flemi tamamlanas\u0131ya kadar.<br \/>\nAyn\u0131 zamanda bir saya\u00e7 var. Bu saya\u00e7 \u00f6rnek vereyim 20 okuma sonras\u0131 1 kere bilgiyi g\u00fcncellesin daha sonra sens\u00f6rleri de g\u00fcncellesin diye bu komut say\u0131s\u0131n\u0131 tutar. LOOP d\u00f6ng\u00fcn\u00fcz, buna g\u00f6re \u00e7al\u0131\u015f\u0131r. Fakat bunun yan\u0131 s\u0131ra hangi komutun da s\u0131ras\u0131 geldi\u011fini ayarlamak i\u00e7in LOOP d\u00f6ng\u00fcs\u00fcn\u00fcn en alt\u0131nda kar\u015f\u0131la\u015ft\u0131rmalar yap\u0131l\u0131r. \u015eayet say\u0131 20 olduysa okuma de\u011fil cihaz yazmas\u0131n\u0131 g\u00f6nder. Gibi kar\u015f\u0131la\u015ft\u0131rmalar yap\u0131l\u0131r. Bu \u015fekilde devam eder.<br \/>\nTabii ki bu komutlar ise <span style=\"color: #ff6600;\">READY komutu<\/span> geldi\u011finde devreye girmeli Bundan dolay\u0131 READY komutu olmazsa arduino hi\u00e7bir komut yollamaz. Bunu ise saybak=1 de\u011fi\u015fkeni sa\u011flar.<br \/>\nYani ready sinyali geldi\u011finde saybak=1 olur arduino counttime say\u0131s\u0131na g\u00f6re ESP ye g\u00f6nderilecek komutu yollar. ESP bu komutu ald\u0131\u011f\u0131nda gerekli i\u015flemi yapar ve bekleme yapacaksa bekler ve sonras\u0131nda i\u015fini bitirdi\u011finde READY komutunu yollar. Bu s\u0131rada Komut yolland\u0131\u011f\u0131nda saybak=0 oldu\u011fundan arduino ba\u015fka komut yollamaz.<\/p>\n<p>ESP program\u0131 ayn\u0131 zamanda sens\u00f6r kontrol\u00fc yaparken bir y\u00fckselme oldu\u011funda a\u015fa\u011f\u0131daki sat\u0131rla <span style=\"color: #0000ff;\">THINGHTTP k\u0131sm\u0131n\u0131 kullanarak E_MAIL yollar.<\/span><br \/>\n<span style=\"color: #ff6600;\">if (senscontrol&gt;60){\/\/ **** cs1 de\u011fi\u015fkenindeki sens\u00f6r de\u011feri 60tan b\u00fcy\u00fckse alarm email ver.<\/span><\/p>\n<p><span style=\"color: #ff6600;\">URL=&#8221;GET https:\/\/api.thingspeak.com\/apps\/thinghttp\/send_request?api_key=7YKN63N1ZR7DGMJV HTTP\/1.0&#8243;;<\/span><\/p>\n<p><span style=\"color: #ff6600;\"><strong>NOT:<\/strong> <strong>Arduino IDE komut hatas\u0131<\/strong>.<\/span>Bu programda g\u00f6rd\u00fcm ki arduino indexof komutu gelen bilginin 1. Karakterini g\u00f6rm\u00fcyor. (indexof 0. karakter ilk karakter diye bakar ama &#8230;)<br \/>\nYani <strong>READY<\/strong> yollad\u0131\u011f\u0131mda <strong>READY<\/strong> varm\u0131 diye indexof ile bak\u0131yorum yok diyor. Fakat <span style=\"color: #ff6600;\"><strong>EADY<\/strong><\/span> olarak kontrol edersem <span style=\"color: #ff6600;\">var diyor.<\/span> \u015eayet &lt;READY&gt; g\u00f6nderirsem READY var diyor. Bu da ya benim kullan\u0131m\u0131mdan do\u011fan bir hata ya da indexof komutu hatal\u0131 \u00e7al\u0131\u015f\u0131yor demektir. BUNA PROGRAMI D\u00dcZELT\u0130RKEN D\u0130KKAT ETMEL\u0130S\u0130N\u0130Z. Belki de mystring.indexof(&#8220;&lt;&#8220;,0) denenebilir ben denemedim.index of komutu 0. karakterden ba\u015fl\u0131yor. Deneyebilirsiniz.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>NOT:<\/strong> <\/span>Bu tip ESP programlar\u0131n\u0131 ve http L\u0130NK ile kullan\u0131lan programlarda denemelerinizi, <span style=\"color: #ff6600;\">POSTMAN<\/span> program\u0131 ile yaparsan\u0131z b\u00fcy\u00fck kolayl\u0131k sa\u011fl\u0131yor. <span style=\"color: #ff6600;\">Videoda nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6receksiniz<\/span>. Ayr\u0131ca link \u00e7al\u0131\u015ft\u0131\u011f\u0131nda bunu belirlenen programlara \u00e7evirip o programlarda kullanabiliyorsunuz. Ben PHP ye \u00e7evirerek haz\u0131r PHP program\u0131nda kullanmaya ba\u015flad\u0131m. PHP bilgim olmasa da kolayl\u0131kla kullan\u0131yorum.<\/p>\n<p><strong><span style=\"color: #ff0000;\">NOT:<\/span> <\/strong>ESP program\u0131nda internet ba\u011flanamad\u0131ysa READY yazamayacak arduino duracak internet ba\u011flanmas\u0131 i\u00e7in esp ye devaml\u0131 &lt;RO:&gt; g\u00f6nderilir ki hemen okuma yaps\u0131n ve ready yazs\u0131n.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>NOT:<\/strong> <\/span>Arduino program\u0131nda kullan\u0131lan <span style=\"color: #ff0000;\"><strong>wificlientsecure k\u00fct\u00fcphanesini<\/strong> <\/span>programlar aras\u0131nda bulacaks\u0131n\u0131z. Program\u0131 derlemek i\u00e7in bunu kendi bilgisayar\u0131n\u0131za kurman\u0131z gerekir.<\/p>\n<p><span style=\"color: #ff6600;\">Buraya kadar ger\u00e7ekle\u015ftirilen devreyi anlatt\u0131m.<\/span><\/p>\n<p><span style=\"color: #ff0000;\"><strong>Acaba Google Asistan\u0131 devreye alabilir miyiz?<\/strong><\/span><br \/>\nElbette alabiliriz. IFTTT burada da devreye giriyor. IFTTT, GA taraf\u0131ndan tetiklendi\u011finde WEBHOOK ile bir http request yaparak istedi\u011fimiz tablonun de\u011ferini 1 ve 0 olarak de\u011fi\u015ftirebiliriz. Bu \u015fekilde ESP de o de\u011feri kontrol ederek cihaz\u0131 a\u00e7ar ya da kapat\u0131r. Hatta bu de\u011feri THING_REACT ile kontrol ederek gelen bilgi istenenden fazla ise alarm verdirebilirsiniz.<br \/>\nZaten GA ve ALEXA ile ev otomasyonunu yapt\u0131\u011f\u0131m yaz\u0131m\u0131 daha \u00f6nce yay\u0131nlam\u0131\u015ft\u0131m. IFTTT nas\u0131l kullan\u0131l\u0131r oradan bakabilirsiniz.<br \/>\n<strong><a href=\"https:\/\/www.mikrobotik.com\/wp2\/2023\/02\/28\/google-asistan-ga-ve-alexa-programlariyla-ev-otomasyon-ve-kendi-asistanimizi-yapmak\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.mikrobotik.com\/wp2\/2023\/02\/28\/google-asistan-ga-ve-alexa-programlariyla-ev-otomasyon-ve-kendi-asistanimizi-yapmak\/<\/a><\/strong><\/p>\n<p>IFTTT de webhook i\u00e7in a\u015fa\u011f\u0131daki resimdeki gibi d\u00fczenleme yaparsan\u0131z GA n\u0131n g\u00f6nderdi\u011fi tetikleme ile thingspeak de tablo de\u011ferini de\u011fi\u015ftirebilirsiniz. Ayr\u0131ca thinghttp request ile bir kontrol ayarlad\u0131\u011f\u0131n\u0131zda IFTTT ye bir request yollars\u0131n\u0131z ve bu tetikleme yaparak kendinize IFTTT ile\u00a0 e-mail g\u00f6nderebilirsiniz.<br \/>\n<span style=\"color: #ff6600;\"><strong>(Videoda g\u00f6rebilirsiniz)<\/strong><\/span><br \/>\n\u0130sterseniz GA ile yapt\u0131\u011f\u0131n\u0131z\u0131, ALEXA ile de yapabilirsiniz. Hatta bir REACT olu\u015fturup bunun httprequest \u00e7al\u0131\u015ft\u0131rmas\u0131 i\u00e7in ayarlayabilirsiniz. Bu request ise <span style=\"color: #ff6600;\">littlenodes sitesindeki<\/span> ALEXA butonunu devreye alarak alarm bilgisini alexa n\u0131n sesli olarak iletmesini sa\u011flayabilirsiniz. (<span style=\"color: #ff6600;\">Littlenodes hakk\u0131nda bilgiyi de sitemdeki GA ve ALEXA yaz\u0131mda bulabilirsiniz.<\/span> )<\/p>\n<p>THINGSPEAK kanal tablosunu a\u00e7t\u0131\u011f\u0131n\u0131zda kar\u015f\u0131n\u0131za verilerin grafi\u011fi \u00e7\u0131kar. Bu grafiklerin \u00fczerindeki ikonlar ile grafi\u011fi kendi sitenizde g\u00f6sterebilirsiniz. Kanal tablosu de\u011fi\u015fti\u011finde bu grafiklerde sitenizde olmas\u0131na ra\u011fmen k\u0131sa s\u00fcre sonra de\u011fi\u015fir. Online g\u00fcncellenir. Hatta kanal sayfas\u0131nda <span style=\"color: #ff6600;\">AddWidget<\/span> k\u0131sm\u0131nda baz\u0131 ara\u00e7lar var. Bunlar\u0131 da sayfan\u0131za dahil edebilirsiniz.<br \/>\nBen lamba resmini se\u00e7tim ve haz\u0131rlad\u0131\u011f\u0131m <span style=\"color: #ff6600;\"><strong>denewebpage.html<\/strong><\/span> web sayfas\u0131nda\u00a0 g\u00f6sterdim. <span style=\"color: #ff6600;\">Bunu da \u00e7al\u0131\u015f\u0131rken videoda g\u00f6rebilirsiniz.<\/span> \u00d6rnek sayfa OUTPUTS1 kanal\u0131n\u0131n 1. Field verisine g\u00f6re \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>IFTTT ekran\u0131nda yeni buton olu\u015fturup,<br \/>\nTetikleme k\u0131sm\u0131na google asistan se\u00e7ip bu \u015fekilde ayarlay\u0131n<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/mutfaklamba0T.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/mutfaklamba0T.PNG?raw=true\" alt=\"\" width=\"181\" height=\"252\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 181px; --smush-placeholder-aspect-ratio: 181\/252;\" \/><\/a><\/p>\n<p>Daha sonra THEN blo\u011funa a\u015fa\u011f\u0131daki gibi yaz\u0131n.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/mutfaklamba0w.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/mutfaklamba0w.PNG?raw=true\" alt=\"\" width=\"177\" height=\"261\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 177px; --smush-placeholder-aspect-ratio: 177\/261;\" \/><\/a><br \/>\nTetikleme GA taraf\u0131ndan g\u00f6nderildi\u011finde THEN blo\u011fu \u00e7al\u0131\u015f\u0131r.<\/p>\n<p>Thingspeak bir veride problem oldu\u011funda IFTTT ile size mail g\u00f6nderir ya da asistan\u0131n\u0131z\u0131 sesle uyar\u0131r.<\/p>\n<p>Thinghttp bir REACT ile kontrol edilir. Kanalda bir problem oldu\u011funda REACT, thingHTTP yi \u00e7al\u0131\u015ft\u0131r\u0131r ve IFTTT ye bir istek g\u00f6nderir. Bu \u0130FTTT yi tetikler.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/alarmgeldiT.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/alarmgeldiT.PNG?raw=true\" alt=\"\" width=\"161\" height=\"225\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 161px; --smush-placeholder-aspect-ratio: 161\/225;\" \/><\/a><br \/>\nTHEN blo\u011funa a\u015fa\u011f\u0131daki gibi yazarsan\u0131z kendinize mail g\u00f6nderebilirsiniz. Buray\u0131 de\u011fi\u015ftirerek ba\u015fka i\u015flemler de yapabilirsiniz.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/alarmgeldiSM.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/alarmgeldiSM.PNG?raw=true\" alt=\"\" width=\"202\" height=\"308\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 202px; --smush-placeholder-aspect-ratio: 202\/308;\" \/><\/a><br \/>\nTetiklemek i\u00e7in thingspeak ta haz\u0131rlanan bir thingHTTP iste\u011fi bu \u015fekildedir.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/alarmgeldi_http.PNG?raw=true\" target=\"_blank\" rel=\"lightbox noopener noreferrer\"><img decoding=\"async\" class=\"aligncenter lazyload\" data-src=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/blob\/main\/THINGSPEAK_EV_OTO\/pictures\/alarmgeldi_http.PNG?raw=true\" alt=\"\" width=\"280\" height=\"370\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 280px; --smush-placeholder-aspect-ratio: 280\/370;\" \/><\/a><br \/>\n<strong><span style=\"color: #ff0000;\">NOT:<\/span> <\/strong><span style=\"color: #ff0000;\">GA ve ALEXA<\/span> ile ev otomasyon yaz\u0131mda firebase sitesi i\u00e7in <span style=\"color: #ff6600;\">MIT APP INVENTOR<\/span> ile program \u00f6rne\u011fi vermi\u015ftim. BU \u00f6rnekte Firebase k\u00fct\u00fcphanesini kullanm\u0131\u015ft\u0131m. Fakat <span style=\"color: #ff6600;\">THINGSPEAK<\/span> kullan\u0131yorsan\u0131z sadece bir web blo\u011fu kullanarak web iste\u011fi ile istedi\u011finiz veriyi firebase \u00fczerine yazabilirsiniz. Ya da okuyabilirsiniz. Bunu yaparken <span style=\"color: #ff6600;\">THINGHTTP<\/span> \u00f6zelli\u011fini kullan\u0131rs\u0131n\u0131z.<br \/>\n\u0130\u015finiz daha da kolayla\u015fm\u0131\u015f olur. isterseniz thingspeak kanal g\u00f6r\u00fcnt\u00fclerini de benim <strong><span style=\"color: #ff6600;\">denewebpage.html<\/span><\/strong> de yapt\u0131\u011f\u0131m gibi lamba g\u00f6r\u00fcnt\u00fcs\u00fc olarak da kullanabilirsiniz. Yani kanal g\u00fcncellendi\u011finde ekran\u0131n\u0131zdaki lambalar da otomatik olarak g\u00fcncellenir. Bir \u015fey yapman\u0131za gerek kalmaz. Bu tip internet sayfan\u0131z\u0131 internette bir siteye koyarsan\u0131z ister telefonunuzdan isterse pc nizden kontrol edebilirsiniz. Ya da isterseniz http iste\u011finden gelen verilere g\u00f6re kendiniz de ekran resimlerini g\u00fcncellersiniz.<\/p>\n<p><a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/tree\/main\/THINGSPEAK_EV_OTO\" target=\"_blank\" rel=\"noopener\"><strong>T\u00dcM PROGRAMLARA BURADAN ULA\u015eAB\u0130L\u0130RS\u0130N\u0130Z.\u00a0<\/strong><\/a><\/p>\n<p><strong><span style=\"color: #ff6600;\">video_1: THINGSPEAK nas\u0131l kullan\u0131l\u0131r.<\/span><\/strong><iframe title=\"THINGSPEAK EV OTOMASYON part_1\" data-src=\"https:\/\/www.youtube.com\/embed\/jsKR60XJXgk\" width=\"956\" height=\"538\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/p>\n<p><strong><span style=\"color: #ff6600;\">video_2: THINGSPEAK ile EV OTOMASYONU nas\u0131l yap\u0131l\u0131r.<\/span><\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>Arduino ve ESP, TX RX \u00fczerinden donan\u0131msal seri olarak birbirine ba\u011fl\u0131. Led ve Buton pimleri ise program i\u00e7erisinde yaz\u0131yor. Butonlara PULL UP diren\u00e7leri ba\u011flamal\u0131s\u0131n\u0131z. <\/strong><\/span><\/p>\n<p><iframe title=\"THINGSPEAK EV OTOMASYON part_2\" data-src=\"https:\/\/www.youtube.com\/embed\/LLxvqzmgEmw\" width=\"956\" height=\"538\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><br \/>\n&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thingspeak sitesi y\u0131llard\u0131r var. Ge\u00e7ti\u011fimiz y\u0131llarda buraya esp01 kullanarak nas\u0131l kay\u0131t yap\u0131ld\u0131\u011f\u0131n\u0131 ve al\u0131nd\u0131\u011f\u0131n\u0131 yazm\u0131\u015ft\u0131m. Fakat son y\u0131llarda kendisini \u00e7ok geli\u015ftirmi\u015f. Yani teknoloji ve zamana ayak uydurmu\u015f. Biz amat\u00f6rler i\u00e7in&#8230; <\/p>\n","protected":false},"author":1,"featured_media":2446,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,19,7],"tags":[],"class_list":["post-2440","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino_pic_digerleri","category-aydinlatma","category-esp"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/comments?post=2440"}],"version-history":[{"count":4,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2440\/revisions"}],"predecessor-version":[{"id":2550,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/2440\/revisions\/2550"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/2446"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=2440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=2440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=2440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}