{"id":1177,"date":"2019-03-20T17:11:52","date_gmt":"2019-03-20T17:11:52","guid":{"rendered":"http:\/\/mikrobotik.com\/wp2\/?p=1177"},"modified":"2019-03-25T11:49:20","modified_gmt":"2019-03-25T11:49:20","slug":"easylcd_esp8266_01_php_mail_kontrol","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2019\/03\/20\/easylcd_esp8266_01_php_mail_kontrol\/","title":{"rendered":"EASYLCD\/ESP8266-01\/Nodemcu\/PHP ile Maillerinizin kontrol\u00fc."},"content":{"rendered":"<p>Yeni mailleriniz var m\u0131 diye, bilgisayar\u0131n\u0131zdan ya da telefonunuzdan program a\u00e7man\u0131za gerek kalmadan, devaml\u0131 sizin yerinize ESP8266-01 Kontrol etsin. EASYLCD mod\u00fcl kullanan LCD nize, okunmam\u0131\u015f maillerinizin, hem adedini hem de konu ba\u015fl\u0131klar\u0131n\u0131 yazs\u0131n ister misiniz?<\/p>\n<p><strong>Not:<\/strong> <span style=\"color: #ff6600;\">Bu mail hesab\u0131 deneme olarak a\u00e7\u0131lm\u0131\u015ft\u0131r. 1 ayl\u0131\u011f\u0131na a\u00e7\u0131k kalacakt\u0131r.<\/span> <strong><span style=\"color: #ff0000;\">Yanl\u0131\u015f kullan\u0131mlardan, Kullanan ki\u015filer sorumludur.<\/span><\/strong> Sadece \u015funu hat\u0131rlatmak isterim. iyi niyetle bile olsa birilerine, bu e-maili kullanarak mesaj g\u00f6nderirseniz, Mutlaka kulland\u0131\u011f\u0131n\u0131z zaman parametrelerine bak\u0131p sizi bulacaklard\u0131r. <span style=\"color: #ff0000;\"><strong>Bundan dolay\u0131 L\u00fctfen iyi niyeti suistimal etmeyin.<\/strong><\/span><\/p>\n<p>Burada a\u00e7\u0131klamaya \u00e7al\u0131\u015faca\u011f\u0131m sistem, PC nize ba\u011fl\u0131 kalmaks\u0131z\u0131n PHP dosyas\u0131n\u0131 y\u00fckleyebilece\u011finiz bir siteniz varsa, mail kontrol\u00fcn\u00fc nas\u0131l yapabilece\u011finizi g\u00f6sterecek.<br \/>\n\u00d6ncelikle ESP8266-01 mod\u00fcl\u00fcn\u00fcz\u00fc buradaki yaz\u0131 ile <a href=\"https:\/\/www.mikrobotik.com\/wp2\/2018\/06\/01\/esp_01\/\" target=\"_blank\" rel=\"noopener\"><strong>NODEMCU moduna<\/strong><\/a> ge\u00e7irmelisiniz.<br \/>\nAyr\u0131ca ESP8266-01 mod\u00fcl\u00fcn\u00fcn <a href=\"https:\/\/www.mikrobotik.com\/wp2\/2018\/06\/03\/esp8266-01e-giris\/\" target=\"_blank\" rel=\"noopener\"><strong>ba\u011flant\u0131 \u015femas\u0131 i\u00e7in bu yaz\u0131ma<\/strong> <\/a>bakabilirsiniz.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1183 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2019\/03\/2019-03-20-18.29.50.jpg\" alt=\"\" width=\"315\" height=\"236\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 315px; --smush-placeholder-aspect-ratio: 315\/236;\" \/><\/p>\n<p><span style=\"color: #ff0000;\"><strong>Akl\u0131n\u0131za \u015fu gelebilir.<\/strong> <\/span>Neden PHP ye ihtiyac\u0131m\u0131z olsun. O olmadan da ESP bu i\u015fi \u00e7\u00f6zebilir. Ben de ba\u015flarken bu \u015fekilde ba\u015flad\u0131m. Fakat e-mail sunucular\u0131 gibi g\u00fcvenli sitelerden bilgi almak \u00e7ok kolay olmuyor. Ara\u015ft\u0131rd\u0131m, Nodemcu LUA olarak program yazarken ESP-01 ile yap\u0131lamayaca\u011f\u0131 konusuna kanaat getirdim. Belki arduino ve esp kullan\u0131larak \u00e7\u00f6z\u00fcmler bulabilirsiniz. Fakat nodemcu olarak ben \u00e7al\u0131\u015fan \u00f6rneklere rastlayamad\u0131m. Hatta bunun yap\u0131lamayaca\u011f\u0131 y\u00f6n\u00fcnde bilgiler de okudum. Belki yeni versiyonlarda bu d\u00fczeltilmi\u015f olabilir.<br \/>\nTabii ki PHP kullanmam\u0131n <span style=\"color: #ff6600;\">bir ba\u015fka amac\u0131<\/span> daha var. LCD yi koyup sadece mail mi kontrol edeyim.<br \/>\n<strong>Tabii ki HAYIR.<\/strong> Gelecekte, bu php dosyas\u0131na mail bilgilerini, d\u00f6viz bilgilerini ,hava durumu gibi bilgileri aktar\u0131p, hepsini bu LCD de ya da farkl\u0131 bir g\u00f6r\u00fcnt\u00fcleme cihaz\u0131nda, sadece ESP-01 kullanarak g\u00f6sterebileyim diye d\u00fc\u015f\u00fcnd\u00fcm.<\/p>\n<p><strong>Buraya kadar haz\u0131rl\u0131klar\u0131 yapt\u0131ktan sonra bir de PHP k\u0131sm\u0131na bakal\u0131m.<\/strong><br \/>\n<strong>1. program<\/strong> mail sunucusundan toplam mail ve toplam okunmam\u0131\u015f mail adetlerini al\u0131r. Buradaki imap_open sat\u0131r\u0131 \u015fifreleri verdi\u011fimiz gmail sunucusundan bilgiyi almam\u0131z\u0131 sa\u011flar. 993 veya bazen 443 gibi port numaralar\u0131 g\u00f6r\u00fcrs\u00fcn\u00fcz bunlar. POP ve IMAP port numaralar\u0131d\u0131r. Bunlar hangi \u015fekilde bilgiyi alaca\u011f\u0131n\u0131za g\u00f6re de\u011fi\u015fecektir.<\/p>\n<pre class=\"height-set:true height:300 lang:php decode:true\" title=\"Mail check PHP\">&lt;?php\r\n\r\n$mbox = imap_open(\"{imap.gmail.com:993\/imap\/ssl}INBOX\", \"denesildeneme\", \"denek123\")\r\n      or die(\"can't connect: \" . imap_last_error());\r\n\r\n$check = imap_mailboxmsginfo($mbox);\r\n\r\nif ($check) {\r\n        echo \"basla\".\"&lt;br\/&gt;\\n\";\r\n    \/\/echo \"Date: \"     . $check-&gt;Date    . \"&lt;br\/&gt;\" ;\r\n    \/\/echo \"Driver: \"   . $check-&gt;Driver  . \"&lt;br\/&gt;\" ;\r\n    \/\/echo \"Mailbox: \"  . $check-&gt;Mailbox . \"&lt;br\/&gt;\" ;\r\n    echo \"Messages: \" . $check-&gt;Nmsgs   . \"&lt;br\/&gt;\" ;\r\n    \/\/echo \"Recent: \"   . $check-&gt;Recent  . \"&lt;br\/&gt;\" ;\r\n    echo \"Unread: \"   . $check-&gt;Unread  . \"&lt;br\/&gt;\" ;\r\n    echo $check-&gt;Date    . \"&lt;br\/&gt;\" ;\r\n   \/\/ echo \"Deleted: \"  . $check-&gt;Deleted . \"&lt;br\/&gt;\" ;\r\n    \/\/echo \"Size: \"     . $check-&gt;Size    . \"&lt;br\/&gt;\" ;\r\n} else {\r\n    echo \"imap_mailboxmsginfo() failed: \" . imap_last_error() . \"&lt;br \/&gt;\\n\";\r\n}\r\n\r\nimap_close($mbox);\r\n\r\n?&gt;<\/pre>\n<p><strong>2. program<\/strong> ise mail sunucusundan okunmam\u0131\u015f maillerinizin konu ba\u015fl\u0131klar\u0131n\u0131 al\u0131r.<br \/>\nBurada dikkat edece\u011finiz k\u0131s\u0131m, <strong>gelen maillerde konularda g\u00f6r\u00fcnen t\u00fcrk\u00e7e karakterler LCD ye g\u00f6nderilirse sorun olaca\u011f\u0131ndan<\/strong>, ba\u015ftaki $bulunacak, ve $de\u011fi\u015ftir tablolar\u0131 aras\u0131nda t\u00fcrk\u00e7e karakterleri ingilizce karakterlere d\u00f6n\u00fc\u015ft\u00fcrmemiz gerekir. Bunu yapmak i\u00e7in 60. ve 62. sat\u0131ra bak\u0131n\u0131z. <strong>Art\u0131k t\u00fcrk\u00e7e karakter sorunu da kalmad\u0131.<br \/>\n<\/strong><span style=\"color: #ff6600;\">Ayr\u0131ca 20<\/span>. sat\u0131rla ba\u015flayan parametreler mail al\u0131rken size yard\u0131mc\u0131 olacakt\u0131r. Ben sadece okunmam\u0131\u015flar\u0131 istedi\u011fim i\u00e7in &#8220;UNSEEN&#8221; parametresini kulland\u0131m. Sizler di\u011fer parametreleri de kullanabilirsiniz. 46. sat\u0131rda bu parametreyi g\u00f6rebilirsiniz.<\/p>\n<pre class=\"height-set:true height:300 lang:php decode:true\">&lt;?php\r\n\r\n\r\n\/\/$mbox = imap_open(\"{imap.gmail.com:993\/imap\/ssl}INBOX\", \"denesildeneme\", \"denek123\")\r\n   \/\/   or die(\"can't connect: \" . imap_last_error());\r\n$bulunacak = array('\u00e7','\u00c7','\u0131','\u0130','\u011f','\u011e','\u00fc','\u00f6','\u015e','\u015f','\u00d6','\u00dc',',',' ','(',')','[',']'); \r\n$degistir  = array('c','C','i','I','g','G','u','o','S','s','O','U','','_','','','',''); \r\n\r\n\r\nset_time_limit(4000); \r\n \r\n\/\/ Connect to gmail\r\n$imapPath = '{imap.gmail.com:993\/imap\/ssl}INBOX';\r\n$username = 'denesildeneme';\r\n$password = 'denek123';\r\n \r\n\/\/ try to connect \r\n$inbox = imap_open($imapPath,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());\r\n \r\n   \/* ALL - return all messages matching the rest of the criteria\r\n    ANSWERED - match messages with the \\\\ANSWERED flag set\r\n    BCC \"string\" - match messages with \"string\" in the Bcc: field\r\n    BEFORE \"date\" - match messages with Date: before \"date\"\r\n    BODY \"string\" - match messages with \"string\" in the body of the message\r\n    CC \"string\" - match messages with \"string\" in the Cc: field\r\n    DELETED - match deleted messages\r\n    FLAGGED - match messages with the \\\\FLAGGED (sometimes referred to as Important or Urgent) flag set\r\n    FROM \"string\" - match messages with \"string\" in the From: field\r\n    KEYWORD \"string\" - match messages with \"string\" as a keyword\r\n    NEW - match new messages\r\n    OLD - match old messages\r\n    ON \"date\" - match messages with Date: matching \"date\"\r\n    RECENT - match messages with the \\\\RECENT flag set\r\n    SEEN - match messages that have been read (the \\\\SEEN flag is set)\r\n    SINCE \"date\" - match messages with Date: after \"date\"\r\n    SUBJECT \"string\" - match messages with \"string\" in the Subject:\r\n    TEXT \"string\" - match messages with text \"string\"\r\n    TO \"string\" - match messages with \"string\" in the To:\r\n    UNANSWERED - match messages that have not been answered\r\n    UNDELETED - match messages that are not deleted\r\n    UNFLAGGED - match messages that are not flagged\r\n    UNKEYWORD \"string\" - match messages that do not have the keyword \"string\"\r\n    UNSEEN - match messages which have not been read yet*\/\r\n \r\n\/\/ search and get unseen emails, function will return email ids\r\n$emails = imap_search($inbox,'UNSEEN');\r\n \r\n$output = '';\r\n \r\nforeach($emails as $mail) {\r\n    \r\n    $headerInfo = imap_headerinfo($inbox,$mail);\r\n      $ssubject = iconv_mime_decode ($headerInfo-&gt;subject, 0,'ISO-8859-9');\/\/ alttaki ile beraber 2 sat\u0131r gelen t\u00fcrk\u00e7e karakter kodunu ayarl\u0131yor\r\n      $ssubject = mb_convert_encoding($ssubject, 'UTF-8', 'ISO-8859-9');    \/\/\r\n    \r\n    $output .=\"basla\".'&lt;br\/&gt;';\r\n\r\n\r\n    \/\/ $bul=$headerInfo-&gt;subject;\r\n    $bul=$ssubject;\r\n    \/\/ echo $bul.'&lt;br\/&gt;';\r\n     $sonuc=str_replace($bulunacak, $degistir,$ssubject); \/\/ yukar\u0131da utf-8 olarak ayarlanan kod t\u00fcrk\u00e7e karakterleri ingilizce karakterlere ceviriyor. LCD i\u00e7in.\r\n    $output .= $sonuc.'&lt;br\/&gt;';\r\n   \/\/ $output .= $headerInfo-&gt;subject.'&lt;br\/&gt;';\r\n \/\/   $output .= $headerInfo-&gt;toaddress.'&lt;br\/&gt;';\r\n    $output .= $headerInfo-&gt;date.'&lt;br\/&gt;';\r\n \/\/   $output .= $headerInfo-&gt;fromaddress.'&lt;br\/&gt;';\r\n \/\/   $output .= $headerInfo-&gt;reply_toaddress.'&lt;br\/&gt;';\r\n\r\n    $emailStructure = imap_fetchstructure($inbox,$mail);\r\n    \r\n    if(!isset($emailStructure-&gt;parts)) {\r\n         $output .= imap_body($inbox, $mail, FT_PEEK); \r\n    } else {\r\n        \/\/    \r\n    }\r\n\r\n   echo $output;\r\n  \r\n   $output = '';\r\n}\r\n \r\n\/\/ colse the connection\r\nimap_expunge($inbox);\r\nimap_close($inbox);\r\n?&gt;<\/pre>\n<p><strong>Nodemcu program\u0131<\/strong> ile de gelen bilgileri al\u0131p LCD ye yazd\u0131rmam\u0131z laz\u0131m. Tabii ki LCD 2 sat\u0131r veya 4 sat\u0131r olabilir. Ben 2 sat\u0131ra g\u00f6re ayarlad\u0131m. Sizler 4 sat\u0131ra g\u00f6re verileri yazd\u0131rabilirsiniz. LCD nin s\u00fctun ayar\u0131 ise 16 karakter 20 karakter ya da daha fazla olabilir.<br \/>\n\u0130sterseniz gelen konu ba\u015fl\u0131klar\u0131n\u0131 direkt yazd\u0131rabilirsiniz. <span style=\"color: #ff6600;\">Fakat uzun sat\u0131rlar sorun olabilece\u011finden<\/span>, Nodemcu program\u0131nda ilk 20 karakteri ay\u0131rarak LCD ye g\u00f6nderdim.<\/p>\n<p>Bu \u015fekilde ekranda daha d\u00fczg\u00fcn bir g\u00f6r\u00fcn\u00fcm elde edildi. Ekran\u0131n\u0131z 16 s\u00fctundan olu\u015fuyorsa 16 karakter g\u00f6r\u00fcrs\u00fcn\u00fcz, 20 karakterden olu\u015fuyorsa 20 karakter g\u00f6r\u00fcrs\u00fcn\u00fcz. Daha fazla s\u00fctun isterseniz programdan kolayl\u0131kla ayarlayabilirsiniz.<br \/>\n<span style=\"color: #ff6600;\"><strong>De\u011fi\u015ftirmeniz gereken sat\u0131rlar.<\/strong> <\/span><br \/>\n160. ve 161. sat\u0131rlarda modeminizin internet ad\u0131 ve \u015fifresi. Ayr\u0131ca 187 ve 191. sat\u0131rlardaki bilgiler benim PHP dosyam\u0131n bulundu\u011fu yerdir. Buraya sizin PHP dosyan\u0131z\u0131n bulundu\u011fu yeri yazmal\u0131s\u0131n\u0131z. 196. sat\u0131ra ise bulundu\u011fu sunucunun ismi yaz\u0131lacak.<br \/>\n<span style=\"color: #ff6600;\"><strong>NOT:<\/strong> <\/span>LCD ile ba\u015flayan t\u00fcm LCD komutlar\u0131 <strong>EASYLCD<\/strong> komutlar\u0131d\u0131r.<br \/>\n<strong>EASYLCD<\/strong> kullanmayacaksan\u0131z kendi LCD mod\u00fcl\u00fcn\u00fcze g\u00f6re komutlar\u0131 de\u011fi\u015ftirirsiniz.<\/p>\n<pre class=\"theme:github height-set:true height:300 lang:lua decode:true\" title=\"esp8266-01 gmail kontrol\u00fc. Nodemcu program\u0131.\">temps={}\r\nsubtemp={}\r\ndatetemp={}\r\nmadet={}\r\ntimesa={}\r\nmsay=1\r\nkont=1\r\ntemp=0\r\nzamisim=\"basla\"\r\nunread=0\r\nmesaj=0\r\n\r\n\r\nfunction yazdir()\r\nif (unread==0) then\r\n\tuart.write(0, \"LCDWR 1,1-NO MESSAGE     \")\r\n\ttmr.delay(50000)\r\n\tuart.write(0, \"LCDWR 2,1-\",madet[3])\r\n\ttmr.delay(50000)\t\r\nelse\r\n\tuart.write(0, \"LCDWR 1,1-Messages \",string.format(\"%d\", unread),\" \/ \",string.format(\"%d\", mesaj),\"    \")\r\n\ttmr.delay(50000)\r\n\t--uart.write(0, \"LCDWR 1,15- \/ \",string.format(\"%d\", mesaj),\"    \")\r\n\t--tmr.delay(50000)\r\n\t\r\n\tfor i=1,unread do   --  okunmam\u0131\u015f olanlar\u0131 teker teker 2. sat\u0131ra yaz\u0131p sola kayd\u0131racak. tarih g\u00f6r\u00fcns\u00fcn diye. arkas\u0131ndan home yapacak.\r\n\tuart.write(0, \"LCDWR 2,1-\",subtemp[i],\"            \")\r\n\t--tmr.delay(50000)\r\n\t--uart.write(0, \"LCDWR 2,21-\",datetemp[i])\r\n\t\r\n\ttmr.delay(5000000)\r\n\tend\r\nend\r\ntmr.delay(1000000)\r\n\r\nend\r\n\r\n\r\nfunction kurayar(c)  -- mesaj toplamlar\u0131n\u0131 al\u0131r.\r\n\r\n--print (i,j,k,l)\r\n\r\ni=0\r\nj=0\r\nk=0\r\nl=0\r\n--print (kont)\r\n--print (c)\r\n\r\ni,j=string.find(c,zamisim)\r\n\r\n--print (i,j)\r\n\r\nif (i&gt;0) then \r\n\tk,l=string.find(c,\"&lt;br\/&gt;\",j)\r\n\ti,j=string.find(c,\"&lt;br\/&gt;\",l)\r\n\tif (k&gt;0) then \r\n\tmadet[1]=string.sub(c,l+1,i-1)\r\n\tend\r\n\t\r\n\tk,l=string.find(c,\"&lt;br\/&gt;\",j)\r\n\tmadet[2]=string.sub(c,j+1,k-1)\r\n\t--print (madet[2])\r\n\ti=k j=l \r\n--\tprint (i,\"  \",j)\r\n\t\r\n\t\tk,l=string.find(c,\"&lt;br\/&gt;\",j)\r\n\r\n\tmadet[3]=string.sub(c,j+1,k-1)  -- tarih k\u0131sm\u0131n\u0131 al\u0131yor. yeni mesaj yoksa 2. sat\u0131ra yaz. \r\n\t\r\n\t\r\n\tmesaj=string.len(madet[1])\r\n\t\r\n\tmesaj=string.sub(madet[1],11)\r\n\t--mesaj=tonumber(mesaj)\r\n\r\n\tunread=string.sub(madet[2],8)\r\n\tunread=tonumber(unread)\r\n\r\n\t--print (unread,\" \",mesaj,\"  \",madet[1],\"  \",madet[2])\r\n\tif (unread==0) then\r\n\t\tyazdir()\r\n\tend\r\nend\t\r\nmadet[1]= string.sub(madet[1],2)\r\ntmr.delay(1000000)\r\n\r\nend\r\n\r\nfunction timeayar(c)  -- mail konu sat\u0131r\u0131ndaki bilgileri al\u0131r. \r\n\r\nsrv:close()\r\n\r\n--print (i,j,k,l)\r\n--print (c)\r\ni=0\r\nj=0\r\nk=0\r\nl=0\r\nmsay=1\r\n--print (kont)\r\n--print (c)\r\n \r\ni,j=string.find(c,zamisim,j)\r\n\r\n--print (i,j)\r\nif (i==nil) then \r\ntmr.delay(10000000)\r\n\treturn\r\n\tend \r\nwhile (i&gt;0)\r\ndo\r\nif (i&gt;0) then \r\n\tk,l=string.find(c,\"&lt;br\/&gt;\",j)\r\n\ti,j=string.find(c,\"&lt;br\/&gt;\",l)\r\n\tif (k&gt;0) then \r\n\ttimesa[1]=string.sub(c,l+1,i-1)   -- konu\r\n\tend\r\n\t--\tprint (timesa[1])\r\n\t\t--print ( k,\" \",l,\"  \",i,\"  \",j)\r\n\t\r\n\tk,l=string.find(c,\"&lt;br\/&gt;\",j)\r\n\ttimesa[2]=string.sub(c,j+1,k-1)   -- tarih\r\n\t--print (timesa[2])\r\n\t--print ( k,\" \",l,\"  \",i,\"  \",j)\r\n\ti=k j=l \r\n--\tprint (i,\"  \",j)\r\n--temp=string.len(timesa[1])\r\n--print (\"karakter : \",temp)\r\n\r\n\tsubtemp[msay]=string.sub(timesa[1], 1, 20)\r\n\t--print (\" Subject  \",subtemp[msay])\r\n\tdatetemp[msay]=string.sub(timesa[2], 1, 17)\r\n--\tprint (\" Date  \",temps[2])\r\n-- display kayd\u0131rma ekle sonunda HOME yap ve varsa 2. de\u011fi\u015fkeni yaz. yoksa bitir.\r\n\t--yazdir()\r\n\t-- print (timesa[1])\r\n\t-- print (timesa[2])\r\nend\t\r\ni,j=string.find(c,zamisim,j)\r\n--print (\"son : \",i,\"  \",j)\r\nif (i==nil) then \r\n\tbreak\r\n\tend \r\n\tmsay=msay+1\r\n\t\r\nend\r\n\t\tyazdir()\r\ntmr.delay(1000000)\r\n\r\nend\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n-- Your access point's SSID and password*****************************************\r\nlocal SSID = \"Your SSID Name\"\r\nlocal SSID_PASSWORD = \"Your Password\"\r\n\r\n-- configure ESP as a station\r\nwifi.setmode(wifi.STATION)\r\nwifi.sta.config(SSID,SSID_PASSWORD)\r\nwifi.sta.autoconnect(1)   -- otomatik ba\u011flant\u0131 kuruyor. 0 manual ba\u011flant\u0131 gerektiriyor\r\nuart.setup(0,9600,8,0,1,0)\r\nuart.write(0, \"LCDDD\") -- ******************** \"\\r\\n\" ger\u00e7ek devrede olmayacak burada satir olarak g\u00f6r\u00fcns\u00fcn diye verildi. ***********************\r\n\t\t\ttmr.delay(50000)\r\nuart.write(0, \"LCDBL 9-\") -- LCD backlight \u0131\u015f\u0131\u011f\u0131n\u0131n seviyesini ayarlar.\r\n\t\t\ttmr.delay(50000)\r\n\tuart.write(0, \"LCDWR 1,2-EASYLCD MODULE\")\r\n\ttmr.delay(50000)\r\n\tuart.write(0, \"LCDWR 2,2-ESP-01_Nodemcu\")\r\n\ttmr.delay(50000)\r\nfunction sendTS()\r\n srv = net.createConnection(net.TCP, 0)\r\nsrv:on(\"receive\", function(sck, c) --print(c)\r\nif (kont==0) then kurayar(c) end\r\nif (kont==1) then timeayar(c) end\r\n\r\nend)\r\n\r\nsrv:on(\"connection\", function(sck)\r\n  print(\"Wait for connection before sending.\")\r\n  if (kont==0) then\r\n\tsck:send(\"GET http:\/\/www.mikrobotik.com\/api\/email\/email_check.php HTTP\/1.1\\r\\nHost: www.mikrobotik.com\\r\\nConnection: close\\r\\nAccept: *\/*\\r\\n\\r\\n\")\r\n\t\r\n\tend\r\n  if (kont==1) then\r\n\tsck:send(\"GET http:\/\/www.mikrobotik.com\/api\/email\/mail2.php HTTP\/1.1\\r\\nHost: www.mikrobotik.com\\r\\nConnection: close\\r\\nAccept: *\/*\\r\\n\\r\\n\")\r\n\t\r\n\tend\t\r\n\t--srv:close()\r\n end)\r\nsrv:connect(80,\"www.mikrobotik.com\")\r\n\r\nsrv:close()\r\n\r\nkont=kont+1\r\nif kont==2 then kont=0 end\r\n\r\nend\r\n\r\nfunction check_wifi()\r\n local ip = wifi.sta.getip()\r\n\r\n if(ip==nil) then\r\n   print(\"Connecting...\")\r\n   print(\"baglanti yapiliyor\\r\\n\")\r\n else\r\n  \r\n  print(\"Connected to AP!\")\r\n  print(ip)\r\n print(\"baglanti tamam\\r\\n\")\r\n \r\n end\r\n\r\n\r\nend\r\n\r\ncheck_wifi()\r\nsendTS()\r\n--srv:close()\r\n\r\n--tmr.alarm(0,17000,1,sendTS)\r\n--tmr.alarm(0,10000,tmr.ALARM_SEMI,check_wifi)\r\ntmr.alarm(0, 10000, 1, function ()\r\ncheck_wifi()\r\nsendTS()\r\n\r\nend)\r\n<\/pre>\n<p>Yukar\u0131daki programlardaki de\u011fi\u015fiklikleri yapmak kolayd\u0131r. PHP IMAP \u00f6rnekleri internette mevcuttur.<br \/>\nHerkes Gmail kullanm\u0131yordur. Kendi e-mail sunucunuza PHP olarak nas\u0131l ba\u011flanaca\u011f\u0131n\u0131z\u0131 buldu\u011funuzda, Nodemcu program\u0131n\u0131zla, t\u00fcm e-mail hesaplar\u0131n\u0131z\u0131,PHP ile kontrol edebilirsiniz.<\/p>\n<p><span style=\"color: #ff6600;\">Ayr\u0131ca \u00e7al\u0131\u015fma s\u0131ras\u0131nda gelen verileri neye g\u00f6re ay\u0131klad\u0131\u011f\u0131m\u0131 belirtmek istiyorum.<\/span><br \/>\nESP nin ald\u0131\u011f\u0131 veri a\u015fa\u011f\u0131daki gibidir. 12e k\u0131sm\u0131ndan sonra &lt;br\/&gt; dizilimini ar\u0131yorum. Bu \u015fekilde 2\u00a0&lt;br\/&gt; dizilimi aras\u0131ndaki veriyi ay\u0131klam\u0131\u015f oluyorum. Ba\u015flang\u0131\u00e7ta\u00a0&lt;br\/&gt; dizilimi yok. Bundan dolay\u0131 PHP dosyas\u0131na &#8220;basla&#8221; diye bir dizilim verdim. ilk kelime bu oldu\u011fu i\u00e7in basla kelimesini bulacak, sonras\u0131nda\u00a0&lt;br\/&gt; dizilimini aray\u0131p &#8220;basla&#8221; ve\u00a0&lt;br\/&gt; aras\u0131ndaki kay\u0131t ba\u015flang\u0131\u00e7 kayd\u0131 olacakt\u0131r.<br \/>\nNOT :\u00a0&lt;br\/&gt; dizilimi HTML ve PHP dosyalar\u0131nda, sat\u0131r sonu enter ve line feed g\u00f6revi g\u00f6r\u00fcr. Yani arduinoya g\u00f6re kar\u015f\u0131la\u015ft\u0131r\u0131rsak. Bu komuta kar\u015f\u0131l\u0131k gelir.<br \/>\n\\n = LF (Line Feed) \u00a0Bundan dolay\u0131 a\u015fa\u011f\u0131daki web sayfas\u0131ndan al\u0131nan \u00e7\u0131kt\u0131lar sat\u0131r \u015feklinde g\u00f6r\u00fcnm\u00fc\u015ft\u00fcr.<br \/>\n=======================================<\/p>\n<p><span style=\"line-height: 1.6471;\">+IPD,0,465:HTTP\/1.1 200 OK<br \/>\n<\/span>Date: Sat, 16 Mar 2019 21:47:18 GMT<br \/>\nServer: Apache<br \/>\nX-Powered-By: PHP\/5.5.38<br \/>\nTransfer-Encoding: chunked<br \/>\nContent-Type: text\/html<\/p>\n<p>12e<br \/>\nmail 1 ornek<strong>&lt;br\/&gt;<\/strong>date<strong>&lt;br\/&gt;<\/strong><br \/>\n===============================================<\/p>\n<p>Tabii ki t\u00fcm mail konular\u0131 g\u00f6nderilirken a\u015fa\u011f\u0131daki \u015fekilde oldu\u011fu gibi &#8220;basla &#8220;kelimesi ile ba\u015flayacakt\u0131r. Bu da ayr\u0131 maillerdeki konu bilgisini ayr\u0131 ayr\u0131 alabilmemizi sa\u011flayacakt\u0131r. Sizler de verilerinizi d\u00fczenlerken PHP dosyas\u0131na belirte\u00e7 koyabilirsiniz.<\/p>\n<p><strong>A\u015fa\u011f\u0131da PHP dosyas\u0131ndan gelen veri g\u00f6r\u00fcnmektedir.\u00a0<\/strong><br \/>\n<strong><span style=\"color: #ff0000;\">email_check.php web sayfas\u0131 \u00e7\u0131kt\u0131s\u0131.<\/span><\/strong><br \/>\n============================<br \/>\nbasla<br \/>\nMessages: 4<br \/>\nUnread: 4<br \/>\nWed, 20 Mar 2019 18:23:19 +0300 (+03)<br \/>\n===================================<br \/>\n<span style=\"color: #ff0000;\"><strong>Mail2.php web sayfas\u0131 \u00e7\u0131kt\u0131s\u0131.<\/strong><\/span><br \/>\n==============================<br \/>\nbasla<br \/>\nmail_php_dene<br \/>\nFri, 15 Mar 2019 12:46:23 +0000<br \/>\nbasla<br \/>\ne-mail_1_ornek<br \/>\nWed, 20 Mar 2019 14:22:58 +0200<br \/>\nbasla<br \/>\nE-MAIL_2_Ornek<br \/>\nWed, 20 Mar 2019 14:24:06 +0200<br \/>\nbasla<br \/>\nEASYLCD_Ornek_3<br \/>\nWed, 20 Mar 2019 14:24:46 +0200<br \/>\n================================<\/p>\n<p><span style=\"color: #ff0000;\"><strong>UYARI :\u00a0<\/strong><\/span><br \/>\n<span style=\"color: #ff0000;\"><strong>Bu program eski nodemcu program\u0131 ile \u00e7al\u0131\u015fabilmektedir. Fakat Nodemcu program\u0131ndaki hata nedeniyle baz\u0131 \u00f6zellikler devre d\u0131\u015f\u0131 b\u0131rak\u0131lm\u0131\u015ft\u0131r. Bu \u00f6zellikleri g\u00f6r\u00fcp, yeni Nodemcu program\u0131n\u0131 y\u00fcklemek i\u00e7in<\/strong><\/span><a href=\"https:\/\/www.mikrobotik.com\/wp2\/2019\/03\/25\/esp8266-01-sdk-ve-nodemcu-flash-program-yukleme-2\/\" target=\"_blank\" rel=\"noopener\"><strong> Bu adrese gidip okuman\u0131z\u0131 tavsiye ederim.\u00a0<\/strong><\/a><\/p>\n<p><iframe width=\"900\" height=\"506\" data-src=\"https:\/\/www.youtube.com\/embed\/YxsM134eHdE\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" data-load-mode=\"1\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yeni mailleriniz var m\u0131 diye, bilgisayar\u0131n\u0131zdan ya da telefonunuzdan program a\u00e7man\u0131za gerek kalmadan, devaml\u0131 sizin yerinize ESP8266-01 Kontrol etsin. EASYLCD mod\u00fcl kullanan LCD nize, okunmam\u0131\u015f maillerinizin, hem adedini hem de&#8230; <\/p>\n","protected":false},"author":1,"featured_media":1182,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,7],"tags":[],"class_list":["post-1177","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-easylcd","category-esp"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1177","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=1177"}],"version-history":[{"count":11,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1177\/revisions"}],"predecessor-version":[{"id":1210,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/1177\/revisions\/1210"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media\/1182"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=1177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=1177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=1177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}