Aide pour liaison radio entre arduino et raspberry

Bonjour à tous,
Je viens ici car je bute sur la transmission d'information (en 433MHz) entre une arduino uno et une raspberry pi 3. A noté que la liaison se fait de l'arduino vers la raspberry. J'ai déjà essayé plusieurs programmes en vain mais je pense qu'il y a un programme qui semble sur la bonne voie.

Voici le programme pour l'arduino et qui semble ne pas fonctionné :

// Émission d'un message a 433 MHz par l'Arduino

// basé sur:
// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>

int compteur = 0;

const char *msg = "Bonjour, ici l'Arduino. Message # ";
char nombre[VW_MAX_MESSAGE_LEN];
char message[VW_MAX_MESSAGE_LEN];

void setup()
{
Serial.begin(9600); // Debugging only

// Initialise the IO and ISR
vw_set_ptt_inverted(true); // Required for DR3100
vw_setup(2000); // Bits per sec
}

void loop()
{

compteur++;

// Conversion du int en tableau de chars
itoa(compteur,nombre,10); // 10 car décimal
strcpy (message, msg);
strcat(message,nombre);

digitalWrite(13, true); // Flash a light to show transmitting
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx(); // Wait until the whole message is gone
digitalWrite(13, false);

delay(200);
}

Et voici pour la raspberry (et qui semble fonctionner car elle est en attente d'information) :

import time

import pigpio
#!/usr/bin/env python

-- coding: latin-1 --

'''
Réception d'un message par le Raspberry Pi,
reçu à 433 MHz par un récepteur
relié à la pin GPIO 11
Nécessite la présence du fichier vw.py dans le
même répertoire.
http://www.raspberrypi.org/forums/viewtopic.php?t=84596&p=598087
'''

import vw

RX=11

BPS=2000

pi = pigpio.pi()

rx = vw.rx(pi, RX, BPS)

start = time.time()

print("En attente de la reception des donnees")

while (time.time()-start) < 100:

while rx.ready():
print("".join(chr (c) for c in rx.get()))

rx.cancel()

pi.stop()

Je vous remercie par avance pour l'aide que vous m'apporteré.

Cordialement

Lolonini

Bonjour,
Il faut mettre ton code entre balises cela sera plus lisible voir ici

Voici les programmes demandés

// Émission d'un message a 433 MHz par l'Arduino

// basé sur:
// transmitter.pde
//
// Simple example of how to use VirtualWire to transmit messages
// Implements a simplex (one-way) transmitter with an TX-C1 module
//
// See VirtualWire.h for detailed API docs
// Author: Mike McCauley (mikem@airspayce.com)
// Copyright (C) 2008 Mike McCauley
// $Id: transmitter.pde,v 1.3 2009/03/30 00:07:24 mikem Exp $

#include <VirtualWire.h>

int compteur = 0;

const char *msg = "Bonjour, ici l'Arduino.  Message # ";
char nombre[VW_MAX_MESSAGE_LEN];
char message[VW_MAX_MESSAGE_LEN]; 

void setup()
{
    Serial.begin(9600);     // Debugging only

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);    // Bits per sec
}

void loop()
{
  
    compteur++;
    
    // Conversion du int en tableau de chars
    itoa(compteur,nombre,10); // 10 car décimal
    strcpy (message, msg);
    strcat(message,nombre);

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *)message, strlen(message));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);

    delay(200);
}
import time

import pigpio
#!/usr/bin/env python
# -*- coding: latin-1 -*-

'''
Réception d'un message par le Raspberry Pi,
reçu à 433 MHz par un récepteur
relié à la pin GPIO 11
Nécessite la présence du fichier vw.py dans le 
même répertoire.
http://www.raspberrypi.org/forums/viewtopic.php?t=84596&p=598087
'''

import vw

RX=11

BPS=2000

pi = pigpio.pi() 

rx = vw.rx(pi, RX, BPS) 

start = time.time()

print("En attente de la reception des donnees")

while (time.time()-start) < 100:

   while rx.ready():
      print("".join(chr (c) for c in rx.get()))

rx.cancel()

pi.stop()