Page 1 sur 3

Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 14:23
par J4l13n
Bonjour à toutes et à tous,


Je débute juste avec Domoticz, j'essaye d'envoyer une valeur lambda sur le rpi.

Code : Tout sélectionner


#include <SPI.h>
#include <Ethernet.h>



byte mac[] =
{
	0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED 
};

IPAddress ip(192, 168, 1, 201);
IPAddress gateway(192, 168, 1, 254);
IPAddress subnet(255, 255, 255, 0);

EthernetClient client;

char DomoticzServer[] = "logon:123456@192.168.1.42";

float temperature = 22.33;



void setup()
{
	Ethernet.begin(mac, ip);
	Serial.begin(9600);
}



void loop()
{
	delay(1000);
	if (client.connect(DomoticzServer, 8080))
	{
		client.println("logon:123456@192.168.1.200:8080/json.htm?type=command&param=sensor&idx=14051&temperature");
		client.println();
	}
}

Est ce la bonne voie ?


et peut ton brancher plusieurs sondes de T° d'un Arduino , pour envoyer plusieurs valeurs de sondes différentes ?

Par avance merci :-)

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 14:52
par J4l13n
Re

J'ai essayer mais sans succès de communication entre eux , sur le rpi j'ai créé le matériel puis le dispositif :

Image

En modifiant :

client.println("logon:123456@192.168.1.200:8080/json.htm?type=command&param=sensor&idx=14052&temperature");

Une idée ? merci

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 16:22
par Doume
l'idx; c'est plutôt 2 , et non 14052 !

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 16:43
par J4l13n
Bonjour Doume merci pour l'erreur

Mais la valeur 22.33 ne remonte pas sur le rpi :(

J'ai essayer de modifier en commentant la condition d'attente de demande , mais sans succes

JE pense que mon code n'est pas bon

Code : Tout sélectionner

#include <SPI.h>
#include <Ethernet.h>



byte mac[] =
{
	0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED 
};

IPAddress ip(192, 168, 1, 201);
IPAddress gateway(192, 168, 1, 254);
IPAddress subnet(255, 255, 255, 0);

EthernetClient client;

char DomoticzServer[] = "logon:123456@192.168.1.42";

float temperature = 22.33;



void setup()
{
	Ethernet.begin(mac, ip);
	Serial.begin(9600);
}



void loop()
{
	delay(1000);
	//if (client.connect(DomoticzServer, 8080))
	//{
		client.println("logon:123456@192.168.1.200:8080/json.htm?type=command&param=sensor&idx=2&temperature");
		client.println();
	//}
}

@+

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 16:49
par vil1driver
Salut,

L'authentification de ton domoticz est bien configurée sur basic-auth ?
En suite ta commande json est incorrecte
De plus tu intègres temperature dans la chaîne et n'est donc pas interprèté.

Pour le reste du code, pas d'expérience

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 16:56
par J4l13n
Bonjour

Oui j'ai bien mis en basic-auth

j'ai modifier la ligne
client.println("logon:123456@192.168.1.200:8080/json.htm?type=command&param=sensor&idx=2&20");

mais le 20 ne s'affiche pas

@+

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 17:25
par vil1driver
Commence déjà par teste ta commande dans ton navigateur,

Je te disais qu'elle était incorrecte !

retourne voir le wiki
https://www.domoticz.com/wiki/Domoticz_ ... emperature

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 17:37
par J4l13n
j'ai mis celui du lien

client.println("logon:123456@192.168.1.200:8080/json.htm?type=command&param=udevice&idx=2&nvalue=0&svalue=TEMP");

mais le dispostif apparait hors ligne.

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 18:02
par vil1driver
Et dans ton navigateur elle donne quoi cette commande ?

Re: Arduino UNO shield ethernet W5100

Publié : 15 août 2019, 18:09
par J4l13n
si je tape dans chrome :

192.168.1.201:8080

la page charge sans cesse puis me retourne :

Ce site est inaccessible 192.168.1.201 a mis trop de temps à répondre.


@+