Re: [ethersex-devel] http request mit control6

2015-05-11 Diskussionsfäden Michael Brakemeier
Hi,

@Tom: ändere doch bitte mal in Zeile 16 in control6/lang.d/50_httplog.m4
das  `httplog_P($1)' in `httplog($1)' und versuche es nochmal. Und poste
doch bitte mal die aus dem control6 generierte C-Quelle.

VG michaelb

P.S.: das ist m4-Code - die unterschiedlichen Hochkommata müssen genau
so ;-)

Am 11.05.2015 um 09:19 schrieb jus...@justinotherguy.org:
 Hi Tom,

 Am 11.05.2015 um 07:16 schrieb Tom Weber tom.we...@gmx.de:

 wenn ich den request mit httplog aus control6 absetze, sehe ich in Wireshark:
 GET /pck?\001 HTTP/1.1\n
 dabei scheint es ziemlich egal zu sein, welchen String ich da absetze. So 
 erzeugt ein HTTPLOG(Kuckuck) in Wireshark:
 GET /pck?\001 HTTP/1.1\n
 aus purer Verzweiflung habe ich jetzt ein HTTPLOG(Kuckuck,test); 
 abgesetzt, dann kommt:
 GET /pck?Kuckuck HTTP/1.1\n

 kann es sein, dass irgendwie eine 2.Option nötig ist?
 das klingt seltsam; ich bin nicht sicher, ob ich httplog via control6 je 
 selbst verwendet habe.
 Via watchasync und via ecmd klappt’s auf alle Fälle - mag sein, dass das in 
 control6 ne Macke hat.
 Was genau hast Du denn vor?


 Gruß, J.


 ___
 Ethersex-devel mailing list
 Ethersex-devel@list.zerties.org
 http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel


-- 
Michael Brakemeier
mich...@brakemeier.de


___
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel


Re: [ethersex-devel] http request mit control6

2015-05-11 Diskussionsfäden Tom Weber

Moin,

@Michael: Jawoll, mit der Änderung lüppt es. Die erzeugte control6.c ist 
im Anhang. Ist das ein Bug, der geforkt wird ? Sonst passe ich wohl 
einfach alle meine Boards an, wenn das nicht mit einem git pull origin 
in die Quere kommt...


@Justin: Ich nutze das, um regelmäßig oder aufgrund eines Eregnisses die 
Messwerte am ADC und die PINzustände an meinen Hausbus zu übertagen. Da 
habe ich eine http-Schnittstelle, wo ich im Prinzip alles im Haus 
steuern kann. Watch-IO wollte einfach nicht, wenn die PINS auf Output 
stehen.


P.S. Mich wundert es, dass ich im Netz Beispiele mit HTTPLOG finde:
http://wiki.volkszaehler.org/hardware/channels/sensors/1_wire

da steht dann HTTPLOG(uuid.json?value=%s, temp_str);

also doch mehr als 1 Parameter, wenn printf-Formatierungen  genutzt werden ?

Jedenfalls super, dass es jetzt funzt !

Grüße,
Tom

Am 11.05.2015 um 09:51 schrieb Michael Brakemeier:

Hi,

@Tom: ändere doch bitte mal in Zeile 16 in control6/lang.d/50_httplog.m4
das  `httplog_P($1)' in `httplog($1)' und versuche es nochmal. Und poste
doch bitte mal die aus dem control6 generierte C-Quelle.

VG michaelb

P.S.: das ist m4-Code - die unterschiedlichen Hochkommata müssen genau
so ;-)

Am 11.05.2015 um 09:19 schrieb jus...@justinotherguy.org:

Hi Tom,


Am 11.05.2015 um 07:16 schrieb Tom Weber tom.we...@gmx.de:

wenn ich den request mit httplog aus control6 absetze, sehe ich in Wireshark:
GET /pck?\001 HTTP/1.1\n
dabei scheint es ziemlich egal zu sein, welchen String ich da absetze. So erzeugt ein 
HTTPLOG(Kuckuck) in Wireshark:
GET /pck?\001 HTTP/1.1\n
aus purer Verzweiflung habe ich jetzt ein HTTPLOG(Kuckuck,test); abgesetzt, 
dann kommt:
GET /pck?Kuckuck HTTP/1.1\n

kann es sein, dass irgendwie eine 2.Option nötig ist?

das klingt seltsam; ich bin nicht sicher, ob ich httplog via control6 je selbst 
verwendet habe.
Via watchasync und via ecmd klappt’s auf alle Fälle - mag sein, dass das in 
control6 ne Macke hat.
Was genau hast Du denn vor?


Gruß, J.


___
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel



/* C6-DIVERT: 0 */
#include avr/io.h
#include avr/pgmspace.h
#include services/clock/clock.h
#include core/pt/pt.h
#include core/vfs/vfs.h
#include core/vfs/vfs-util.h
#include config.h
#include hardware/adc/kty/kty81.h
#ifdef NAMED_PIN_SUPPORT
#include core/portio/user_config.h
#endif
#include protocols/ecmd/sender/ecmd_sender_net.h
#include protocols/uip/uip_router.h

#include protocols/uip/uip.h
#include control6.h

struct action {
  uint8_t started;
  struct pt pt;
};





#define TCP_STATE (uip_conn-appstate.control6_tcp)



#define UDP_STATE (uip_udp_conn-appstate.control6_udp)
#define UDP_BUF ((struct uip_udpip_hdr *) (uip_appdata - UIP_IPUDPH_LEN))

#include core/debug.h
#include core/tty/tty.h

// 

// Beispiele zum Abfragen auf r2d2 als .php und .sh
// 
// Aufruf z.B.:
// wget -q -O - http://ether6terrs/ecmd?c6%20set%20r1%205
// 




#include config.h
#include protocols/httplog/httplog.h

static uint8_t t1=0;
static uint8_t t2=0;
static uint8_t relais;
static uint16_t adc0;
static uint16_t adc1;
static uint16_t adc2;
static uint16_t adc3;
static uint16_t adc4;
static uint16_t adc5;
static uint16_t adc6;
static uint16_t adc7;

struct action action_threads[] = {
 {0, {0} }, {0, {0} }, {0, {0} },
};

/* C6-DIVERT: 1 */
uint32_t timers[] = {
 -1, -1,
};

/* C6-DIVERT: 2 */
#ifdef C6_CLOCK_USED
clock_datetime_t datetime;
uint8_t last_minute;
#ifndef CLOCK_SUPPORT
#error Please define clock support
#endif
#if defined(CLOCK_DATETIME_SUPPORT) || defined(CLOCK_DATE_SUPPORT) || 
defined(CLOCK_TIME_SUPPORT)
#else
#error Please define clock date/time support
#endif
#endif
#include hardware/lcd/hr20.h
#include hardware/adc/hr20-temp.h

#define C6_ECMD_USED 1
#ifndef ECMD_PARSER_SUPPORT
#error Please define ECMD
#endif

#include control6/ecmd.c

/*
  -- Ethersex META --
ecmd_feature(c6_get, c6 get , VARNAME, Display the current value of the 
Control6 ECMD variable)
ecmd_feature(c6_set, c6 set , VARNAME VALUE, Set an new value on the 
Control6 ECMD variable)
*/

const char PROGMEM seccnt_text[] = seccnt;
const char PROGMEM r1_text[] = r1;
const char PROGMEM r2_text[] = r2;
const char PROGMEM r3_text[] = r3;
const char PROGMEM r4_text[] = r4;
const char PROGMEM r5_text[] = r5;
const char PROGMEM r6_text[] = r6;
const char PROGMEM r7_text[] = r7;
const char PROGMEM r8_text[] = r8;
const char PROGMEM state_text[] = state;
uint32_t current_time;
#ifndef CLOCK_SUPPORT
#error Please define clock support
#endif


#ifndef ADC_SUPPORT
#error Please define adc support
#endif

#include hardware/adc/adc.h

static uint16_t

Re: [ethersex-devel] http request mit control6

2015-05-11 Diskussionsfäden Michael Brakemeier
Hi,

wenn du nur einen Parameter für HTTPLOG() nutzt, dann wird nach dem
Umwandeln in C die Funktion httplog_P() mit dem einen übergebenen und
nicht weiter malträtierten Parameter als Argument aufgerufen. Wird mehr
als ein Parameter übergeben, dann wird httplog_P() aber mit dem ersten
Parameter in einem PSTR()-Makro aufgerufen und alle weiteren Parameter
direkt. Ohne PSTR() zeigt der Pointer auf die erste Zeichenkette auf
einem AVR aber irgendwo in das RAM, statt in das Flash, wo die
Zeichenketten für die *_P()-Funktionen erwartet werden.

Teste doch bitte nochmal ein HTTPLOG(PSTR(kuckuck)). Wenn das ohne
Problem funktioniert, dann die Form mit einem Parameter bitte so mit
PSTR() verwenden. Andernfalls bitte ein Issue im Github öffnen. Das ist
entweder ein Bug in der kaum bis gar nicht vorhandenen Doku, oder ein
Bug in dem M4-Code. Schauen wir mal... :-)

VG michaelb.

Am 11.05.2015 um 12:57 schrieb Tom Weber:
 Moin,

 @Michael: Jawoll, mit der Änderung lüppt es. Die erzeugte control6.c
 ist im Anhang. Ist das ein Bug, der geforkt wird ? Sonst passe ich
 wohl einfach alle meine Boards an, wenn das nicht mit einem git pull
 origin in die Quere kommt...

 @Justin: Ich nutze das, um regelmäßig oder aufgrund eines Eregnisses
 die Messwerte am ADC und die PINzustände an meinen Hausbus zu
 übertagen. Da habe ich eine http-Schnittstelle, wo ich im Prinzip
 alles im Haus steuern kann. Watch-IO wollte einfach nicht, wenn die
 PINS auf Output stehen.

 P.S. Mich wundert es, dass ich im Netz Beispiele mit HTTPLOG finde:
 http://wiki.volkszaehler.org/hardware/channels/sensors/1_wire

 da steht dann HTTPLOG(uuid.json?value=%s, temp_str);

 also doch mehr als 1 Parameter, wenn printf-Formatierungen  genutzt
 werden ?

 Jedenfalls super, dass es jetzt funzt !

 Grüße,
 Tom

 Am 11.05.2015 um 09:51 schrieb Michael Brakemeier:
 Hi,

 @Tom: ändere doch bitte mal in Zeile 16 in control6/lang.d/50_httplog.m4
 das  `httplog_P($1)' in `httplog($1)' und versuche es nochmal. Und poste
 doch bitte mal die aus dem control6 generierte C-Quelle.

 VG michaelb

 P.S.: das ist m4-Code - die unterschiedlichen Hochkommata müssen genau
 so ;-)

 Am 11.05.2015 um 09:19 schrieb jus...@justinotherguy.org:
 Hi Tom,

 Am 11.05.2015 um 07:16 schrieb Tom Weber tom.we...@gmx.de:

 wenn ich den request mit httplog aus control6 absetze, sehe ich in
 Wireshark:
 GET /pck?\001 HTTP/1.1\n
 dabei scheint es ziemlich egal zu sein, welchen String ich da
 absetze. So erzeugt ein HTTPLOG(Kuckuck) in Wireshark:
 GET /pck?\001 HTTP/1.1\n
 aus purer Verzweiflung habe ich jetzt ein
 HTTPLOG(Kuckuck,test); abgesetzt, dann kommt:
 GET /pck?Kuckuck HTTP/1.1\n

 kann es sein, dass irgendwie eine 2.Option nötig ist?
 das klingt seltsam; ich bin nicht sicher, ob ich httplog via
 control6 je selbst verwendet habe.
 Via watchasync und via ecmd klappt’s auf alle Fälle - mag sein, dass
 das in control6 ne Macke hat.
 Was genau hast Du denn vor?


 Gruß, J.


 ___
 Ethersex-devel mailing list
 Ethersex-devel@list.zerties.org
 http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel




 ___
 Ethersex-devel mailing list
 Ethersex-devel@list.zerties.org
 http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel

-- 
Michael Brakemeier
mich...@brakemeier.de

___
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel


Re: [ethersex-devel] http request mit control6

2015-05-10 Diskussionsfäden Tom Weber

Moinmoin,

stimmt - aber das lässt sich ja wieder in die Liste kriegen ;-)

wenn ich den request mit httplog aus control6 absetze, sehe ich in 
Wireshark:

GET /pck?\001 HTTP/1.1\n
dabei scheint es ziemlich egal zu sein, welchen String ich da absetze. 
So erzeugt ein HTTPLOG(Kuckuck) in Wireshark:

GET /pck?\001 HTTP/1.1\n
aus purer Verzweiflung habe ich jetzt ein HTTPLOG(Kuckuck,test); 
abgesetzt, dann kommt:

GET /pck?Kuckuck HTTP/1.1\n

kann es sein, dass irgendwie eine 2.Option nötig ist?

Grüße,
Tom





 Weitergeleitete Nachricht 
Betreff:Re: [ethersex-devel] http request mit control6
Datum:  Sun, 10 May 2015 23:06:29 +0200
Von:jus...@justinotherguy.org
An: Tom Weber tom.we...@gmx.de



Moin,

(sehe gerade, dass die Mails nicht mehr auf der ML landen - schade für künftige 
Sucher…)


Am 09.05.2015 um 14:02 schrieb Tom Weber tom.we...@gmx.de:

Jetzt bin ich doch wieder beim httplog angekommen - bekam es mittlerweile auch 
aktiviert, der wollte ja DNS haben.

Es funktioniert bloß nicht. Der httplog ist wie folgt:
http://192.168.178.1:8000/pck?c=%3EM80.PIN001;

ich habe daher
Service: 192.168.178.1
Path /pck

und dann im control6:
#include protocols/httplog/httplog.h

HTTPLOG(?c=M85.PIN001);
bzw. auch mal
HTTPLOG(?c=%3EM85.PIN001);

in der httplog.c habe ich HTONS(80) durch HTONS(8000) ersetzt, um den port 
anzupassen

Mache vlt doch noch irgndwo einen Gedankenfehler ?


sieht gut aus (habe das aber nicht mehr im Detail im Kopf und keine 
Testumgebung) - kannst Du auf dem Web-Server einen tcpdump starten?

Kommen da Anfragen auf Port 8000 an?


Gruß, J.



___
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel


Re: [ethersex-devel] http request mit control6

2015-05-08 Diskussionsfäden justin
Servus Tom,

 Am 07.05.2015 um 12:43 schrieb Tom Weber tom.we...@gmx.de:
 
 hat jemand eine Idee, wie ich mit control6 einen http request machen kann ?

dafür habe ich mal http_log gebaut. Du kannst per make menuconfig die Parameter 
konfigurieren (Server, Pfad, …) und dann per „ht string“ einen String an den 
Pfad anhängen.
So in etwas sollte es klappen. Probier’s mal aus und gib Bescheid, falls Du 
nicht weiter kommst.


Gruß, J.


___
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel


[ethersex-devel] http request mit control6

2015-05-07 Diskussionsfäden Tom Weber

Moin Liste !

hat jemand eine Idee, wie ich mit control6 einen http request machen 
kann ? Also so etwas wie wget ip - ich hatte das schon mal vor 
längerer Zeit angefragt, geschafft habe ich es bisher nicht. Ich 
benötige diese request zur direkten Steuerung einen Geräts, das auf http 
requests reagieren kann. Ich denke mal, der Weg über TCP_SEND ist 
richtig, bloß habe ich keine Ahnung, wie ich damit einen vollständigen 
http request zusammenbauen kann. Die Antwort wäre immerhin egal, was die 
Sache vielleicht etwas einfacher macht.


Codebeispiele wären super !

Vielen Dank,
Tom

___
Ethersex-devel mailing list
Ethersex-devel@list.zerties.org
http://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel