Bibliothèques sans fil interessantes :
Tutorial de montage
Sketch réception
/**
* Exemple de code pour la bibliothèque VirtualWire – Serveur d'envoi de texte
*/
#include <VirtualWire.h>
void setup() {
Serial.begin(9600);
// Initialisation de la bibliothèque VirtualWire
// Vous pouvez changez les broches RX/TX/PTT avant vw_setup() si nécessaire
vw_setup(2000);
vw_rx_start(); // On peut maintenant recevoir des messages
Serial.println("Go !");
}
void loop() {
byte message[VW_MAX_MESSAGE_LEN];
byte taille_message = VW_MAX_MESSAGE_LEN;
// N.B. La constante VW_MAX_MESSAGE_LEN est fournie par la lib VirtualWire
/*
La variable "taille_message" doit impérativement être remise à
la taille du buffer avant de pouvoir recevoir un message.
Le plus simple est d'utiliser une variable locale pour ne pas
avoir à réassigner la valeur à chaque début de loop().
*/
// On attend de recevoir un message
vw_wait_rx();
if (vw_get_message(message, &taille_message)) {
// On copie le message, qu'il soit corrompu ou non
Serial.println((char*) message); // Affiche le message
}
}
Sketch émission
/**
* Exemple de code pour la bibliothèque VirtualWire – Client d'envoi de texte
*/
#include <VirtualWire.h>
void setup() {
Serial.begin(9600);
// Initialisation de la bibliothèque VirtualWire
// Vous pouvez changez les broches RX/TX/PTT avant vw_setup() si nécessaire
vw_setup(2000);
Serial.println("Go !");
}
void loop() {
/*
byte message[VW_MAX_MESSAGE_LEN] = {'b','i','p',' ','b','i','p','!'};
// N.B. La constante VW_MAX_MESSAGE_LEN est fournie par la lib VirtualWire
// Lit un message de maximum 26 caractères depuis le port série
int len = Serial.readBytesUntil('\n', (char*) message, VW_MAX_MESSAGE_LEN - 1);
if (!len) {
return; // Pas de message
}
//int len = sizeof(message);
message[len] = '\0'; // Ferme la chaine de caractères
*/
vw_send("hello\0", 6); // On envoie le message
//vw_send(message, len + 1); // On envoie le message
vw_wait_tx(); // On attend la fin de l'envoi
//Serial.println("sending!" + message);
delay(300);
}