Arduino ethernet http GET requst – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Arduino ethernet http GET requst – Mikrokontroléry – Fórum – Programujte.comArduino ethernet http GET requst – Mikrokontroléry – Fórum – Programujte.com

 

Pavel
~ Anonymní uživatel
383 příspěvků
10. 6. 2015   #1
-
0
-

Ahoj, potřeboval bych z arduina posílat data na web.K tomu mi slouží php script na webovém serveru.PHP script je funkční ale asi mám chybně zformovaný GET řetězec v arduinu protože se data neukládají.Když data na web pošlu z adresního řádku v prohlížeči tak se uloží.

Data by měla vypadat takto:http://**mojeURL**/index.php?tempV=55.0&humV=50.0

kod v arduinu kde se skládá GET řetězec je zde:

 if(client.connect(serverName, 80))
       {
           Serial.println("connected...");
           Serial.println("ARDUINO: forming HTTP request message");
           client.print("GET /index.php?tempV=");
           client.print(t);
           client.print("&humV=");
           client.print(h);
           client.println(" HTTP/1.1");
           client.println("Host: localhost");
           client.println("Connection: close");
           client.println();

           Serial.println("ARDUINO: HTTP message sent");
           delay(30000);

           client.stop();
           //client.flush(); 
       }
       else
       {
           Serial.println("connection failure");
       }
   
}

poradíte kde dělám chybu?

předem díky.

Nahlásit jako SPAM
IP: 109.202.68.–
KIIV
~ Moderátor
+43
God of flame
10. 6. 2015   #2
-
0
-

A zkusil sis nechat poslat co to vygeneruje po Serial? Umis si odchytit komunikaci s webserverem? Nebo aspon nehlasi webserver neco?

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Pavel
~ Anonymní uživatel
383 příspěvků
10. 6. 2015   #3
-
0
-

teď na tom dělám spustil jsem www server s logováním na androidu, přenastavím cílovou IP a kouknu do logu co to posílá.

Nahlásit jako SPAM
IP: 109.202.68.–
Pavel
~ Anonymní uživatel
383 příspěvků
10. 6. 2015   #4
-
0
-

zde je výpis z logu Apache:

10.0.0.88 - - [10/Jun/2015:15:25:28 +0200] "GET /index.php?tempV=26.00&humV=35.00 HTTP/1.1" 400 310
10.0.0.88 - - [10/Jun/2015:15:25:58 +0200] "GET /index.php?tempV=26.00&humV=35.00 HTTP/1.1" 400 310

když tuto část "/index.php?tempV=26.00&humV=35.00" přidám za adresu serveru data se zapíší do mysql DB.

Tak nevim kde je chyba.

Nahlásit jako SPAM
IP: 109.202.68.–
KIIV
~ Moderátor
+43
God of flame
10. 6. 2015   #5
-
0
-

Chyba 400 je takzvane Bad Request... jses si napriklad 100% jist, ze se posila \r\n a ne jen \n pomoci toho println?

Nahlásit jako SPAM
IP: 94.113.93.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Ovrscout
~ Anonymní uživatel
112 příspěvků
10. 6. 2015   #6
-
0
-

#4 Pavel
Střelba od boku: Zkus do "Host: localhost" zadat skutečnou ip adresu nebo DNS jméno pokud přes něj přistupuješ.
Jinak, jak psal Kiv, ověř si že řetězec co posíláš je správný, nejdřív si jej sestav v paměti(stringu,poli,..) třeba ulož do souboru,  nebo ho zkoukni v debugeru. Hlavně jestli jsou na konci ta odřádkování dvě(aby ti je to nějak automaticky nesloučilo :) ).

Pokud můžeš(server běží u tebe), zkus vysledovat komunikaci mezi serverem a arduinem pomocí programu wireshark.Tam si můžeš porovnat to co posílá arduino a co webový prohlížeč.

 

Nahlásit jako SPAM
IP: 193.165.79.–
Kit+15
Guru
10. 6. 2015   #7
-
0
-

#1 Pavel
Místo stringu "localhost" tam zřejmě patří proměnná serverName.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Pavel
~ Anonymní uživatel
383 příspěvků
11. 6. 2015   #8
-
+1
-
Zajímavé
Kit +

Ahoj , tak chyba 400 je možná kvůli tomu že jsem to zkoušel na www serveru kde nebyl cílový php soubor.

projekt který řeším je nahrazení ethernetového teploměru/vlhkoměru TH2E od firmy papouch arduinem a ukládání dat na základě scriptů z http://tricker.cz/nova-verze-aplikace-pro-tmeth2e-tmep-8/.

zde je výpis odpovědi serveru kde je funkční php script:

kus generovaný arduinem:

10.0.0.88
Humidity: 36.00 %    Temperature: 24.00 *C
ARDUINO: attempting to connect... connected...
ARDUINO: forming HTTP request message
ARDUINO: HTTP message sent

zbytek jako odpověď serveru

HTTP/1.1 200 OK
Date: Thu, 11 Jun 2015 06:26:39 GMT
Server: Apache/2.2.22 (Debian)
X-Powered-By: PHP/5.6.9-1~dotdeb+7.2
Vary: Accept-Encoding
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8

Solved :-) samo se to rozjelo když jsem začal přebírat odpověď od serveru.

Jinak jsem ještě doplnil namisto localhost adresu serveru, ale to samotný nepomodlo.

Se samotným skládáním Http get řetězce jsem také nic nedělal.

Děkuji za zájem a rady. 

Nahlásit jako SPAM
IP: 109.202.68.–
KIIV
~ Moderátor
+43
God of flame
11. 6. 2015   #9
-
0
-

Pro neexistujici soubor by to melo hodit 404

Host se akorat pouziva pro virtualni servery - pro jednu IP je hromada domen a kazda ma samostatny web.

Nahlásit jako SPAM
IP: 212.47.3.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Kit+15
Guru
11. 6. 2015   #10
-
0
-

#8 Pavel
A my Ti děkujeme za poskytnutí řešení problému.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 1 host

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý