Pour cette partie je vais essayer de vous expliquer le plus clairement possible afin que vous puissiez le modifier facilement.
#include //Extension pour module radio
#include //extension pour ethernet
#include //extension pour ethernet
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };//on définie une adresse mac
IPAddress ip(***, ***,***,***);
EthernetServer server(80);//port ethernet (s’il n’est pas indiqué lors de la recherche votre navigateur va automatiquement mettre 80)
boolean incoming = 0;//Variable qui va permettre de savoir quel type de message est reçu (voir suite)
const char *arroser = “a”;//Ces variables contiennent les messages radio
const char *eau1 = “b”;//
const char *eau2 = “c”;//
const char *eau3 = “d”;//
void setup(){
vw_setup(2000);//on “initialise le module radio ” sur 2000 bauds.Ne pas changer
Ethernet.begin(mac, ip);//On initialise le shield ethernet avec l’ip et l’adresse mac définies précedement
Serial.begin(9600);//on démarre le moniteur serie
Serial.println(Ethernet.localIP());//on affiche l’ip sur le moniteur serie
}
void loop()
{
EthernetClient client = server.available();//on copie le message reçu lorsqu’il y en a un.
if (client) {///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if(incoming && c == ‘ ‘){ ///////////////////////////Si le message commence par $ on regarde ce qui suit sinon on arrête
incoming = 0;
}
if(c == ‘$’){
incoming = 1;
}
if(incoming == 1){
if(c == ‘1’){///////////////////////////////////////////////En fonction de la suite on envoie le message radio qui correspond.
Serial.println(“1 “); // On signale le début de l’envoi
client.stop();////on arrête la communication
}
if(c == ‘2’){
client.stop();
}
if(c == ‘3’){
Serial.println(“3”); // On signale le début de l’envoi
vw_send((uint8_t *)arroser, strlen(arroser)); // On envoie le message
vw_wait_tx(); // On attend la fin de l’envoi
client.stop();////on arrête la communication
}
if(c == ‘4’){
Serial.println(“4”); // On signale le début de l’envoi
vw_send((uint8_t *)eau1, strlen(eau1)); // On envoie le message
vw_wait_tx(); // On attend la fin de l’envoi
client.stop();////on arrête la communication
}
if(c == ‘5’){
Serial.println(“5”); // On signale le début de l’envoi
vw_send((uint8_t *)eau2, strlen(eau2)); // On envoie le message
vw_wait_tx(); // On attend la fin de l’envoi
client.stop();////on arrête la communication
}
if(c == ‘6’){
Serial.println(“6”); // On signale le début de l’envoi
vw_send((uint8_t *)eau3, strlen(eau3)); // On envoie le message
vw_wait_tx(); // On attend la fin de l’envoi
client.stop();////on arrête la communication
}
if(c == ‘7’){
client.stop();////on arrête la communication
}
if(c == ‘8’){
client.stop();////on arrête la communication
}
if(c == ‘9’){
client.stop();////on arrête la communication
}
}
if (c == ‘n’) {
currentLineIsBlank = true;
}
else if (c != ‘r’) {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();////on arrête la communication
}
}
Vous pouvez télécharger le code ici: