- Katılım
 - 27 Şubat 2019
 
- Mesajlar
 - 12,772
 
O zaman ben 234 yazarken 222333444 yazar ve * ile gönderirsem 234 mü gidecek yine?O gördüğün ekrandaki görüntü. Senin idx her defasında sadece 1 kere 2 komutunu işliyor. Tek satır olduğu için 2222 gibi görüyor.
O zaman ben 234 yazarken 222333444 yazar ve * ile gönderirsem 234 mü gidecek yine?O gördüğün ekrandaki görüntü. Senin idx her defasında sadece 1 kere 2 komutunu işliyor. Tek satır olduğu için 2222 gibi görüyor.
 if (konsol) {
                Serial.printf("[HTTP] GET... uyarı, hata: %s\n\r", http.errorToString(httpKod).c_str());
            }
            SatirTemizle(1);
            lcd.print("Hata:");
            lcd.setCursor(6,3);
            lcd.print(httpKod);
        }
        http.end();
	void SiparisVer(String TamUrl) {
    std::unique_ptr<BearSSL::WiFiClientSecure>client(new BearSSL::WiFiClientSecure);
    client->setInsecure();
    HTTPClient http;
/*
    if (konsol) {
        Serial.println(TamUrl);
    }
*/
  if (http.begin(*client, TamUrl )) {
        // HTTPS
        int httpKod = http.GET();
        if (httpKod > 0) {
            if (konsol) {
                Serial.printf("[HTTP] Header Kod: %d\n", httpKod);
            }
            if (httpKod == HTTP_CODE_OK) {
                String SayfaDonus = http.getString();
                if (konsol) {
                    Serial.print(String("[HTTP] Sayfanın yaptığı dönüş: ") + SayfaDonus);
                }
                SatirTemizle(1);
                lcd.print(SayfaDonus);
            } else {
                SatirTemizle(1);
                lcd.print("Sayfa cevap vermiyor");
            }
        } else {
            if (konsol) {
                Serial.printf("[HTTP] GET... uyarı, hata: %s\n\r", http.errorToString(httpKod).c_str());
            }
            SatirTemizle(1);
            lcd.print("Hata:");
            lcd.setCursor(6,3);
            lcd.print(httpKod);
        }
        http.end();
    } else {
        if (konsol) {
            Serial.printf("[HTTP] Bağlantı Hatası!\n\r");
        }
        SatirTemizle(1);
        lcd.print("Baglanti Hatasi!");
    }
}
	Sizlere ömür benim kod. Aduino ideyi derinden temizlerken hedef gözetmedim di.Senin kod zaten haberleşiyor demiştin, onu kullan.
Yarın netten bakayım. Zaten öncekini de netten bulmuştum.İnternetteki başka örneklere bak istersen ssl için fazladan bir kaç ekleme yapmıştım. Basit örnekleri birleştirmek değiştirmeye uğraşmaktan daha kolay olur.
 String url = TamUrl;
           url += "/int/keypad.php?";
           url += "siparis=";
           url += urlEk;
    Serial.print("Requesting URL: ");
    Serial.println(url);
    //Bu, isteği sunucuya gönderir
    client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                 "Host: " + url + "\r\n" +
                 "Connection: close\r\n\r\n");
   unsigned long timeout = millis();
    while (client.available() == 0){
      if(millis() - timeout > 5000){
      Serial.println(">>> client Timeout !");
      client.stop();
      return;
    }
	 //Şimdi istek için bir URI oluşturduk
    String url = "http://";  // Buradan ekleyince çalıştı.
           url += TamUrl;
           url += "/int/keypad.php?";
           url += "siparis=";
           url += urlEk;
	while(client.available()){
    String line = client.readStringUntil('\r');
    Serial.print(line);
  }
	HTTP/1.1 302 Found
Date: Sat, 26 Sep 2020 18:54:00 GMT
Server: Apache/2.4.46 (Win32) PHP/7.3.21
X-Powered-By: PHP/7.3.21
Location: keypad.php?hata=2
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8
	Sen demiştin ya önceden nasıl çalıştırdıysan öyle yap diye.Bağlantı kurduktan ( http.begin ) sonra;
String line = http.getString();
ile alırsın. Aslında bağlantıyı kurduktan sonra
http.GET();
ile apache cevap kontrolü de yaparsan daha da sağlıklı olur.
void SiparisVer(String TamUrl, int urlEk) {
  //    Sipariş Verme Fonksiyonu
    SatirTemizle(0);
    lcd.setCursor(0,0);
    lcd.print("Tusla Gelsin v1");
    SatirTemizle(1);
    lcd.setCursor(0,1);
    lcd.print("Baglaniyor...");
    delay(5000);
    //TCP bağlantıları oluşturmak için WiFiClient sınıfını kullanın
    WiFiClient client;
    const int httpPort = 80;
    if(!client.connect(url,httpPort)){
      Serial.print(url);
      SatirTemizle(1);
      lcd.setCursor(0,1);
      lcd.print("Baglanamadi...");
      return;
    }
     SatirTemizle(0);
     SatirTemizle(1);
      lcd.setCursor(0,0);
      lcd.print("Baglandi...");
      lcd.setCursor(0,1);
      lcd.print("Urun isleniyor..");
      delay(3000);
    //Şimdi istek için bir URI oluşturduk
    String url = "http://";
           url += TamUrl;
           url += "/int/keypad.php?";
           url += "siparis=";
           url += urlEk;
    Serial.print("Requesting URL: ");
    Serial.println(url);
    //Bu, isteği sunucuya gönderir
    client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                 "Host: " + url + "\r\n" +
                 "Connection: close\r\n\r\n");
                
   unsigned long timeout = millis();
    while (client.available() == 0){
      if(millis() - timeout > 5000){
      Serial.println(">>> client Timeout !");
      client.stop();
      return;
    }
  }
  //Cevabın tüm satırlarını sunucudan oku ve seriye yazdır
 
  while(client.available()){
    String line = client.readStringUntil('\r');
    //Serial.print(line);
    if(line == "HTTP/1.1 302 Found"){
        SatirTemizle(0);
        lcd.setCursor(0,0);
        lcd.print("Urun Zaten Var");
        SatirTemizle(1);
        lcd.setCursor(0,1);
        lcd.print("Yeni Urun Girinz");
      //Serial.print(line);
      //Serial.println("Ürün Zaten Var");
      return;
      }else{
        SatirTemizle(0);
        lcd.setCursor(0,0);
        lcd.print("Urun Eklendi");
        SatirTemizle(1);
        lcd.setCursor(0,1);
        lcd.print("Yeni Urun Girinz");
        return;
        }
  }
 
  String line = client.readStringUntil('\r');
    Serial.print(line);
  Serial.println();
  Serial.println("closing connecting");
  delay(10000);
}
	digitalWrite(D8, HIGH);  olarak bağlı.Şu anahtarlı Micro USB kablodan alacağım;Karbon pil ile lityum aynı olmaz. Bir de şu an konuştuklarımız biraz işkembeden sallama usulü. Yapacağın en güzel şey devre tamamen bittikten sonra çektiği gücü hesaplayıp ona göre adaptör ya da pil (pil ise ne çeşit?) karar vermek olur.