Arduino RF 433Mhz & VirtualWire : envoyer des bytes/octets
Les émetteurs et récepteurs RF 433 Mhz sont extrêmement pratiques et surtout peu coûteux pour la mise en oeuvre de communication sans-fil entre plusieurs dispositifs électroniques.
La solution la plus simple sur Arduino pour effectuer les liaisons est d'utiliser la librairie VirtualWire (version 1.9 actuellement), donc l'utilisation est très bien détaillée dans la documentation officielle VirtualWire.
Cependant, tous les exemples que j'ai pû trouver sur internet expliquent comment transférer un tableau de caractères (char[]), mais difficile de trouver des exemples pour transférer des byte ou int.
Voici donc un premier boût de code côté émetteur détaillant comment faire envoyer des bytes :
Transmission de byte
#include <VirtualWire.h>
byte msg[3]; /* Tableau de 3 bytes */
void setup() {
Serial.begin(9600);
vw_setup(2000);
}
void loop() {
msg[0] = B00000001; /* = 1 */
msg[1] = B00000010; /* = 2 */
msg[2] = B00000011; /* = 3 */
vw_send((uint8_t *)msg, sizeof(msg));
vw_wait_tx();
}
Côté réception, vous pouvez au choix analyser/comparer les valeurs une par une (reçues une par une) ou les mettre dans un buffer (tableau).
I'm Michael BOUVY, CTO and co-founder of Click&Mortar, a digital agency based in Paris, France, specialized in e-commerce.
Over the last years, I've worked as an Engineering Manager and CTO for brands like Zadig&Voltaire and Maisons du Monde.
With more than 10 years experience in e-commerce platforms, I'm always looking for new challenges, feel free to get in touch!