{"id":1804,"date":"2020-08-28T01:37:38","date_gmt":"2020-08-27T22:37:38","guid":{"rendered":"https:\/\/www.mikrobotik.com\/wp2\/?p=1804"},"modified":"2022-07-31T12:52:44","modified_gmt":"2022-07-31T09:52:44","slug":"esp8266-01-ve-google-e-tablo-ile-dunyanin-her-yerinden-evinizi-kontrol-edin","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2020\/08\/28\/esp8266-01-ve-google-e-tablo-ile-dunyanin-her-yerinden-evinizi-kontrol-edin\/","title":{"rendered":"ESP8266-01 ve google e-tablo ile d\u00fcnyan\u0131n her yerinden evinizi kontrol edin."},"content":{"rendered":"<p>Bu yaz\u0131mda, ESP8266-01 ile t\u00fcm <span style=\"color: #ff0000;\"><strong>arduino, pic, stm, raspberry pi vb<\/strong><\/span>. sistemler ile evden internete, internetten eve, google e-tablo ile ba\u011flant\u0131 kurman\u0131n yolunu anlataca\u011f\u0131m.<br \/>\nArt\u0131k thingspeak gibi yerlere ihtiyac\u0131n\u0131z yok. Ayr\u0131ca <a href=\"https:\/\/www.mikrobotik.com\/wp2\/2018\/08\/10\/esp8266-01-ile-dunyadan-evinize-web-sitenizle-baglanti-kurun\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>bu yaz\u0131mdaki gibi<\/strong> <\/a>web sitesi kuray\u0131m, php \u00f6\u011freneyim, sonra esp mod\u00fcl\u00fcmle site ba\u011flant\u0131s\u0131n\u0131 kuray\u0131m <span style=\"color: #ff0000;\"><strong>demenize de gerek yok.<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #ff6600;\">Google E-tablolar size zaten bu imkan\u0131 sunuyor. Ba\u015fka bir \u015fey araman\u0131za gerek yok.<\/span><\/strong><br \/>\n<span style=\"color: #ff0000;\"><strong>Bu yaz\u0131daki proje neler yapar.<\/strong><\/span><br \/>\n1-) Evin sens\u00f6rlerinden gelen bilgiyi istedi\u011finiz s\u00fcre aral\u0131klar\u0131nda google e-tabloya aktar\u0131r.<br \/>\n2-) Evde sens\u00f6rler yanl\u0131\u015f bir durum oldu\u011funu alg\u0131larsa, kontrolc\u00fc bunu an\u0131nda kar\u015f\u0131 tarafa alarm olarak iletir. Kar\u015f\u0131 taraftaki program ise bu bilgiyi al\u0131p size <span style=\"color: #ff0000;\"><strong>e-mail<\/strong><\/span> g\u00f6nderir. Telefonunuzda gelen e-mail bildirimini aktif etti\u011finizde, <span style=\"color: #ff0000;\"><strong>telefon sizi uyaracakt\u0131r<\/strong>.<\/span> Bu \u015fekilde evdeki durumu \u00e7ok k\u0131sa s\u00fcrede anlay\u0131p \u00a0evdeki duruma m\u00fcdahale edebileceksiniz.<br \/>\n3-) Evde, siz gelmeden baz\u0131 cihazlar\u0131n \u00e7al\u0131\u015fmas\u0131n\u0131 istiyorsan\u0131z, E-tabloya not b\u0131rak\u0131n evdeki kontrolc\u00fc, ilk kontrol\u00fcnde komutunuzu alg\u0131lay\u0131p cihaz\u0131 \u00e7al\u0131\u015ft\u0131racakt\u0131r.<\/p>\n<p><span style=\"color: #ff6600;\"><strong>\u015eimdilik bunlar\u0131 yap\u0131yor sizin hayal g\u00fcc\u00fcn\u00fczle daha bir\u00e7ok \u015fey yapabilir.<\/strong><\/span><\/p>\n<p>ESP8266-01 mod\u00fcl\u00fcn\u00fc arduino ide \u00fczerinde programlayarak kullan\u0131ma haz\u0131r hale getirebilirsiniz. Daha sonras\u0131nda ise ister arduino ister ba\u015fka mikro kontrol kart\u0131 ya da entegresi kullan\u0131n fark etmez. Seri port kullanan herhangi bir cihazdan veriler g\u00f6nderilebilir. <span style=\"color: #ff6600;\">Seri port ile esp01&#8217;e g\u00f6nderdi\u011finiz veriler e-tabloya gider.<\/span><\/p>\n<p><span style=\"color: #ff0000;\"><strong>Nas\u0131l yap\u0131l\u0131yor.<\/strong> <\/span><br \/>\n\u00d6ncelikle google hesab\u0131n\u0131z olmal\u0131. Bu hesapla oturum a\u00e7\u0131p e-tablolardan 1 tane olu\u015fturup ismini de\u011fi\u015ftirin.<br \/>\nDaha sonra bu dosyay\u0131, videodaki gibi web de yay\u0131nla men\u00fcs\u00fcnden yay\u0131nlay\u0131n. \u0130stedi\u011finiz sayfas\u0131n\u0131 yay\u0131nlayabilirsiniz.<br \/>\nDaha sonra ise ara program olarak google script program\u0131na ge\u00e7mek i\u00e7in Ara\u00e7lar men\u00fcs\u00fcnden komut dosyas\u0131 d\u00fczenleyicisini a\u00e7\u0131n ve \u00f6rnek dosyay\u0131 oraya kopyalay\u0131n. Sonras\u0131nda bu program\u0131n ismini de de\u011fi\u015ftirin. Ben etkile\u015fim yaps\u0131n diye e-tablo ismiyle ayn\u0131 yap\u0131yorum.<br \/>\nSon olarak da bu dosyay\u0131 da YAYINLA men\u00fcs\u00fcnden WEB UYGULAMASI OLARAK DA\u011eIT se\u00e7ene\u011fini se\u00e7erek web de eri\u015filebilir duruma getirin.<\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloyayinla1.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox alignleft wp-image-1815 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloyayinla1-159x300.png\" alt=\"\" width=\"212\" height=\"400\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 212px; --smush-placeholder-aspect-ratio: 212\/400;\" \/><\/a><\/p>\n<figure id=\"attachment_1816\" aria-describedby=\"caption-attachment-1816\" style=\"width: 288px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloyayinla.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox wp-image-1816 size-medium lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloyayinla-288x300.png\" alt=\"\" width=\"288\" height=\"300\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 288px; --smush-placeholder-aspect-ratio: 288\/300;\" \/><\/a><figcaption id=\"caption-attachment-1816\" class=\"wp-caption-text\">E*Tablo webde yay\u0131nlama<\/figcaption><\/figure>\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<p>&nbsp;<\/p>\n<figure id=\"attachment_1809\" aria-describedby=\"caption-attachment-1809\" style=\"width: 293px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin2.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox wp-image-1809 size-medium lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin2-293x300.png\" alt=\"\" width=\"293\" height=\"300\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 293px; --smush-placeholder-aspect-ratio: 293\/300;\" \/><\/a><figcaption id=\"caption-attachment-1809\" class=\"wp-caption-text\">Script dosyas\u0131n\u0131n WEB de yay\u0131nlanmas\u0131<\/figcaption><\/figure>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin1.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox alignleft wp-image-1810 size-medium lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin1-300x124.png\" alt=\"\" width=\"300\" height=\"124\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/124;\" \/><\/a><\/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<p>&nbsp;<\/p>\n<p>Kabaca yap\u0131lacaklar bundan ibaret.\u00a0 <span style=\"color: #ff6600;\">Burada dikkat edece\u011finiz nokta e-tablo isminin \u00f6rnek program i\u00e7erisindeki yerine kopyalanmas\u0131d\u0131r.<\/span> Bu kopyalama do\u011fru yap\u0131ld\u0131\u011f\u0131nda siz internetten bir link ile script program\u0131n\u0131 \u00e7a\u011f\u0131rd\u0131\u011f\u0131n\u0131zda, script program\u0131 da bu ismini kopyalad\u0131\u011f\u0131n\u0131z e-tabloyu \u00e7al\u0131\u015ft\u0131r\u0131p bilgilerinizi oraya kay\u0131t eder. Daha sonra ise size kay\u0131t yap\u0131ld\u0131 ya da kontrol yap\u0131yorsan\u0131z b\u0131rak\u0131lan notu g\u00f6nderir.<\/p>\n<figure id=\"attachment_1817\" aria-describedby=\"caption-attachment-1817\" style=\"width: 580px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloisimkopya.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox wp-image-1817 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloisimkopya-300x15.png\" alt=\"\" width=\"580\" height=\"29\" data-srcset=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloisimkopya-300x15.png 300w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloisimkopya-1024x52.png 1024w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloisimkopya-768x39.png 768w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/tabloisimkopya.png 1044w\" data-sizes=\"(max-width: 580px) 100vw, 580px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 580px; --smush-placeholder-aspect-ratio: 580\/29;\" \/><\/a><figcaption id=\"caption-attachment-1817\" class=\"wp-caption-text\"><span style=\"color: #ff6600;\">e-tablo isminin bu k\u0131sm\u0131n\u0131 kopyalay\u0131p script dosyas\u0131na yap\u0131\u015ft\u0131racaks\u0131n\u0131z. <\/span><\/figcaption><\/figure>\n<p><span style=\"color: #ff0000;\"><strong>Program\u0131n a\u00e7\u0131klamas\u0131.<br \/>\n<\/strong><\/span>Bir \u00e7ok bilgi zaten program i\u00e7inde var. Kolay anla\u015f\u0131labilir bir programlama. Fakat baz\u0131 yerleri a\u00e7\u0131klamam gerek.<br \/>\nBu komut ( var stat = add_data(e); ) \u00a02 i\u015flevi bir arada g\u00f6r\u00fcyor. Birincisi add_data(e) fonksiyonuna gidiyor. \u0130kinci i\u015flev ise fonksiyondan geri d\u00f6nen de\u011feri stat de\u011fi\u015fkenine aktar\u0131yor. Sonrada d\u00f6nen de\u011feri kar\u015f\u0131la\u015ft\u0131r\u0131yor. Geri d\u00f6nen de\u011fer (return 1;) komutundaki 1 de\u011feridir.<\/p>\n<p>Bu sat\u0131r ise ( var str_koor=(&#8216;F&#8217;+(id+2)) ) \u00a0Hangi h\u00fccreye bilgi yazacaksan\u0131z bu gelen de\u011fi\u015fkene ba\u011fl\u0131 olarak de\u011fi\u015fsin derseniz bu \u015fekilde string olarak birle\u015ftirilir. (id gelen bilgidir. F ise yaz\u0131lacak h\u00fccrenin s\u00fctun de\u011feridir. \u0130d=2 dersek F2 h\u00fccresine bilgi yaz demektir. )<br \/>\ne-tabloda zaten bu i\u015flemi g\u00f6rebileceksiniz. Sat\u0131rdaki bilginin yan\u0131na F3, F5 gibi rakamlar bu \u015fekilde yaz\u0131lm\u0131\u015ft\u0131r.<br \/>\nDoGet fonksiyonu gelen komutlar\u0131 al\u0131r ve komut ,veri olarak ay\u0131r\u0131r. Olu\u015fturdu\u011fumuz istek linkinde<br \/>\nhttps:\/\/script.google.com\/macros\/s\/AKfycbx8cDfmRNftAuMDpGASaTfZElu_bjiQ_U7wCSQ30rTjKL5EnQU\/exec?func=addData&#038;id=5&#038;val=26.34<br \/>\nlink sonundaki (<strong>func=addData<\/strong>) addData fonksiyonuna gitmesi gerekti\u011fini s\u00f6yler. Buraya <strong>func=kontrol, func=alarm<\/strong> komutlar\u0131 konuyor. Yani gelen iste\u011fin hangi fonksiyonu kullanmas\u0131 gerekti\u011fini istek sat\u0131r\u0131nda belirtiyoruz. Yan\u0131nda bulunan <strong>&amp;id=5&amp;val=26.34 <\/strong>bilgileri ise fonksiyonda kullan\u0131lan veriler. <strong>\u0130D=<\/strong>sens\u00f6r numaras\u0131 olarak kulland\u0131m, <strong>VAL=<\/strong>sens\u00f6r de\u011feri olarak kulland\u0131m.<\/p>\n<p>Bu link\u2019i web sayfas\u0131nda adres \u00e7ubu\u011funa kopyalarsan\u0131z, size sayfadaki kullan\u0131c\u0131n\u0131n eve g\u00f6nderdi\u011fi bilgileri verir.<br \/>\n<a href=\"https:\/\/script.google.com\/macros\/s\/AKfycbx8cDfmRNftAuMDpGASaTfZElu_bjiQ_U7wCSQ30rTjKL5EnQU\/exec?func=kontrol&amp;id=1&amp;val=1\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/script.google.com\/macros\/s\/AKfycbx8cDfmRNftAuMDpGASaTfZElu_bjiQ_U7wCSQ30rTjKL5EnQU\/exec?func=kontrol&amp;id=1&amp;val=1<\/a><\/p>\n<p>\u00c7\u00fcnk\u00fc kontrol et dedik. E-tabloda bulunan kullan\u0131c\u0131 emirlerini al dedik. Bu fonksiyonda id ve val bilgileri kullan\u0131lm\u0131yor. Yazmayabiliriz. Fakat programda fazla sat\u0131r kullanmamak i\u00e7in di\u011ferlerine uyduruldu.<br \/>\nBu gelen bilgi programda tek cihaz i\u00e7in ayarland\u0131. Fakat sizler kontrol fonksiyonunu geli\u015ftirerek birden fazla cihaz bilgisini alabilecek duruma getirebilirsiniz. Buradan g\u00f6nderilen bilgiler JSON koduyla geldi\u011finden isterseniz JSON PARSE gibi k\u00fct\u00fcphaneleri kullanabilirsiniz ya da bilgileri ay\u0131klamak i\u00e7in farkl\u0131 \u00e7\u00f6z\u00fcm yollar\u0131 bulabilirsiniz.<\/p>\n<p><strong>\u00d6nemli konulardan biri,<\/strong> SCRIPT program\u0131n\u0131n \u00e7al\u0131\u015fma \u015feklidir. Programda bir de\u011fi\u015fiklik yaparsan\u0131z bunu kay\u0131t edersiniz. Fakat bu program web yay\u0131nlama yaparken s\u00fcr\u00fcm bilgisi ile yay\u0131n yapar. Programda yap\u0131lan de\u011fi\u015fikli\u011fin web \u00fczerinde yay\u0131mlanmas\u0131 i\u00e7in sadece de\u011fi\u015fikli\u011fi kaydetmek yetmiyor. Yeni s\u00fcr\u00fcm olarak kaydetmeniz gerekiyor. Tabii ki bu kaydetti\u011finiz s\u00fcr\u00fcm\u00fc de yeniden yay\u0131nlaman\u0131z gerekiyor. Bu yay\u0131mlama i\u015flemi sonunda yay\u0131mlanan adresler de\u011fi\u015fmedi\u011fi i\u00e7in hi\u00e7bir yerde payla\u015f\u0131lan adresin de\u011fi\u015ftirilmesine gerek kalm\u0131yor. Sadece web de yeni s\u00fcr\u00fcm\u00fc yay\u0131nla demeniz yetiyor.<\/p>\n<figure id=\"attachment_1808\" aria-describedby=\"caption-attachment-1808\" style=\"width: 300px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/surumyonet1.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox wp-image-1808 size-medium lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/surumyonet1-300x244.png\" alt=\"\" width=\"300\" height=\"244\" data-srcset=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/surumyonet1-300x244.png 300w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/surumyonet1-768x624.png 768w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/surumyonet1.png 909w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/244;\" \/><\/a><figcaption id=\"caption-attachment-1808\" class=\"wp-caption-text\">save new version butonunu kulland\u0131\u011f\u0131n\u0131zda s\u00fcr\u00fcm numaras\u0131 1 artar<\/figcaption><\/figure>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/surumyonet.jpg\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox wp-image-1807 size-medium alignleft lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/surumyonet-300x258.jpg\" alt=\"\" width=\"300\" height=\"258\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/258;\" \/><\/a><\/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<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin1.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox alignleft wp-image-1810 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin1-300x124.png\" alt=\"\" width=\"336\" height=\"139\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 336px; --smush-placeholder-aspect-ratio: 336\/139;\" \/><\/a><\/p>\n<figure id=\"attachment_1809\" aria-describedby=\"caption-attachment-1809\" style=\"width: 293px\" class=\"wp-caption alignright\"><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin2.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox wp-image-1809 size-medium lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/webyayin2-293x300.png\" alt=\"\" width=\"293\" height=\"300\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 293px; --smush-placeholder-aspect-ratio: 293\/300;\" \/><\/a><figcaption id=\"caption-attachment-1809\" class=\"wp-caption-text\">Project version k\u0131sm\u0131nda son verilen s\u00fcr\u00fcm numaras\u0131n\u0131 se\u00e7ip G\u00fcncelle butonuna bas\u0131l\u0131r.<\/figcaption><\/figure>\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<p>&nbsp;<\/p>\n<p>Program\u0131n en ba\u015f\u0131ndaki olu\u015fturulan de\u011fi\u015fkenler, global de\u011fi\u015fken dedi\u011fimiz program\u0131n her yerinde kullan\u0131lan de\u011fi\u015fkenlerdir. Fonksiyon i\u00e7erisinde tan\u0131mlanan de\u011fi\u015fkenler sadece fonksiyon i\u00e7erisinde kullan\u0131lan de\u011fi\u015fkenlerdir. Ben kullan\u0131c\u0131dan girilen de\u011fi\u015fkenlerin fonksiyon i\u00e7erisinde olu\u015fturulup da\u011f\u0131t\u0131lmas\u0131n\u0131 istemedi\u011fim i\u00e7in bu bilgileri global olarak tan\u0131mlad\u0131m.<br \/>\nProgramda DoGet fonksiyonu i\u00e7erisinde bulunan geri bildirim komut sat\u0131rlar\u0131 vard\u0131r. Bunlar di\u011fer fonksiyonlardan geri d\u00f6nen bilgileri istek yapan ki\u015fiye geri d\u00f6nd\u00fcr\u00fclmesini sa\u011flarlar.<br \/>\nif(mo == &#8220;kontrol&#8221;)<br \/>\n{\u00a0\u00a0 kontrol(e);<br \/>\nvar params={&#8220;Cihaz ADI&#8221;:cihazad1,&#8221;Cihaz No&#8221;:cihazno1,&#8221;Cihaz Durumu&#8221;:cihazdur1} \/\/ bu de\u011fi\u015fkenler global de\u011fi\u015fkendir. her fonksiyonda ortak kullan\u0131labilir.<br \/>\nparams = JSON.stringify(params);<br \/>\nreturn ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);<\/p>\n<p>}<\/p>\n<p><strong>Yukar\u0131daki kar\u015f\u0131la\u015ft\u0131rma sat\u0131rlar\u0131 \u015funu anlat\u0131r.<\/strong> Gelen istekte, kontrol kelimesi varsa kontrol fonksiyonuna git. Sonras\u0131nda fonksiyondan d\u00f6nen cihazad1,cihazno1,cihazdur1 de\u011fi\u015fkenlerinin de\u011ferlerini istek yapan yere geri g\u00f6nder.<br \/>\nDi\u011fer kar\u015f\u0131la\u015ft\u0131rma i\u015flemleri de bu \u015fekilde devam eder.<\/p>\n<p>Programdaki,<strong> e.parameter.func<\/strong> gelen istek sat\u0131r\u0131nda func=kontrol gibi, hangi fonksiyon isminin bulundu\u011fu bilgisini tutar.<br \/>\ne.parameter.id ise istek sat\u0131r\u0131ndaki birinci veriyi temsil eder.<br \/>\ne.parameter.val ise istek sat\u0131r\u0131ndaki ikinci veriyi temsil eder.<br \/>\n\u015eayet daha fazla de\u011fi\u015fkeni istek sat\u0131r\u0131nda kulland\u0131ysan\u0131z, burada da program i\u00e7inde tan\u0131mlaman\u0131z gerek.<\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/e-tablo_resim.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1806 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/e-tablo_resim-300x90.png\" alt=\"\" width=\"347\" height=\"104\" data-srcset=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/e-tablo_resim-300x90.png 300w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/e-tablo_resim-1024x307.png 1024w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/e-tablo_resim-768x230.png 768w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/e-tablo_resim.png 1346w\" data-sizes=\"(max-width: 347px) 100vw, 347px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 347px; --smush-placeholder-aspect-ratio: 347\/104;\" \/><\/a><\/p>\n<p><strong>e-tablo<\/strong> \u00f6rnek resim yukar\u0131dad\u0131r. Bu resimde en soldaki sens\u00f6r verileri 4. sat\u0131rdan itibaren ba\u015flam\u0131\u015ft\u0131r. Bunun sebebi ise script program\u0131nda data eklenirken appendrow komutu kullan\u0131lmas\u0131. Bu komut verilerin alt\u0131ndaki ilk bo\u015flu\u011fa yaz demektir. e-tabloda sa\u011f tarafta sar\u0131 b\u00f6lge kullan\u0131c\u0131n\u0131n eve g\u00f6ndermek istedi\u011fi bilgileri kapsad\u0131\u011f\u0131ndan appendrow o bilgilerin de alt\u0131ndan ba\u015flayaca\u011f\u0131 i\u00e7in 4. sat\u0131rdan itibaren ba\u015flam\u0131\u015ft\u0131r. Sizler sar\u0131 b\u00f6lgeye kontrol edilecek cihaz listesini uzatacaksan\u0131z\u00a0 listenizde daha alt sat\u0131rlardan yazmaya ba\u015flanacakt\u0131r.<\/p>\n<p>ESP program\u0131na ba\u015flarken \u015funu dikkate almal\u0131y\u0131z. HTTPS SSL ba\u011flant\u0131s\u0131 i\u00e7in baz\u0131 yap\u0131lmas\u0131 gereken \u015feyler vard\u0131r. Her zamanki kulland\u0131\u011f\u0131m #include &lt;WiFiClientSecure.h&gt; k\u00fct\u00fcphanesi e-tabloya bilgi g\u00f6nderebiliyor fakat tablodan bilgi alam\u0131yordu. Geri gelen bilgiye bakt\u0131\u011f\u0131m\u0131zda 302 ya da 307 gibi kodlar veriyordu. Bu kodlar redirect gibi bir i\u015flemin yap\u0131lamad\u0131\u011f\u0131n\u0131 belirtiyordu. Bunu yapamazsak evden internete bilgi g\u00f6nderebiliyoruz fakat internetten eve bilgi g\u00f6nderemiyordum.<br \/>\nEski k\u00fct\u00fcphaneyi, a\u015fa\u011f\u0131da linkini verdi\u011fim HTTPSRedirect.h k\u00fct\u00fcphanesi ile de\u011fi\u015ftirdim. Bu k\u00fct\u00fcphane bilgileri hem g\u00f6nderiyor hem de alabiliyor.<br \/>\n<a href=\"https:\/\/github.com\/electronicsguy\/ESP8266\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>ESP8266-01 mod\u00fcl\u00fcn\u00fc Arduin0 ide ile programlamak i\u00e7in kullan\u0131lacak k\u00fct\u00fcphane<\/strong><\/a><\/p>\n<p>Arduino ide \u00fczerinde benim esp8266-01 mod\u00fcl\u00fcm\u00fc programlamak i\u00e7in kulland\u0131\u011f\u0131m ayarlar. Sizler esp nin daha \u00fcst versiyonlar\u0131n\u0131 kullan\u0131yorsan\u0131z burada de\u011fi\u015fiklik yapabilirsiniz.<\/p>\n<p><a href=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/ide_esp_kart_bilgi.png\" rel=\"lightbox[1804]\"><img decoding=\"async\" class=\"lightbox aligncenter wp-image-1811 size-medium lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/ide_esp_kart_bilgi-255x300.png\" alt=\"\" width=\"255\" height=\"300\" data-srcset=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/ide_esp_kart_bilgi-255x300.png 255w, https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2020\/08\/ide_esp_kart_bilgi.png 635w\" data-sizes=\"(max-width: 255px) 100vw, 255px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 255px; --smush-placeholder-aspect-ratio: 255\/300;\" \/><\/a><\/p>\n<p>Arduino esp kart bilgilerini y\u00fcklerken farkl\u0131 versiyonlar y\u00fcklemi\u015f olabilirsiniz. Bu tabloya yak\u0131n bir tablo g\u00f6r\u00fcnebilir. Baz\u0131 bilgiler de\u011fi\u015fik ya da eksik olabilir. Dikkat etmenizi \u00f6neririm.<\/p>\n<p>ESP yi Arduino ide ile nas\u0131l programlar\u0131m diyorsan\u0131z<a href=\"https:\/\/www.mikrobotik.com\/wp2\/2020\/02\/28\/arduino-usb-seri-cevirici-olarak-kullanmak\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong> bu link&#8217;e bak\u0131n.\u00a0<\/strong><\/a><\/p>\n<p>ESP8266-01 mod\u00fcl\u00fcyle daha yeni tan\u0131\u015ft\u0131m diyorsan\u0131z <a href=\"https:\/\/www.mikrobotik.com\/wp2\/2018\/06\/03\/esp8266-01e-giris\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>bu link&#8217;e bak\u0131n.<\/strong><\/a><\/p>\n<p>ESP8266-01 ile yaz\u0131lan t\u00fcm yaz\u0131lara ula\u015fmak isterseniz de <a href=\"https:\/\/www.mikrobotik.com\/wp2\/category\/esp\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Bu link&#8217;i kullanabilirsiniz.<\/strong><\/a><\/p>\n<p><strong><span style=\"color: #ff0000;\">Not<\/span> <\/strong>kullan\u0131lan e-tablo google drive i\u00e7erisinde g\u00f6r\u00fcn\u00fcr. Fakat script program google drive i\u00e7erisinde g\u00f6r\u00fcnmez. Sadece e-tablo dosyas\u0131n\u0131n i\u00e7ine g\u00f6m\u00fclm\u00fc\u015ft\u00fcr.<br \/>\nAyr\u0131ca bu tip uygulamalarda, ba\u011flant\u0131lar\u0131 esp olmadan deneyerek kontrol edebilmek i\u00e7in POSTMAN program\u0131n\u0131 kullanabilirsiniz. \u00c7ok faydas\u0131n\u0131 g\u00f6receksiniz. Hatta oradan ald\u0131\u011f\u0131n\u0131z kodlar ESP haberle\u015fmesinde kullan\u0131labilecektir. Denemelerde ESP ye defalarca y\u00fckleme yapmadan e-tablo eri\u015fimini kolayl\u0131kla sa\u011flayacak ve script program\u0131n\u0131n do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 kolayl\u0131kla test edebileceksiniz. <a href=\"https:\/\/www.postman.com\/downloads\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>POSTMAN program\u0131n\u0131 buradan indirebilirsiniz.\u00a0<\/strong><\/a><\/p>\n<p><span style=\"color: #ff6600;\">Bunlar\u0131n yan\u0131 s\u0131ra MIT APP INVENTOR ile google e-tabloya otomatik olarak ula\u015f\u0131p bilgilerinizi g\u00f6rmenizi sa\u011flayan \u00f6rnek programlar var.<\/span> Fakat bunu <span style=\"color: #ff0000;\"><strong>gereksiz buluyorum<\/strong><\/span> \u00e7\u00fcnk\u00fc telefon \u00fczerinde k\u0131sa yol olu\u015fturarak google e-tabloya k\u0131sa zamanda ula\u015f\u0131labilir. ALARM konusu da g-mail bildirim ile halledildi\u011fine g\u00f6re, b\u00f6yle bir uygulamaya gerek olmayacakt\u0131r. Diye d\u00fc\u015f\u00fcnd\u00fc\u011f\u00fcmden \u00f6rnek vermedim. \u0130nternette bu tip \u00f6rnekler mevcut. Gerekiyorsa kolayl\u0131kla yapabilirsiniz.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-title=\"esp_gonder_scr.gs\" data-enlighter-group=\"yes\">var b=8;\r\n\r\nvar cihazno1=0\r\nvar cihazdur1=\"\"\r\nvar cihazad1=\"\"\r\nvar mo=''\r\n\/\/ ***************   bu fonksiyon i\u015flem tamamland\u0131\u011f\u0131nda geri bilgi g\u00f6nderir.  ***************************\r\nfunction doGet(e) \r\n{\r\n   mo = e.parameter.func;\r\n  if(mo == \"addData\")\r\n  {\r\n    var stat = add_data(e); \/\/ stat geri d\u00f6nen de\u011fere bak\u0131yor do\u011fru bir \u015fekilde i\u015flem yap\u0131ld\u0131ysa stat 1 olacakt\u0131r. \u00e7\u00fcnk\u00fc return 1 komutuyla fonksiyon bitiyor. \r\n    if(stat == 1)\r\n    {\r\n      var result = \r\n      {\r\n        status : true\r\n      };\r\n      return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JSON);\r\n    }\r\n  }\r\n  \r\n\r\n  \r\n  if(mo == \"kontrol\")\r\n  {\r\n  \r\n    kontrol(e);\r\n    var params={\"Cihaz ADI\":cihazad1,\"Cihaz No\":cihazno1,\"Cihaz Durumu\":cihazdur1} \/\/ bu de\u011fi\u015fkenler global de\u011fi\u015fkendir. her fonksiyonda ortak kullan\u0131labilir.\r\n    params = JSON.stringify(params);\r\n  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);\r\n  }  \r\n  \r\n  \r\n  \r\n   if(mo == \"alarm\")\r\n  {\r\n \r\n    \r\n    var stat = alarm(e);\r\n    b=stat;\r\n    if(stat == 1)\r\n   {\r\n      var result = \r\n      {\r\n        status : true,alarm_sens\u00f6r : e.parameter.id,Sensor_Deger :e.parameter.val\r\n      };\r\n   \r\n      return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JSON);\r\n    }\r\n  }\r\n}\r\n\r\n\r\n\r\n\r\n\/\/ ***************   Cihaz kontrol ba\u015flang\u0131c\u0131 ***************************\r\nfunction kontrol(e)  \/\/cihaz kontrol\r\n{\r\n\r\n  var sheet = SpreadsheetApp.openByUrl('https:\/\/docs.google.com\/spreadsheets\/d\/1JezXjzcw1T561VzaelgLmRCjStEziIa6cvzniPaqNWQ\/edit#gid=0');\r\n\r\n  cihazad1 = sheet.getRange('G3').getValue();\r\ncihazno1 = sheet.getRange('H3').getValue();\r\ncihazdur1 = sheet.getRange('I3').getValue();\r\n\r\n   return\r\n\r\n}\r\n\r\n\/\/ ***************   Cihaz kontrol sonu ***************************\r\n\r\n\r\n\r\n\r\n\/\/ ***************   e-mail gonderme alarm i\u00e7in. ***************************\r\n\r\nfunction alarm(e)  \/\/ e-mail gonder. \r\n{\r\nadd_data(e);\r\n  \r\n      var emailAddress = '97safak@gmail.com'; \/\/ Sadece gmail hesab\u0131 i\u00e7in. \r\n  var message = 'ALARM '+'SENS\u00d6R NUMARASI : '+e.parameter.id+'  SENS\u00d6R DE\u011eER\u0130 : '+e.parameter.val; \/\/ Second column\r\n    var subject = 'EVDEK\u0130 SENS\u00d6R ALARM VERD\u0130';\r\n    MailApp.sendEmail(emailAddress, subject, message);\r\n\r\n  return 1;\r\n}\r\n\r\n\/\/ ***************   e-mail gonderme son. ***************************\r\n\r\n\r\n\/\/ ***************   veri ekleme b\u00f6l\u00fcm\u00fc . ***************************\r\nfunction add_data(e)\r\n{\r\n  var sheet = SpreadsheetApp.openByUrl('https:\/\/docs.google.com\/spreadsheets\/d\/1JezXjzcw1T561VzaelgLmRCjStEziIa6cvzniPaqNWQ\/edit#gid=0');\r\n \/\/ var lastVal = sheet.getRange(\"A1:A\").getValues();\r\n \/\/ var id = lastVal.filter(String).length;\r\nvar id = e.parameter.id;\r\n\r\n  var CurrentDate = new Date() \/\/ new Date();\r\n  \r\n  var Date_ = Utilities.formatDate(CurrentDate, \"GMT+3\", \"dd\/MM\/YYYY\");\r\n  var Time_ = Utilities.formatDate(CurrentDate, \"GMT+3\", \"HH:mm:ss\");\r\n\r\n  if(mo == \"alarm\")\r\n  {\r\n  sheet.appendRow([ id, Date_, Time_,e.parameter.val,'ALARM']); \/\/e.parameter.val\r\n  }\r\n  \r\n  if(mo == \"addData\")\r\n  {\r\n  sheet.appendRow([ id, Date_, Time_, e.parameter.val]); \/\/e.parameter.val\r\n  }\r\n\/\/ ***************   veri ekleme sonu  en alt sat\u0131ra ekler.  ***************************  \r\n  \r\n  \r\n  \r\n    \/\/ buras\u0131 istedi\u011fimiz h\u00fccreye de\u011fi\u015fken ba\u011flant\u0131l\u0131 kay\u0131t yapma \u00f6rne\u011fidir. \r\n\/\/ mesela F h\u00fccresinden 5. sens\u00f6r bilgisi i\u00e7in F5 h\u00fccresine veri girilmesi gerekebilir. \r\n\/\/ bunun yolunu g\u00f6sterir. \r\n  \r\n  \r\n \r\n \r\n  var lastVal = sheet.getRange(\"A1:A\").getValues();\r\n  var id = lastVal.filter(String).length;\r\n  var str_koor=('F'+(id+2))  \/\/ bu sat\u0131r string olarak h\u00fccre numaras\u0131n\u0131 olu\u015fturur. mesela F s\u00fctunu ve 5. sens\u00f6r 5. sat\u0131rda olacak \u015fekilde\r\n                         \/\/ F5 koordinat\u0131n\u0131 olu\u015fturur. \r\n  sheet.getRange('F2').setValue(str_koor);\r\n  sheet.getRange('G10').setValue(\"deneme\");\r\n \r\n  sheet.getRange(str_koor).setValue('F'+(id+2));\r\n  \r\n  return 1;\r\n}\r\n\r\n<\/pre>\n<p><strong>ESP01 mod\u00fcle g\u00f6nderilecek komutlar.<\/strong> Aralardaki <span style=\"color: #ff0000;\"><strong>virg\u00fcl \u00f6nemlidir<\/strong><\/span>. Dikkat edin.<br \/>\n<span style=\"color: #ff0000;\"><strong>addData,2,34.94<\/strong><\/span>\u00a0 \u00a0 \u00a0 \/\/ bu komut e-tabloya gidecek olan ve altalta eklenecek olan kay\u0131tlar i\u00e7indir.\u00a0 2=sens\u00f6r no ,\u00a0 \u00a034,94 ise sens\u00f6r de\u011feridir.<br \/>\n<span style=\"color: #ff6600;\">Geri d\u00f6nen de\u011fer :<\/span><br \/>\n<strong>{<\/strong><br \/>\n<strong>&#8220;status&#8221;: true<\/strong><br \/>\n<strong>}<\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>alarm,3,70.1<\/strong><\/span>\u00a0 \u00a0 \u00a0 \/\/ Bu komut sadece alarm i\u00e7in kullan\u0131l\u0131r bu komutla script dosyas\u0131 e-mail g\u00f6nderir. 3= sens\u00f6r no,\u00a0 \u00a0 70.1 ise sens\u00f6r de\u011feridir.\u00a0<strong><br \/>\n<\/strong><span style=\"color: #ff6600;\">Geri d\u00f6nen de\u011fer :<\/span><strong><br \/>\n{<br \/>\n&#8220;status&#8221;: true,<br \/>\n&#8220;alarm_sens\u00f6r&#8221;: &#8220;10&#8221;,<br \/>\n&#8220;Sensor_Deger&#8221;: &#8220;85.34&#8221;<br \/>\n}<br \/>\n<\/strong><\/p>\n<p><span style=\"color: #ff0000;\"><strong>kontrol,0,0\u00a0 \u00a0 \u00a0 \u00a0 <\/strong><\/span>\/\/ Bu komut ise kullan\u0131c\u0131n\u0131n internet \u00fczerinden evdeki kontrolc\u00fcye iletmek istedi\u011fi komutlar\u0131 al\u0131r.<br \/>\n<span style=\"color: #ff6600;\">Geri d\u00f6nen de\u011fer :<\/span><br \/>\n<strong>{<\/strong><br \/>\n<strong>&#8220;Cihaz ADI&#8221;: &#8220;klima&#8221;,<\/strong><br \/>\n<strong>&#8220;Cihaz No&#8221;: 5,<\/strong><br \/>\n<strong>&#8220;Cihaz Durumu&#8221;: &#8220;ON&#8221;<\/strong><br \/>\n<strong>}<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\"><strong>Faydal\u0131 linkler<\/strong><\/span> :<br \/>\n<a href=\"https:\/\/developers.google.com\/apps-script\/reference\/spreadsheet\/sheet\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>https:\/\/developers.google.com\/apps-script\/reference\/spreadsheet\/sheet<\/strong><\/a><\/p>\n<p>Bu sayfadaki \u00f6rnek bilgi g\u00f6nderiyor alam\u0131yordu. Sonras\u0131nda farkl\u0131 bir k\u00fct\u00fcphane buldum onunla denedim Hem veri g\u00f6nderiyor hem de al\u0131yor. <a href=\"https:\/\/electrosome.com\/updating-sensor-data-google-spreadsheet-esp8266-iot-project\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Buradaki link sadece veri g\u00f6nderen programd\u0131r.\u00a0<\/strong><\/a><\/p>\n<p>Buradaki link ise <a href=\"https:\/\/github.com\/electronicsguy\/ESP8266\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>https olarak veri g\u00f6nderip alabilen bir k\u00fct\u00fcphaneye sahip.<\/strong><\/a>\u00a0 bu k\u00fct\u00fcphane videoda g\u00f6sterilen program\u0131n k\u00fct\u00fcphanesidir.<\/p>\n<p><a href=\"https:\/\/drive.google.com\/drive\/folders\/1wLRRkSPxZtP67VCRqvJQGc59pbV_8ISr?usp=sharing\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>Bu konu ile ilgili dosyalar buradad\u0131r.\u00a0<\/strong><\/a><\/p>\n<p>Videodaki <a href=\"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vQvg3ygfl2dLOSJmWZUqO_PBiXiMb5mZdUkyC5xst53vHaqbYbGTFL0b1vhi1AeJXQq0gy91Y5-5_Qb\/pubhtml?gid=0&amp;single=true\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>e-tablonun internet sayfas\u0131ndan ula\u015fabilece\u011finiz link&#8217;i budur.<\/strong><\/a><br \/>\nBu linki kulland\u0131\u011f\u0131n\u0131zda internet sayfas\u0131nda t\u00fcm tabloyu g\u00f6r\u00fcrs\u00fcn\u00fcz. Fakat de\u011fi\u015fiklik yapamazs\u0131n\u0131z.<\/p>\n<p><span style=\"color: #ff0000;\">1.video : Google e-tablo ve Script dosyalar\u0131n\u0131n olu\u015fturulmas\u0131 ve yay\u0131nlanmas\u0131.<\/span><iframe data-src=\"https:\/\/www.youtube.com\/embed\/iMLJQiC0o4U\" width=\"644\" height=\"362\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><br \/>\n<span style=\"color: #ff0000;\">2.video :\u00a0 ESP01 mod\u00fcl ile google e-tabloya bilgi g\u00f6nderip alma.\u00a0<\/span><br \/>\n<iframe data-src=\"https:\/\/www.youtube.com\/embed\/thmcsYuyykw\" width=\"644\" height=\"362\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><br \/>\nL\u00fctfen eksik kald\u0131 dedi\u011finiz nokta varsa ya da eklemek istedikleriniz varsa yorum k\u0131sm\u0131na not b\u0131rak\u0131n ki konuyu okuyan di\u011fer arkada\u015flar sizin yorumlar\u0131n\u0131zdan faydalans\u0131n.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu yaz\u0131mda, ESP8266-01 ile t\u00fcm arduino, pic, stm, raspberry pi vb. sistemler ile evden internete, internetten eve, google e-tablo ile ba\u011flant\u0131 kurman\u0131n yolunu anlataca\u011f\u0131m. Art\u0131k thingspeak gibi yerlere ihtiyac\u0131n\u0131z yok&#8230;. <\/p>\n","protected":false},"author":1,"featured_media":1824,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7,3,5],"tags":[],"class_list":["post-1804","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-esp","category-pic","category-raspi"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1804","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=1804"}],"version-history":[{"count":3,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1804\/revisions"}],"predecessor-version":[{"id":2387,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1804\/revisions\/2387"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/1824"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=1804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=1804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=1804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}