[vz-dev] Temperatur / 1wire / httplog - GET / Post ?

Klaus Reichenecker kr at kr123.de
Fri Nov 11 00:29:27 CET 2011


Danke Thorben, das wars :-)

im control6.src von 
http://wiki.volkszaehler.org/hardware/channels/sensors/1_wire

muss bei HTTPLOG("<uuid>.json?value=%s\n", temp_str);


das \n weg


hat das bislang überhaupt bei irgend jemand funktioniert ?

Grüße

Klaus




----- Original Message ----- 
From: "Thorben Thuermer" <r00t at constancy.org>
To: "volkszaehler.org" <volkszaehler-dev at lists.volkszaehler.org>
Sent: Thursday, November 10, 2011 10:58 PM
Subject: Re: [vz-dev] Temperatur / 1wire / httplog - GET / Post ?


On Thu, 10 Nov 2011 21:53:18 +0100
"Klaus Reichenecker" <kr at kr123.de> wrote:
> so langsam schaue ich durch:
>
> bei
> curl -d ""
> http://demo.volkszaehler.org/middleware.php/data/95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=24,9
> wird
>> POST
>> /middleware.php/data/95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=24,9
>> HTTP/1.1\r\n
> geschickt
> aber VZ / httplog schickt nur:
>> POST
>> /middleware.php/data/95d98700-07da-11e1-bb04-0fe73f97b4c6.json?value=23.8\n
> das HTTP/1.1\r fehlt

mal ganz nebenbei: ist es der middleware egal ob das dezimal-trennzeichen
punkt oder komma ist?!

> in HTTPLOG.c steht:
[...]
> static const char PROGMEM get_string_head[] =
> "POST " CONF_HTTPLOG_PATH ;
[...]
> static const char PROGMEM get_string_foot[] =
> " HTTP/1.1\n"
> "Host: " CONF_HTTPLOG_SERVICE "\r\n\r\nstatic const char PROGMEM";
>
> warum werden die letzten beiden Zeilen nicht mit angehängt`?

am wahrscheinlichsten ist, dass die schon angehaengt werden, aber hinter dem
value noch ein \n steht, das da nicht hingehoert...
das solltest du in wireshark dann im rest des pakets sehen koennen...
(rutscht dann in die erste header-zeile.)

> Ich habe nur Basic-Kenntnisse aus C64-Zeiten, aber nach meinem 
> Verständniss
> müsste es passen ?
> ( Ich habe bei Include Unix Timestamp und Include uuid nichts angegeben)
> fehlt evtl. hinter " HTTP/1.1\n" ein Semikolon ?

das ist so richtig... konkatenation von stringkonstanten geht in C durch
hintereinanderschreiben ohne operator.
ansonsten wuerde das auch einen fehler beim kompilieren geben und nicht
zur laufzeit.
ausserdem werden da nur konstanten im programmspeicher
("static const char PROGMEM") definiert die dann spaeter zu dem request
zusammengebaut werden. das dabei eine vergessen wird ist unwahrscheinlich.
siehe die vermutung zum \n oben.

> Grüße
> Klaus

- T.
_______________________________________________
volkszaehler-dev mailing list
volkszaehler-dev at lists.volkszaehler.org
https://volkszaehler.org/mailman/listinfo/volkszaehler-dev 



More information about the volkszaehler-dev mailing list