nacitani hodnot z PHP na synology

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: nacitani hodnot z PHP na synology

Příspěvek od Kony » 02 lis 2021, 13:31

to se snažím, každý řádek se snažím pochopit, ale nechápu proč to končí u odeslan request

martinius96
Příspěvky: 579
Registrován: 01 srp 2017, 19:29
Reputation: 0
Bydliště: Poprad
Kontaktovat uživatele:

Re: nacitani hodnot z PHP na synology

Příspěvek od martinius96 » 02 lis 2021, 14:14

Na UART Vypíšeš: Čas: \r - ten znak ti UART nevypíše.
Vypíšeš v postate prázdny riadok medzi HTTP hlavičkou a Payloadom na UART.
Potrebuješ sa posunúť o riadok nižšie a načítať payload.

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: nacitani hodnot z PHP na synology

Příspěvek od KamilV » 02 lis 2021, 14:22

Ale mu to neprojde ani k "Nacten radek:"
Z hlavy moc netuším proč, já bych ten kód skládal postupně a tím odkrokoval, kde to umírá.

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: nacitani hodnot z PHP na synology

Příspěvek od Kony » 02 lis 2021, 17:47

no a ja si stim mam poradit :)

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: nacitani hodnot z PHP na synology

Příspěvek od KamilV » 02 lis 2021, 18:54

Jasně, jak píšu, postupně a přidávat.
Já teď nemám po ruce žádné ardu, tak se mi to z hlavy ladit fakt nechce...

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: nacitani hodnot z PHP na synology

Příspěvek od Kony » 03 lis 2021, 15:41

je ale divny, ze pokud to pustim ty www stranky na linux masine, tak to jede hnedka i s tím prvním co jsem posílal v prvním příspěvku..
Ale to synology ne a ne

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: nacitani hodnot z PHP na synology

Příspěvek od KamilV » 04 lis 2021, 09:56

Ta response chodí z Debianu, takže i tak to běží na linuxu.
Parsuje se podle \r a \n, což je standard. Pokud to někde chodí a někde ne, tak bych se podíval na "bílé/neviditelné" znaky, zda synology neformátuje response nějak nestandardně. Moc se mi nezdá, že by to dělala, ale jiné vysvětlení mne nenapadá.

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: nacitani hodnot z PHP na synology

Příspěvek od Kony » 04 lis 2021, 10:11

Nn nebezi na synology debian, jen jsem mel presmerovany port na ten debian... zkus ted, zase jsem to presneroval na synology

Kony
Příspěvky: 382
Registrován: 09 dub 2020, 11:43
Reputation: 0

Re: nacitani hodnot z PHP na synology

Příspěvek od Kony » 04 lis 2021, 19:07

Tak HOTOVO

Kód: Vybrat vše

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>

// Nazev Wi-Fi site, do ktere se mam pripojit
const char* ssid = "Kony";
// Heslo Wi-Fi site, do ktere se mam pripojit
const char* password = "wifiheslo";
WiFiClient client;
HTTPClient http;

void setup() {
 // Nastartuj seriovou linku, do ktere budu vypisovat provozni informace
 Serial.begin(9600);

 // Pripojeni k Wi-Fi
 Serial.println();
 Serial.print("Pripojuji k ");
 Serial.println(ssid);
 WiFi.begin(ssid, password);

 // Dokud nejsem pripojeny k Wi-Fi,zapisuj do seriove linky tecky progressbaru
 while (WiFi.status() != WL_CONNECTED) {
 delay(100);
 Serial.print(".");
 }

 // Jsem pripojeny k Wi-Fi a mohu pokracovat
 Serial.println();
 Serial.println("WiFi pripojena!");

 // Napis IP adresu, kterou mikropocitac dostal
 Serial.print("Pouzij k pripojeni tuto adresu: ");
 Serial.print("http://");
 Serial.println(WiFi.localIP());


}

// Smycka loop se opakuje stale dokola

void loop() {
   String URL = "http://192.168.1.250/cas.php"; // Works with HTTP
  http.begin(client, URL); // Works with HTTP
  
  int httpCode = http.GET();
  if (httpCode > 0) {
    String payload = http.getString();
    Serial.println(payload); // Print response
  }
  
  http.end();
  delay(5000); 
}

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: nacitani hodnot z PHP na synology

Příspěvek od KamilV » 05 lis 2021, 08:21

No vidíš, a teď už to jen učesat:

Kód: Vybrat vše

void loop() {
  // jaky smysl ma stale vytvaret promennou, kdyz ji nikde dal nepouzivas? A pokud pozdeji budes, proc to neni konstanta nekde v globalu?
  http.begin(client, F("http://192.168.1.250/cas.php")); // Works with HTTP
  
  int httpCode = http.GET();
  // testovat HTTP status > 0 je na pul cesty, spadaji tam i vsechny chybove stavy, nestaci HTTP 200 OK ?
  if (httpCode == 200) {
    String payload = http.getString();
    Serial.println(payload); // Print response
  }
  
  http.end();
  delay(5000); 
}

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů