arduino xpl on off

Les cartes Arduino, les platines

arduino xpl on off

Message non lude jeanphilippe » Jeu 31 Juil 2014 21:43

salut

je me suis fait un code pour allumer deux led en xpl

avec les commandes

xpl-sender -m xpl-cmnd -c lighting.basic command=A device=8

xpl-sender -m xpl-cmnd -c lighting.basic command=a device=7

j'aurais voulus savoir si il est possible d'allumer une ou les deux led en utilisant on et off a la place de A pour allumer et B pour éteindre

et si oui comment modifier le code

ps je suis debutent



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

#include "xPL.h"

xPL xpl;
//declaration constante des broches
//--- la broche 4 est utilisée par le module ethernet
int LED=8;
int pin=7;

char value=0; // creation de value

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
0x90, 0xA2, 0xDA, 0x0D, 0xF0, 0xF5 };
IPAddress ip(192, 168, 0, 177);
IPAddress broadcast(192, 168, 0, 255);
EthernetUDP Udp;

void SendUdPMessage(char *buffer)
{
Udp.beginPacket(broadcast, xpl.udp_port);
Udp.write(buffer);
Udp.endPacket();
}

void AfterParseAction(xPL_Message * message)
{
if (xpl.TargetIsMe(message))
{
if (message->IsSchema_P(PSTR("lighting"), PSTR("basic")))
{
Serial.println(PSTR("is lighting.basic"));
}
}

// show message
Serial.println(message->toString());
Serial.println(message->command->name);
Serial.println(message->command->value);
// quand on receptionne un message, on sauvegarde la 'value' de la commande
value = message->command->value[0];
}

void setup()
{
Serial.begin(115200);
Ethernet.begin(mac,ip);
Udp.begin(xpl.udp_port);

xpl.SendExternal = &SendUdPMessage; // pointer to the send callback
xpl.AfterParseAction = &AfterParseAction; // pointer to a post parsing action callback
xpl.SetSource_P(PSTR("xpl"), PSTR("arduino"), PSTR("test")); // parameters for hearbeat message
//met les broches en sortie
pinMode(LED, OUTPUT);
pinMode(pin, OUTPUT);
// met les broches au niveau bas (0V) – éteint la LED
digitalWrite(LED,LOW);
digitalWrite(pin,LOW);



}

void loop()
{
xpl.Process(); // heartbeat management

int packetSize = Udp.parsePacket();
{

char xPLMessageBuff[XPL_MESSAGE_BUFFER_MAX];

// read the packet into packetBufffer
Udp.read(xPLMessageBuff, XPL_MESSAGE_BUFFER_MAX);

if (value == 'A')
{

digitalWrite(LED,HIGH);
}
if (value == 'B')
{

digitalWrite(LED,LOW);
}
if (value == 'a')
{

digitalWrite(pin,HIGH);
}
if (value == 'b')
{

digitalWrite(pin,LOW);
}

// parse message
xpl.ParseInputMessage(xPLMessageBuff);
}


}


jeanphilippe
 
Messages: 1
Inscription: Jeu 31 Juil 2014 21:15

Retourner vers Arduino

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité