{"id":121,"date":"2018-06-03T19:36:46","date_gmt":"2018-06-03T19:36:46","guid":{"rendered":"http:\/\/mikrobotik.com\/wp2\/?p=121"},"modified":"2023-04-02T14:41:41","modified_gmt":"2023-04-02T11:41:41","slug":"esp8266-01_server","status":"publish","type":"post","link":"https:\/\/www.mikrobotik.com\/wp2\/2018\/06\/03\/esp8266-01_server\/","title":{"rendered":"ESP8266-01 incelemesi. ( Mod\u00fcl\u00fcn Sunucu ( Server ) olarak \u00e7al\u0131\u015fmas\u0131 )"},"content":{"rendered":"<p><!--StartFragment --> <span style=\"color: #ff0000;\"><strong>SUNUCU OLARAK \u00c7ALI\u015eMA :<\/strong> <\/span><br \/>\nESP mod\u00fcl\u00fcm\u00fcz\u00fc seri port \u00fczerinden PC ye ba\u011flad\u0131ktan sonra program ile ESP mod\u00fcl\u00fcm\u00fcz\u00fcn Sunucu ayarlar\u0131n\u0131\u00a0yapmaya ba\u015flayal\u0131m. Bu ad\u0131mlar ayn\u0131 zamanda arduino yada pic gibi mikroi\u015flemciler ve seri port kullanan di\u011fer sistemler ile sim\u00fcle edilebilir.<br \/>\nPC olmaks\u0131z\u0131n sunucu olarak \u00e7al\u0131\u015ft\u0131rmam\u0131z\u0131 ve gelecek olan bilgiye g\u00f6re sistemimizi programlamam\u0131z\u0131 sa\u011flayacakt\u0131r.<br \/>\n<strong><span style=\"color: #ffcc00;\">Sayfa sonundaki Videolarda hem PIC12F1822 ve PICBASIC kullan\u0131larak yap\u0131lm\u0131\u015f \u00f6rne\u011fi, hem de Arduino ile k\u00fct\u00fcphane kullan\u0131lmadan yap\u0131lm\u0131\u015f \u00f6rnekleri g\u00f6receksiniz.<\/span><\/strong><br \/>\nProgram\u0131n ilk sayfas\u0131nda gerekli ba\u011flant\u0131 i\u015flemlerini yapman\u0131z sa\u011flan\u0131r. 2. sayfas\u0131nda ise Sunucu (Server)\u00a0 ve \u0130stemci (Client) k\u0131s\u0131mlar\u0131 bulunur.<br \/>\nHer AT komutunu verdi\u011finizde ESP size bilgi d\u00f6nd\u00fcr\u00fcr. Bu cevab\u0131n sonunda \u00e7o\u011fu zaman OK cevab\u0131 gelir. AT komutlar\u0131n\u0131n sonuna mutlaka &#8220;\/r\/n&#8221; koymal\u0131s\u0131n\u0131z.<br \/>\nAT komutlar\u0131 i\u00e7in bu ba\u011flant\u0131ya bakabilirsiniz.<a href=\"file:\/\/\/C:\/Documents%20and%20Settings\/LG_PC\/Belgelerim\/websitem\/yaz%FDlar%FDm\/esp8266-01\/4A-ESP8266__AT_Instruction_Set__EN_v0.30.pdf\">AT Komutlar\u0131 PDF dosyas\u0131<\/a><br \/>\n<img decoding=\"async\" class=\"alignleft wp-image-140 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2018\/06\/program1-1.jpg\" alt=\"\" width=\"288\" height=\"217\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 288px; --smush-placeholder-aspect-ratio: 288\/217;\" \/> <img decoding=\"async\" class=\"alignleft wp-image-141 lazyload\" data-src=\"https:\/\/www.mikrobotik.com\/wp2\/wp-content\/uploads\/2018\/06\/program2-1.jpg\" alt=\"\" width=\"314\" height=\"215\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 314px; --smush-placeholder-aspect-ratio: 314\/215;\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong><big><br \/>\nServer i\u00e7in kullanaca\u011f\u0131m\u0131z AT komutlar\u0131 a\u015fa\u011f\u0131da yaz\u0131lm\u0131\u015ft\u0131r.<br \/>\n<\/big><\/strong><span style=\"line-height: 1.6471;\"><strong>AT<\/strong>\u00a0\u00a0\u00a0 ( \u0130lk haberle\u015fme var m\u0131 diye bak\u0131l\u0131r. OK cevab\u0131 d\u00f6ner.)<br \/>\n<\/span><span style=\"line-height: 1.6471;\"><strong>AT+RST\u00a0<\/strong>\u00a0\u00a0 ( ESP ye reset at\u0131l\u0131r. )<br \/>\n<\/span><strong>AT+CWMODE=3\u00a0<\/strong>\u00a0\u00a0 ( sta ve ap modlar\u0131n\u0131 birlikte kullanabilirsin )<br \/>\n<strong>AT+CIPMODE=0\u00a0<\/strong>\u00a0\u00a0 ( normal kullan\u0131m )<br \/>\n<strong>AT+CIPMUX=1\u00a0<\/strong>\u00a0\u00a0 ( birden fazla ba\u011flant\u0131 ayn\u0131 anda yap\u0131labilmesini sa\u011flar. Sunucu kurdu\u011funuzda bunun mutlaka 1 olmas\u0131 gerekir.)<br \/>\n<strong>AT+CWSAP=&#8221;ESP8266&#8243;,&#8221;12345678&#8243;,6,4<\/strong> ( AP KISMI \u00c7ALI\u015eACAKSA )<br \/>\n<strong>AT+CWJAP=&#8221;ESP8266&#8243;,&#8221;12345678&#8243;\u00a0<\/strong>\u00a0\u00a0 ( station modem k\u0131sm\u0131 eri\u015fim \u00a0noktas\u0131 \u00e7al\u0131\u015facaksa)<br \/>\n<strong>Arduinoya yeni ba\u015flayanlar i\u00e7in bir not.<\/strong> ( <span style=\"color: #ff0000;\"><strong>&#8220;<\/strong><\/span> i\u015faretlerinin de g\u00f6nderilmesi gerekti\u011finden bu sat\u0131r\u0131 yazarken t\u0131rnak i\u015fareti yerine <span style=\"color: #ff0000;\"><strong>\\&#8221;<\/strong><\/span> koymak gerekebilir\u00a0 <strong>\u00f6rne\u011fe dikkat ediniz<br \/>\n\u00f6rnek :\u00a0(&#8220;AT+CWSAP=\\&#8221;ESP8266\\&#8221;,\\&#8221;12345678\\&#8221;,6,4&#8243;)<\/strong><br \/>\n<strong>AT+CWDHCP=2,0\u00a0<\/strong>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 (hangi tip eri\u015fim noktas\u0131 istiyorsunuz. AP ya da kendi modeminiz \u00fczerinden ba\u011flant\u0131 Bu haliyle AP modundad\u0131r.)<br \/>\n<strong>AT+CIPSERVER=1,80<\/strong>\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ( sunucu a\u00e7mak i\u00e7in kullan\u0131l\u0131r. 80 olan port numaras\u0131d\u0131r. 80 olarak kullan\u0131rsan\u0131z kolayl\u0131k olur ve internet sayfalar\u0131da kulland\u0131\u011f\u0131ndan sorun olmayacakt\u0131r. modeminizde baz\u0131 portlar koruma alt\u0131nda olabilir.<br \/>\nBu komutlar\u0131 verdi\u011finizde sunucunuz a\u00e7\u0131lm\u0131\u015f demektir. Fakat i\u015f bununla bitmiyor. \u0130nternet sayfas\u0131ndan bir data gelecektir. Bu datan\u0131n ayr\u0131\u015ft\u0131r\u0131lmas\u0131 gerekmektedir.<br \/>\nBu datay\u0131 ay\u0131rmak i\u00e7in a\u015fa\u011f\u0131daki Arduino program\u0131n\u0131 kullanabilirsiniz.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-title=\"ESP SERVER_arduino_kod\" data-enlighter-group=\"no\" data-enlighter-theme=\"beyond\">String readString;\r\nString bak[5]=\"\";\r\nString denek = \"\";\r\n\r\n__FlashStringHelper *den1 ;\r\n__FlashStringHelper *den2 ;\r\n__FlashStringHelper *den3 ;\r\n__FlashStringHelper *den4 ;\r\n__FlashStringHelper *den5 ;\r\n__FlashStringHelper *den6 ;\r\n__FlashStringHelper *den7 ;\r\n__FlashStringHelper *den8 ;\r\n__FlashStringHelper *den9 ;\r\n__FlashStringHelper *srv1 ;\r\n__FlashStringHelper *srv2 ;\r\n__FlashStringHelper *srv3 ;\r\n__FlashStringHelper *srv4 ;\r\n__FlashStringHelper *srv5 ;\r\n__FlashStringHelper *srv6 ;\r\n__FlashStringHelper *srv7 ;\r\n\r\nchar * pch;\r\nchar * str;\r\nint say=0;\r\nint say2=0;\r\nint x=1;\r\nint bekle=0;\r\nint wc=0;\r\nint prob=0;\r\nint sayac=0;\r\nint saybak=0;\r\n\r\nvoid bakgel(){        \/\/ bekleme komutunu tekrar tekrar kullanmak yerine bu \u015fekilde yap\u0131ld\u0131 haf\u0131za kaplamas\u0131n diye. \r\n  delay(1000);\r\n}\r\n\r\nvoid serverac(){          \/\/ ****** server bilgilerini g\u00f6nder ****************\r\nsrv1=F(\"AT+CWMODE=3\");        \/\/ F fonksiyonu ile program belle\u011fine g\u00f6nderildi bu de\u011fi\u015fkenler. \r\nsrv2=F(\"AT+CIPMODE=0\");\r\nsrv3=F(\"AT+CIPMUX=1\");\r\nsrv4=F(\"AT+CWDHCP=2,0\");\r\nsrv5=F(\"AT+CIPAP=\\\"192.168.4.1\\\"\");\r\nsrv6=F(\"AT+CWSAP=\\\"ESP8266\\\",\\\"12345678\\\",6,4\");\r\nsrv7=F(\"AT+CIPSERVER=1,80\");\r\n  \r\n  Serial.println(\"AT+RST\");\r\n  delay(5000);\r\n  Serial.println(srv1);\r\n  bakgel();\r\n  Serial.println(srv2);\r\n  bakgel();\r\n  Serial.println(srv3);\r\n  bakgel();\r\n  Serial.println(srv4);\r\n  bakgel();\r\n  Serial.println(srv5);\r\n  bakgel();\r\n  Serial.println(srv6);\r\n  bakgel();\r\n  Serial.println(srv7);\r\n  bakgel();\r\n  \r\n}\r\n\r\nvoid ipdcontrol(){\r\n  \r\n      \r\n      sayac=0;\r\nstr = bak[1].c_str(); \r\n   pch=strstr (str,\"IPD\");    \/\/ 2. string ifadenin bulundu\u011fu yerden itibaren string ifadenin sonuna kadar okur. \r\n    denek=pch;                      \/\/ bu pch  char \u015feklinde oldu\u011fundan bunu string de\u011fi\u015fkenine \u00e7evirip uzunlu\u011funu bulmak istiyoruz.\r\n    say=denek.length();           \/\/ string uzunlu\u011funu buluruz.\r\n      if (say&gt;0){\r\n        prob=1;\r\n        sayac=1;\r\n        \/\/Serial.print(\"bak[1]ipdcontrol \") ;Serial.println(bak[1]) ;\r\n        }\r\n      \r\n}\r\n\r\n\r\n\r\nvoid kontrol(){         \/\/ ***************  string ifadesinde 2. bir string ifadeyi bulur yoksa null d\u00f6nd\u00fcr\u00fcr. \r\n\/\/Serial.println(\" kontrol\") ;\r\n    if (say2==0) {      \/\/ bu devaml\u0131 buraya geldi\u011finde i\u015flem yapmadan gitsin diye yap\u0131ld\u0131. vakit kaybetmesin\r\n      wc=2;\r\n      denek=bak[2];\r\n      str = bak[2].c_str();   \/\/ bu ifade normal string ifadesini const char \u015fekline d\u00f6n\u00fc\u015ft\u00fcr\u00fcr. normal \u015fekilde const char ifadelere  str=bak[2] \u015feklinde \u00e7eviriyi kabul etmez.\r\n \r\n      \/\/**********  buton tan\u0131mlamalar\u0131 ***********************\r\n      \r\n     pch=strstr (str,\"LIGHT1+ON\");    \/\/ 2. string ifadenin bulundu\u011fu yerden itibaren string ifadenin sonuna kadar okur. \r\n     denek=pch;                      \/\/ bu pch  char \u015feklinde oldu\u011fundan bunu string de\u011fi\u015fkenine \u00e7evirip uzunlu\u011funu bulmak istiyoruz.\r\n     say=denek.length(); \/\/ string uzunlu\u011funu buluruz.\r\n        if (say&gt;0){digitalWrite(11,HIGH);\r\n        wc=1;\r\n        \/\/Serial.println(bak[2]) ;\r\n        }\r\n  \r\n     pch=strstr (str,\"LIGHT2+ON\");    \/\/ 2. string ifadenin bulundu\u011fu yerden itibaren string ifadenin sonuna kadar okur. \r\n     denek=pch;                      \/\/ bu pch  char \u015feklinde oldu\u011fundan bunu string de\u011fi\u015fkenine \u00e7evirip uzunlu\u011funu bulmak istiyoruz.\r\n     say=denek.length();           \/\/ string uzunlu\u011funu buluruz.\r\n       if (say&gt;0){digitalWrite(12,HIGH);wc=1;}\r\n  \r\n     pch=strstr (str,\"LIGHT1+OFF\");    \/\/ 2. string ifadenin bulundu\u011fu yerden itibaren string ifadenin sonuna kadar okur. \r\n     denek=pch;                      \/\/ bu pch  char \u015feklinde oldu\u011fundan bunu string de\u011fi\u015fkenine \u00e7evirip uzunlu\u011funu bulmak istiyoruz.\r\n     say=denek.length();           \/\/ string uzunlu\u011funu buluruz.\r\n       if (say&gt;0){digitalWrite(11,LOW);wc=1;}\r\n  \r\n    pch=strstr (str,\"LIGHT2+OFF\");    \/\/ 2. string ifadenin bulundu\u011fu yerden itibaren string ifadenin sonuna kadar okur. \r\n    denek=pch;                      \/\/ bu pch  char \u015feklinde oldu\u011fundan bunu string de\u011fi\u015fkenine \u00e7evirip uzunlu\u011funu bulmak istiyoruz.\r\n    say=denek.length();           \/\/ string uzunlu\u011funu buluruz.\r\n      if (say&gt;0){digitalWrite(12,LOW);wc=1;}\r\n\r\n        if (wc==2){\r\n   str = bak[1].c_str(); \r\n   pch=strstr (str,\"IPD\");    \/\/ 2. string ifadenin bulundu\u011fu yerden itibaren string ifadenin sonuna kadar okur. \r\n    denek=pch;                      \/\/ bu pch  char \u015feklinde oldu\u011fundan bunu string de\u011fi\u015fkenine \u00e7evirip uzunlu\u011funu bulmak istiyoruz.\r\n    say=denek.length();           \/\/ string uzunlu\u011funu buluruz.\r\n      if (say&gt;0){\r\n        prob=1;\r\n        \/\/digitalWrite(12,HIGH);\r\n        htmlpage();         \/\/ ****  \u015fayet ilk defa web iste\u011fi geliyorsa kullan\u0131c\u0131ya uygun web sayfas\u0131n\u0131 yollar. \r\n        wc=1;\r\n        }\r\n   }\r\n        \/\/ Serial.println(wc) ;\r\n        \/\/ Serial.println(denek) ;\r\n       \/\/ Serial.print(\"bak[1]\") ;Serial.println(bak[1]) ;        \/\/ ******************** videoda bunlar\u0131 A\u00c7 g\u00f6ster ****************************************************\r\n   \/\/  Serial.println(bak[2]) ;\r\n    bak[1]=\"\";\r\n    bak[2]=\"\";\r\n    say2=1;x=1;bekle=0;\r\n    }\r\n bekle=0;  \r\n}\r\n\r\nvoid htmlpage(){\r\n \/\/ Serial.println(den1,den2,den3) ;\r\n  Serial.println(\"AT+CIPSEND=0,450\");\r\n         delay(200);\r\n  Serial.print(den1) ;\r\n  Serial.print(den9) ;\r\n  Serial.print(den2) ;\r\n  Serial.print(den3) ;\r\n  Serial.print(den4) ;\r\n  Serial.print(den5) ;\r\n  Serial.print(den6) ;\r\n  Serial.print(den7) ;\r\n  Serial.println(den8) ;\r\n  delay(100);\r\n  prob=0;\r\n}\r\n\r\nvoid setup() {\r\n   Serial.begin(115200);\r\n  pinMode(11, OUTPUT);\r\n  pinMode(12, OUTPUT);\r\n \/\/ Serial.println(\"baslangic\");\r\n  say2=1;\r\n  prob=0;\r\n  \/\/ **************  a\u015fa\u011f\u0131daki denx de\u011fi\u015fkenleri saklama alan\u0131na F donksiyonu ile g\u00f6nderiliyor. ******************\r\n  den1 = F(\"&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;form action=\\\"\\\" method=\\\"post\\\"&gt;\");\r\n  den9 = F(\"&lt;input type=\\\"\\\" name=\\\"action\\\" value=\\\"Butonlari kullanin\\\" \/&gt;&lt;br&gt;&lt;br&gt;\");\r\n  den2 = F(\"&lt;input id=\\\"LIGHT1ON\\\" type=\\\"submit\\\" name=\\\"submit\\\" value=\\\"LIGHT1 ON\\\"&gt;\");\r\n  den3 = F(\"&lt;input id=\\\"LIGHT1OFF\\\" type=\\\"submit\\\" name=\\\"submit\\\" value=\\\"LIGHT1 OFF\\\"&gt;\");\r\n  den4 = F(\"&lt;p&gt;&lt;input id=\\\"LIGHT2ON\\\" type=\\\"submit\\\" name=\\\"submit\\\" value=\\\"LIGHT2 ON\\\"&gt;\");\r\n  den5 = F(\"&lt;input id=\\\"LIGHT2OFF\\\" type=\\\"submit\\\" name=\\\"submit\\\" value=\\\"LIGHT2 OFF\\\"&gt;&lt;\/p&gt;\");\r\n  den6 = F(\"&lt;\/form&gt;&lt;\/html&gt;\");\r\n  den7 = F(\"&lt;?php\");\r\n  den8 = F(\"if (isset($_POST['action'])) {}?&gt;\");\r\n   serverac();\r\n}\r\n\r\nvoid loop() {\r\n  if (Serial.available() &gt; 0){\r\n    delay(5);\r\n    lightkontrol();\r\n\/*    char c = Serial.read();\r\n               readString += c;\r\n               readString.trim();\r\n    \r\n    if (readString == \"+IPD\"){\r\n      Serial.println(\"Ok\");\r\n      bak[1]=readString;\r\n      lightkontrol();\r\n       readString=\"\";\r\n    }*\/\r\n  }\r\n}\r\n\r\nvoid lightkontrol(){\r\n sayac=0;bak[1]=\"\";\r\n  readString=\"\";\r\n  basadon:\r\n  say2=0;\r\n  delay(10);\r\n  if (Serial.available() &gt; 0){\r\n    sayac=1;say2=1;\r\n    if (bak[1]==\"\"){\r\n      saybak=0;  \r\n    }\r\n    \r\nwhile  (Serial.available() &gt; 0){\r\n        char c = Serial.read();\r\n        saybak++;\r\n      \r\n\r\n  if (saybak&lt;=20){\r\n        readString += c;\r\n  }\r\n   if (saybak==20){\r\n    bak[1]=readString;\r\n         readString=\"\"; \r\n    }\r\n  if (saybak&gt;=285 ){\r\n        readString += c;\r\n  }\r\n   \r\n}  \r\n  bak[2]=readString;\r\n  \/\/Serial.print(\"saybak\" );Serial.println(saybak);\r\n  }\r\n  if (sayac==1){\r\n    sayac=0;\r\n    goto basadon;\r\n  }\r\n\/\/Serial.print(\"say2\" );Serial.println(say2);\r\n\/\/Serial.print(\"bak1light\" );Serial.println(bak[1]);\r\n\/\/Serial.print(\"bak2 light\");Serial.println(bak[2]);\r\n\r\nkontrol();\r\n}<\/pre>\n<p><span style=\"color: #ff0000;\"><strong>GELEN DATANIN \u0130NCELENMES\u0130:<\/strong><\/span><br \/>\n<strong>ESP nin benim g\u00f6rd\u00fc\u011f\u00fcm 2 \u00e7e\u015fit \u00e7al\u0131\u015fma \u015fekli var.<\/strong><\/p>\n<p>1 &#8211; ) internet sayfas\u0131ndan \u00a0gelen veri<br \/>\n2 &#8211; ) Soket mimarisi kullan\u0131m.<br \/>\n<strong>Bunlar\u0131n farkl\u0131l\u0131klar\u0131n\u0131 a\u015fa\u011f\u0131da g\u00f6rebileceksiniz.<\/strong><br \/>\n<strong>1-) \u0130nternet<\/strong> \u00fczerinden bilgi g\u00f6ndererek yada alarak \u00e7al\u0131\u015facaksan\u0131z.<br \/>\n\u0130nternet \u00fczerinden format\u0131 belli bir dizi karakter gelir. Bu karakterleri ayr\u0131\u015ft\u0131rmak i\u00e7in bilgileri ESP den seri port vas\u0131tas\u0131yla al\u0131p, bilgileri ayr\u0131\u015ft\u0131rmam\u0131z gerekiyor. \u00a0Bu sistemde internet sayfas\u0131ndan bir istek ESP mod\u00fcle geldi\u011finde a\u015fa\u011f\u0131daki ifade gelmi\u015f demektir.<br \/>\n( <span style=\"color: #ffcc00;\"><strong>seri port buffer denilen tampon bellek 64 karakterdir. Bu karakter adedi doldu\u011funda veriler gelemiyor yada verici g\u00f6nderse bile kayboluyor. Program\u0131 inceledi\u011finizde verileri zaman kaybetmeden devaml\u0131 ald\u0131\u011f\u0131m\u0131z ve de\u011fi\u015fkenlere aktard\u0131\u011f\u0131m\u0131z i\u00e7in 115200 h\u0131z\u0131nda bile verileri alabiliyor. gelen veri 400-500 karakter uzunlu\u011funda oluyor. devaml\u0131 buffer belle\u011fi bo\u015falt\u0131ld\u0131\u011f\u0131 i\u00e7in yeni verilerin geli\u015finde sorun olmuyor. <\/strong><\/span>)<br \/>\n<strong><span style=\"color: #0000ff;\">0,CONNECT<\/span><\/strong><\/p>\n<p><strong><span style=\"color: #0000ff;\">+IPD,0,416:GET \/ HTTP\/1.1<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Host: 192.168.1.140:1234<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Connection: keep-alive<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Cache-Control: max-age=0<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,*\/*;q=0.8<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Upgrade-Insecure-Requests: 1<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">User-Agent: Mozilla\/5.0 (Windows NT 5.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/49.0.2623.112 Safari\/537.36<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Accept-Encoding: gzip, deflate, sdch<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4<\/span><\/strong><br \/>\nBu ifade web sitesinin ba\u011flanmak istedi\u011fini anlat\u0131r. Gelen ifadeyi ay\u0131rd\u0131\u011f\u0131m\u0131zda <strong>+IPD<\/strong> belirte\u00e7 olup yan\u0131ndaki <strong>0<\/strong> ba\u011flant\u0131 numaras\u0131d\u0131r. Yan\u0131ndaki 416 ise gelen karakterin <strong>416<\/strong> karakter oldu\u011funu belirtir.<br \/>\nArduino yada mikroi\u015flemci ile bunlar\u0131 ay\u0131klay\u0131p ESP ile istek yapan WEB sitesine bir html sayfas\u0131 g\u00f6ndeririz. Bu sayfada i\u015flemimize g\u00f6re butonlar bulunur. Yada bilgi sat\u0131rlar\u0131 bulunur. Kullan\u0131c\u0131 internet sayfas\u0131ndan butona bast\u0131\u011f\u0131nda Benzer bir sat\u0131r gelir fakat son k\u0131sm\u0131 farkl\u0131d\u0131r.<br \/>\n<strong><span style=\"color: #0000ff;\">+IPD,1,570:POST \/ HTTP\/1.1<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Host: 192.168.4.1<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Connection: keep-alive<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Content-Length: 39<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Cache-Control: max-age=0<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Accept: text\/html,application\/xhtml+xml,application\/xml;q=0.9,image\/webp,*\/*;q=0.8<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Origin: http:\/\/192.168.4.1<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Upgrade-Insecure-Requests: 1<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">User-Agent: Mozilla\/5.0 (Windows NT 5.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/49.0.2623.112 Safari\/537.36<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Content-Type: application\/x-www-form-urlencoded<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Referer: http:\/\/192.168.4.1\/<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Accept-Encoding: gzip, deflate<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.6,en;q=0.4<\/span><\/strong><br \/>\n<span style=\"color: #ff6600;\"><strong>action=submit&amp;name=John&amp;submit=LIGHT1+ON<\/strong><\/span><br \/>\nBu en alttaki sat\u0131r bas\u0131lan butona g\u00f6re de\u011fi\u015fiklik g\u00f6sterebilir. Kendi g\u00f6nderdi\u011finiz web sayfan\u0131za g\u00f6re. LIGHT2+ON yada OFF olabilir.<br \/>\n<span style=\"color: #ff0000;\"><strong>\u00d6rnek web sayfas\u0131 :<\/strong> <\/span>Bu sayfada butonlar\u0131 ESP ye g\u00f6nderen k\u0131s\u0131m PHP k\u0131sm\u0131d\u0131r.<br \/>\n\u0130sterseniz kendinize g\u00f6re d\u00fczeltebilirsiniz fakat d\u00fczeltti\u011finizde t\u00fcm karakter say\u0131s\u0131n\u0131 do\u011fru bir \u015fekilde say\u0131p AT+CIPSEND ile \u00f6nceden ESP ye bildirmeniz gerekiyor. Programda bunu g\u00f6rebileceksiniz.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-title=\"DENEME.HTML\" data-enlighter-group=\"2\" data-enlighter-theme=\"beyond\">&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;form action=\"\" method=\"post\"&gt;\r\n   \r\n    &lt;input id=\"LIGHT1ON\" type=\"submit\" name=\"submit\" value=\"LIGHT1 ON\"&gt;\r\n    &lt;input id=\"LIGHT1OFF\" type=\"submit\" name=\"submit\" value=\"LIGHT1 OFF\"&gt;&lt;p&gt;\r\n    &lt;input id=\"LIGHT2ON\" type=\"submit\" name=\"submit\" value=\"LIGHT2 ON\"&gt;\r\n    &lt;input id=\"LIGHT2OFF\" type=\"submit\" name=\"submit\" value=\"LIGHT2 OFF\"&gt;&lt;\/p&gt;\r\n&lt;p&gt;\r\n&lt;br&gt;\r\n&lt;\/p&gt;\r\n\r\nSensor Degeri : \r\n&lt;input type=\"text\" name=\"tak\u0131m\" size=\"10\" value=\"degeryaz.\"&gt;&lt;br&gt;\r\n&lt;\/form&gt;\r\n&lt;\/html&gt;\r\n\r\n&lt;?php\r\nif (isset($_POST['action'])) {}?&gt;<\/pre>\n<p>Bu sayfay\u0131 internet \u00fczerinden sayfa iste\u011fi geldi\u011finde program otomatik olarak g\u00f6nderecektir. <strong><span style=\"color: #0000ff;\">\u015eayet Giri\u015f b\u00f6l\u00fcm\u00fcnde kulland\u0131\u011f\u0131n\u0131z program\u0131 kullanmak isterseniz SERVER k\u0131sm\u0131ndaki beyaz kutudaki html yaz\u0131lar\u0131yla bu html yaz\u0131lar\u0131n\u0131 yer de\u011fi\u015ftirmeniz yeterlidir.<br \/>\n<\/span><\/strong><br \/>\n<strong>2-) SOKET<\/strong> mimarisinde i\u015fler biraz daha kolayd\u0131r. Bu genelde ayn\u0131 network \u00fczerinde yak\u0131n mesafede mesela ev i\u00e7erisinde kulland\u0131\u011f\u0131n\u0131z sistemlerde olabilir.<br \/>\nMIT2 App inventor da yapabilece\u011finiz wifi programlarda soket mimarisi kullan\u0131l\u0131r.<br \/>\nBu sistemde sadece g\u00f6nderilecek bilgi ESP taraf\u0131ndan al\u0131n\u0131r. Mesela sadece LIGHT1ON kelimesini g\u00f6nderebilirsiniz.<br \/>\n<strong>Gelen bilgilerden \u00f6rnekler a\u015fa\u011f\u0131dad\u0131r.<\/strong><br \/>\n<span style=\"color: #0000ff;\"><strong>1,CONNECT<\/strong><\/span><\/p>\n<p><span style=\"color: #0000ff;\"><strong>+IPD,1,5:LCDDD<\/strong><\/span><br \/>\n<span style=\"color: #0000ff;\"><strong>+IPD,1,16:LCDWR 1,3-DENEME<\/strong><\/span><br \/>\n<span style=\"color: #0000ff;\"><strong>+IPD,1,5:LCDCB<\/strong><\/span><br \/>\n<span style=\"color: #0000ff;\"><strong>+IPD,1,10:LCDRC 1,5-1,CLOSED<\/strong><\/span><\/p>\n<p>Bizde soket mimarisine uygun bir \u015fekilde geri bilgi g\u00f6nderebiliriz. Bunun i\u00e7in \u00f6nce ESP ye ka\u00e7 karakter yollayaca\u011f\u0131m\u0131z\u0131 bildiriyoruz. <strong>G\u00f6nderece\u011fimiz bilgi : &#8220;Geri bildirim&#8221;<br \/>\n<span style=\"color: #0000ff;\"><span style=\"line-height: 1.6471;\">AT+CIPSEND=0,13<br \/>\n<\/span><span style=\"line-height: 1.6471;\">OK<br \/>\n<\/span>&gt;<\/span><\/strong><br \/>\n<span style=\"color: #0000ff;\"><strong>Recv 13 bytes<\/strong><\/span><br \/>\n<span style=\"color: #0000ff;\"><strong>SEND OK<br \/>\n<\/strong><\/span>Bu sistemde Seri port \u00fczerinden gelen bilgileri ayr\u0131\u015ft\u0131rmak daha kolayd\u0131r.<br \/>\n<span style=\"color: #0000ff;\"><em>Fakat bunu internet \u00fczerinden soket mimarisine g\u00f6re g\u00f6nderecek\u00a0program bulamad\u0131m.<\/em><\/span> Bundan dolay\u0131 ayn\u0131 a\u011f \u00fczerinde \u00e7al\u0131\u015fan android sisteminden yada 2 arduino aras\u0131 ya da PC den ESP ye g\u00f6nderim olarak kullanabilirsiniz.<\/p>\n<p>Ayr\u0131ca Proteus ve <strong>PIC12F1822<\/strong> kullan\u0131larak ESP kontrol\u00fcn\u00fc ger\u00e7ekle\u015ftiren <strong>PICBASIC<\/strong> kodunu da bulacaks\u0131n\u0131z.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-title=\"12F1822 server_PICBASIC kodu\" data-enlighter-group=\"3\" data-enlighter-theme=\"beyond\">'****************************************************************\r\n'*  Name    : UNTITLED.BAS                                      *\r\n'*  Author  : [select VIEW...EDITOR OPTIONS]                    *\r\n'*  Notice  : Copyright (c) 2018 [select VIEW...EDITOR OPTIONS] *\r\n'*          : All Rights Reserved                               *\r\n'*  Date    : 29.03.2018                                        *\r\n'*  Version : 1.0                                               *\r\n'*  Notes   :                                                   *\r\n'*          :                                                   *\r\n'****************************************************************\r\n;********************** AYARLAR BA\u015eLANGICI ****************************** \r\n#config\r\n __CONFIG _CONFIG1, _FOSC_INTOSC &amp; _WDTE_OFF &amp; _PWRTE_OFF &amp; _MCLRE_OFF &amp; _CP_OFF &amp; _CPD_OFF &amp; _BOREN_OFF &amp; _CLKOUTEN_OFF &amp; _IESO_OFF &amp; _FCMEN_OFF \r\n __CONFIG _CONFIG2, _WRT_OFF &amp; _PLLEN_ON &amp; _STVREN_OFF &amp; _BORV_19 &amp; _LVP_ON\r\n#ENDCONFIG\r\n\r\nDEFINE OSC 32\r\n;OSCILLATOR\r\n;OSCCON=%01111000   '%01101000=4 mHZ\r\nOSCCON=%11110000   ; 8*4=32mhz 16f1827 den   PLL enable ON olursa. \r\n\r\nPORTA=%00000000     :  ;    TRISA=%000011\r\nADCON0=%00000000    :      ADCON1=%00000000\r\nANSELA=%00000000\r\nOPTION_REG=%00000000\r\nWPUA=%111111 ' This register consists of \"6\" bits .\r\n\r\n; **************** 4mhz 9600 baud \r\n;RCSTA = $90   ' Enable serial port &amp; continuous receive\r\n;TXSTA = $20   ' Enable transmit, BRGH = 0\r\n;SPBRGL = 25    ' 9600 Baud @ 4MHz, 0,16%\r\n;SPBRGH = 0\r\n;BAUDCON.3 = 1 ' Enable 16 bit baudrate generator\r\n;DEFINE HSER_CLROERR 1 ' Clear overflow automatically\r\n\r\n ; *************** 32mhz 9600 baud **********************\r\nRCSTA = $90   ' Enable serial port &amp; continuous receive\r\nTXSTA = $24   ' Enable transmit, BRGH = 1\r\nSPBRG = 64    ' 9600 Baud @ 0,04%\r\nSPBRGH = 3\r\nBAUDCON.3 = 1 ' Enable 16 bit baudrate generator\r\nDEFINE HSER_CLROERR 1 ' Clear overflow automatically\r\n\r\n; *************** 16mhz 9600 baud **********************\r\n;RCSTA = $90   ' Enable serial port &amp; continuous receive\r\n;TXSTA = $24   ' Enable transmit, BRGH = 1\r\n;SPBRG = 160   ' 9600 Baud @ -0,08%\r\n;SPBRGH = 1\r\n;BAUDCON.3 = 1 ' Enable 16 bit baudrate generator\r\n;DEFINE HSER_CLROERR 1 ' Clear overflow automatically\r\n\r\n; Kesmeler i\u00e7in\r\nSYMBOL  GIE  =INTCON.7  \r\nSYMBOL  PEIE =INTCON.6  \r\nSYMBOL  RCIE =PIE1.5    \r\nSYMBOL  RCIF =PIR1.5\r\n\r\nCM1CON0=0                         \r\nCM1CON1=0 \r\nAPFCON.7=1      ; RA5 RX tan\u0131mland\u0131\r\nAPFCON.2=1       ; RA4 TX olarak tan\u0131mland\u0131\r\nAPFCON.0=0\r\nCCP1CON=0\r\nANSELA  =   0                   \r\nTRISA   =   %000101000  ; MCLR OFF fakat input olarak kullan\u0131labilir\r\n\r\n;************************** AYARLAR SONU *******************************\r\n;*****************  DE\u011e\u0130\u015eKENLER\u0130N TANIMLANMASI ********************        \r\n\r\n'***********Sens\u00f6r Tan\u0131mlamalar\u0131***********\r\n\r\nComm_Pin1   VAR\tPortA.2\r\nBusy        VAR BIT\r\nHAM         VAR\tWORD\r\nISI         VAR WORD\r\nSIGN        VAR BYTE\r\nSIGN_BITI   VAR HAM.Bit11\r\nNEGAT_ISI   CON 1\r\n;TEMP        VAR BYTE\r\nFloat       VAR WORD\r\n\r\n\r\n\r\nkar1    var byte\r\nkar2    var byte\r\ndd  var byte[10]\r\ntemp1 var byte\r\ntemp var byte\r\nclear\r\nPORTA   =   3\r\nPause 200\r\n\r\n\r\n \r\n;*****************  DE\u011e\u0130\u015eKENLER\u0130N TANIMLANMASI  SONU ********************       \r\n\r\n;***************************   KESMELER\u0130N TANIMLANMASI \r\nGIE=0   't\u00fcm kesmeler kapal\u0131 \r\nPEIE=1  '\u00c7evre birim kesmesi aktif\r\nRCIE=1  'Usart al\u0131m kesmesi aktif\r\nRCIF=0\r\nGIE=1   't\u00fcm kesmeler aktif  \r\n\r\n;***********************\r\n \r\nON INTERRUPT GOTO KESME \r\n\r\n hserout [\"AT\",13,10]\r\n pause 200\r\n \r\n hserout [\"AT+CWMODE=3\",13,10]\r\n pause 200\r\n hserout [\"AT+CIPMODE=0\",13,10]\r\n  pause 200\r\n hserout [\"AT+CIPMUX=1\",13,10]\r\n  pause 200\r\n hserout [\"AT+CWDHCP=2,0\",13,10]\r\n  pause 200\r\n hserout [\"AT+CIPAP=\",34,\"192.168.4.1\",34,13,10]\r\n   pause 200\r\n hserout [\"AT+CWSAP=\",34,\"ESP8266\",34,\",\",34,\"12345678\",34,\",6,4\",13,10]\r\n    pause 200\r\nhserout [\"AT+CIPSERVER=1,80\",13,10]\r\n  pause 200    \r\nBASLA:\r\n\r\n if kar1=1 and kar2=1 then call lightkontrol:kar1=0:kar2=0\r\n if kar1=1 and kar2=0 then call htmlgonder:kar1=0:kar2=0\r\n \r\n\r\nGoTo basla\r\n\r\nhtmlgonder:\r\ngosub sensoroku\r\n\r\n hserout [\"AT+CIPSEND=0,376\",13,10]\r\n pause 100\r\n hserout [\"&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;form action=\",34,34,\" method=\",34,\"post\",34,\"&gt;\",13,10]\r\n hserout [\"&lt;input id=\",34,\"LIGHT1ON\",34,\" type=\",34,\"submit\",34,\" name=\",34,\"submit\",34,\" value=\",34,\"LIGHT1 ON\",34,\"&gt;\",13,10]\r\n hserout [\"&lt;input id=\",34,\"LIGHT1OFF\",34,\" type=\",34,\"submit\",34,\" name=\",34,\"submit\",34,\" value=\",34,\"LIGHT1 OFF\",34,\"&gt;&lt;p&gt;\",13,10]\r\n hserout [\"&lt;input id=\",34,\"LIGHT2ON\",34,\" type=\",34,\"submit\",34,\" name=\",34,\"submit\",34,\" value=\",34,\"LIGHT2 ON\",34,\"&gt;\",13,10]\r\n hserout [\"&lt;input id=\",34,\"LIGHT2OFF\",34,\" type=\",34,\"submit\",34,\" name=\",34,\"submit\",34,\" value=\",34,\"LIGHT2 OFF\",34,\"&gt;&lt;\/p&gt;\",13,10]\r\n hserout [\"&lt;\/form&gt;&lt;\/html&gt;\",13,10]\r\n hserout [\"&lt;?php\",13,10]\r\n hserout [\"if (isset($_POST['action'])) {}?&gt;\",13,10]\r\n \r\nreturn\r\n\r\nlightkontrol:\r\nif  dd[5]=\"O\" and dd[6]=\"N\" then call ac\r\nif  dd[5]=\"O\" and dd[6]=\"F\" then call kapat\r\nreturn\r\nac:\r\nif  dd[3]=\"1\" then porta.0=0\r\nif  dd[3]=\"2\" then porta.1=0\r\nreturn\r\nkapat:\r\nif  dd[3]=\"1\" then porta.0=1\r\nif  dd[3]=\"2\" then porta.1=1\r\nreturn\r\n\r\n\r\ndisable\r\nKESME:  ; SER\u0130 PORT KESMES\u0130\r\nGIE=0 :kar1=0:kar2=0\r\nHSERIN 5,atla2, [WAIT(\"IPD\"),dd[1]]\r\nkar1=1\r\n  HSERIN 5,atla, [ dd[2]]\r\nHSERIN 5,atla2, [WAIT(\"LIGHT\"),dd[3]]\r\nkar2=1\r\n  for temp1=4 to 10\r\n  HSERIN 5,atla, [ dd[temp1]] \r\n  next temp1   \r\nATLA:\r\natla2:\r\nTEMP=RCREG\r\nGIE=1\r\nreturn\r\nenable\r\n\r\n; sensor ds18b20  okuma ve gonderme.\r\n SENSOROKU: \r\n           \r\n           OWOUT   Comm_Pin1, 1, [$CC, $44]' ISI de\u011ferini oku\r\n           \r\nBekle1:\r\n           OWIN    Comm_Pin1, 4, [Busy]    ' Busy de\u011ferini oku\r\n           IF      Busy = 0 THEN Bekle1  ' hala me\u015fgulm\u00fc? , evet ise goto Bekle..!\r\n           OWOUT   Comm_Pin1, 1, [$CC, $BE]' scratchpad memory oku\r\n           OWIN    Comm_Pin1, 2, [HAM.Lowbyte, HAM.Highbyte]' \u0130ki byte oku ve okumay\u0131 bitir.\r\n           GOSUB   Hesapla1\r\n           RETURN\r\n    \r\nHesapla1:                 ; Ham de\u011ferden Santigrat derece hesab\u0131\r\n    Sign  = \"+\"\r\n    IF SIGN_BITI = NEGAT_ISI THEN\r\n       Sign   = \"-\"  \r\n       temp=($ffff-ham+1)*625\r\n       ISI  = DIV32 10 \r\n       GOTO GEC1   \r\n    endif\r\n    TEMP = 625 * (HAM+1)         \r\n    ISI = DIV32 10          ; Div32 hassas derece hesab\u0131 i\u00e7in 32 bit b\u00f6lme yap\u0131yoruz.\r\nGEC1:\r\n    FLOAT = (ISI \/\/1000)\/100\r\n    ISI=(ISI\/1000)-1\r\n  \r\n  if ISI=64 then goto sensoroku  \r\n RETURN    \r\n \r\n\r\nend\r\n<\/pre>\n<p><strong><a href=\"https:\/\/drive.google.com\/open?id=1IMQXku8OdlVmb_O8Wsz49U4PEj46G0M0\" target=\"blank\" rel=\"noopener\">picbasic program\u0131 ve proteus \u015femas\u0131 (12F1822 server)<\/a><br \/>\n<span style=\"color: #ffcc00;\">Picbasic program\u0131 ds18b20 ile yap\u0131lm\u0131\u015f sens\u00f6r bilgilerini i\u00e7eriyor. \u00c7al\u0131\u015f\u0131yor fakat internete g\u00f6nderim metodu daha eklenmedi. Bilgileri inceledi\u011finizde ayn\u0131 metodla internete g\u00f6nderebilirsiniz. \u00a0<\/span><br \/>\n<\/strong>T\u00fcm sistem 115200 baud olarak \u00e7al\u0131\u015facakt\u0131r. Fakat Proteus ger\u00e7ek devreyi 115200 baud ile kontrol edemeyece\u011fi i\u00e7in ge\u00e7ici olarak ESP mod\u00fcl\u00fcn <strong>baud h\u0131z\u0131n\u0131 de\u011fi\u015ftirmemiz gerekiyor.<\/strong><br \/>\nBu de\u011fi\u015fim ESP mod\u00fcllerin versiyon ve modeline g\u00f6re de\u011fi\u015fiyor. Bir ba\u015fka ESP mod\u00fcl\u00fcnde AT+CIOBAUD komutu kullan\u0131l\u0131yormu\u015f.<br \/>\n<strong>Benim mod\u00fcl\u00fcm\u00fcn versiyonlar\u0131 a\u015fa\u011f\u0131dad\u0131r<\/strong>.<br \/>\n<strong>AT+GMR<\/strong>\u00a0\u00a0\u00a0 (komutuyla versiyon bilgilerini \u00f6\u011frenebilirsiniz. )<\/p>\n<p><strong><span style=\"color: #0000ff;\">AT version:1.2.0.0(Jul\u00a0 1 2016 20:04:45)<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">SDK version:1.5.4.1(39cb9a32)<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Ai-Thinker Technology Co. Ltd.<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">Dec\u00a0 2 2016 14:21:16<\/span><\/strong><br \/>\n<strong><span style=\"color: #0000ff;\">OK<\/span><\/strong><br \/>\nBu versiyona g\u00f6re olan haberle\u015fme h\u0131z\u0131 de\u011fi\u015ftirme komutlar\u0131.<br \/>\n<strong>AT+UART UART<\/strong> configuration, [@deprecated] \u00a0 Kullan\u0131mdan kald\u0131r\u0131lm\u0131\u015f.<br \/>\n<strong>AT+UART_CUR UART<\/strong> current configuration \u00a0 \u00a0 Ge\u00e7ici olarak de\u011fi\u015ftirir. G\u00fc\u00e7 kesildi\u011finde \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0eski haline d\u00f6ner.<br \/>\n<strong>AT+UART_DEF UART<\/strong> default configuration, save to flash\u00a0\u00a0 \u00a0 Bu komut kullan\u0131ld\u0131\u011f\u0131nda FLASH i\u00e7erisinde de\u011fi\u015fiklik yap\u0131ld\u0131\u011f\u0131ndan ayarlad\u0131\u011f\u0131n\u0131z\u00a0\u015fekilde kalacakt\u0131r.<br \/>\nPC \u00fczerinde herhangi bir seri port uygulamas\u0131 yada seri monit\u00f6r kullan\u0131larak\u00a0 Ge\u00e7ici olarak haberle\u015fme h\u0131z\u0131 de\u011fi\u015ftirilir.Sonras\u0131nda Proteus uygulamas\u0131 a\u00e7\u0131l\u0131r ve COMPIM komponenti ayarlar\u0131ndan ESP mod\u00fcl\u00fcn\u00fcn ba\u011fland\u0131\u011f\u0131 port se\u00e7ilerek program \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.<\/p>\n<p>Gerekli a\u00e7\u0131klamalar\u0131 videolar i\u00e7erisinde bulacaks\u0131n\u0131z.<\/p>\n<p><span style=\"color: #ff0000;\"><strong>T\u00dcM PROGRAMLARA<\/strong><\/span><strong> <a href=\"https:\/\/github.com\/safaka123\/Mikrobotik_yazilarim\/tree\/main\/ESP8266-01%20incelemesi_server\" target=\"_blank\" rel=\"noopener\">BURADAN ULA\u015eAB\u0130L\u0130RS\u0130N\u0130Z.\u00a0<\/a><\/strong><\/p>\n<p><span style=\"line-height: 1.6471;\"><strong>SUNUCU (server) video-1<\/strong><br \/>\n<iframe style=\"border: 2px solid blue;\" data-src=\"https:\/\/www.youtube.com\/embed\/8KuMMGfCUA0\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" data-load-mode=\"1\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start lazyload\">\ufeff<\/span><\/iframe><\/span><\/p>\n<p><strong>SUNUCU (server) video-1<\/strong><br \/>\n<iframe style=\"border: 2px solid blue;\" data-src=\"https:\/\/www.youtube.com\/embed\/i12O26ZdY8Y\" width=\"640\" height=\"360\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" data-load-mode=\"1\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start lazyload\">\ufeff<\/span><\/iframe><\/p>\n<p><strong><a href=\"https:\/\/www.mikrobotik.com\/wp2\/2018\/06\/03\/esp8266-01_client\/\">Mod\u00fcl\u00fcn \u0130stemci (Client ) olarak \u00e7al\u0131\u015fmas\u0131n\u0131 g\u00f6r\u00fcn<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SUNUCU OLARAK \u00c7ALI\u015eMA : ESP mod\u00fcl\u00fcm\u00fcz\u00fc seri port \u00fczerinden PC ye ba\u011flad\u0131ktan sonra program ile ESP mod\u00fcl\u00fcm\u00fcz\u00fcn Sunucu ayarlar\u0131n\u0131\u00a0yapmaya ba\u015flayal\u0131m. Bu ad\u0131mlar ayn\u0131 zamanda arduino yada pic gibi mikroi\u015flemciler ve&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,7],"tags":[],"class_list":["post-121","post","type-post","status-publish","format-standard","hentry","category-arduino","category-esp"],"_links":{"self":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/121","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=121"}],"version-history":[{"count":3,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/121\/revisions"}],"predecessor-version":[{"id":2513,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/posts\/121\/revisions\/2513"}],"wp:attachment":[{"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/media?parent=121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/categories?post=121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mikrobotik.com\/wp2\/wp-json\/wp\/v2\/tags?post=121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}