Conseil pour RF433MHz

Bonjour à toutes et à tous,

ça commence à cailler sévère en cette saison, et donc j'me suis dis que j'ferais bien des économies sur ma facture d'élec... CCar j'ai l'immense joie d'être chauffé à l'éléc... donc.

Etant locataire, et bénéficiant de la tarification heure creuse / heure pleine, l'idée me titillait de me faire des p'tits modules RF433MHz avec mes FS1000a que j'ai depuis plusieurs années et qui sont resté dans un carton trop longtemps.

Le principe est le suivant:

  • Un module au tableau électrique qui récupère l'état Heure Creuse / Heure Pleine
    (un opto PC817 sur une entrée d'un Attiny85 au cul du relais HP/HC)
    --Ce dernier envoie une trame vers un module "maitre" ou "serveur" via RF433MHz
    -Le Module maitre gère les consigne de T° pour chaque modules de commandes de radiateurs/convecteurs, c'est comme vous voulez...

-Chaque modules (basé sur MCU Attiny85) sera composé de ces éléments:
--DHT22 ou DS18b20 (selon ce qui me reste enstock...)
--Un couple emméteur /recepteur FS1000a
--Un Solid State Relay maison avec zero crossing dans l'opto ou...
--Un Solid State Relay maison sans zero crossing et du coup rajouté un opto PC817 pour récupérer le Zero sur la seule broche d'interruption de l' Attiny85

Coté maitre, pour les liaisons RF, vu qu'ils y va y avoir plusieurs autres modules, un protocole avec adressage/jeton, acquittement serait idéale. Un datalogger pour "affiner" le PID (et encore...)

Avant toute chose, je tiens à préciser que je souhaiterais également pouvoir bien comprendre tout ce que je vais faire côte RF sur n'importe quelles architectures de MCU (Arduino DUE, UNO, Mega PRO... OTTO START :smiling_imp: )

Et donc ceci soulève plusieurs questions:
-Est-ce que la possibilité de faire son propre protocole basé sur le codage Manchester ne serait pas trop complexe?
-Qu'est-ce que la fréquence porteuse et quelles en sont les conséquences?
-Qu'est-ce que la propagation (pour les nuls :grin:)? ( La fréquence 433 MHz? )

J'ai été regarder le topic de retro ingénierie des modules BLYSS fait par Skywodd, aidé par Barbudor, Artouste, Al1fch, Bunyman, Trigger, Bidle, Icare, Gromain59... Bon déjà ENOOORME boulot!!

Par contre, ça c'est fait à un niveau technique qui me dépasse un peu, de plus, je ne pense pas avoir besoin d'un "rolling code". La simplicité est le maitre mot.

J'ai quand même compris le principe 2/3 1/3 pour les bits 0 et 1 ( en logique inversé? plus très sûre du coup...) du codage Manchester.

Bon pour commencer, ça fait déjà pal mal...

Ce week end, je vais voir ce qui arrive chez moi sur le 433 MHz, voir si c'est pas trop chargé par le voisinage et si la télécommande de la télé ne gêne pas....

Merci d'avance pour lumières. :wink:

weetoz:
Ce week end, je vais voir ce qui arrive chez moi sur le 433 MHz, voir si c'est pas trop chargé par le voisinage et si la télécommande de la télé ne gêne pas....

Merci d'avance pour lumières. :wink:

bonjour
Ce genre de modules cheap 434 MHz sont quasi inexploitables
Pour ce qui est de problemes avec une telco de télé qui doit surement etre en IR ;D, le probleme ne se pose AMHA pas vraiment 8)

Artouste:
Ce genre de modules cheap 434 MHz sont quasi inexploitables

Pourtant avec tout les tutos qu'on trouve sur la toile avec la lib Virtual Wire ou RC-Switch, ça à l'air de fonctionner...

Artouste:
Pour ce qui est de problemes avec une telco de télé qui doit surement etre en IR ;D, le probleme ne se pose AMHA pas vraiment 8)

J'suis trop con... :roll_eyes: Bon en même temps je n'utilise jamais de liaison sans fil dans mes montages... Circonstances atténuantes! :sunglasses:

Bon allez, c'est partie, j'vais souder une antenne avec un bout de fil, j'alimente, oscillo et je vais bien voir ce qui se passe...
[edit] J'ai un signal (sur la broche data) trapézoïdale bien crassou avec des front descendant à 117µS d'intervalles. pour l'instant ça veut pas dire grand chose sur ce qui se passe niveau voisinage...

weetoz:
Pourtant avec tout les tutos qu'on trouve sur la toile avec la lib Virtual Wire ou RC-Switch, ça à l'air de fonctionner...

J'suis trop con... :roll_eyes: Bon en même temps je n'utilise jamais de liaison sans fil dans mes montages... Circonstances atténuantes! :sunglasses:

Bon allez, c'est partie, j'vais souder une antenne avec un bout de fil, j'alimente, oscillo et je vais bien voir ce qui se passe....

:smiley:
fais déjà un test simple de propag avec virtual wire entre ton émetteur et ton récepteur "cheap"

Merci Artouste, ça fonctionne correctement dans toute la maison :wink:

Côté oscillo, ça reste ininterprétable...

Je pourrais me contenter de construire mon système sur la base de virtual wire, le seul problème, c'est le jour où je veux rajouter un dispositif basée sur un autre MCU basée sur un ARM Cortex, c'est la compatibilité.

D'où l'envie de créer un protocole ouvert que je "comprend" et que je peux adapter à n'importe quel MCU en langage "C".

Bon je vais relire ce topic, je vais bien trouvé quelque chose de simple et à ma porté... enfin j'espère.

Trp cool, en j'ai pris le temps de parcour le fichier "virtualwire.cpp", et j'ai trouvé ceci:

#elif (VW_PLATFORM == VW_PLATFORM_STM32) // Maple etc
HardwareTimer timer(MAPLE_TIMER);
void vw_setup(uint16_t speed)
{
    // Set up digital IO pins
    pinMode(vw_tx_pin, OUTPUT);
    pinMode(vw_rx_pin, INPUT);
    pinMode(vw_ptt_pin, OUTPUT);
    vw_digitalWrite_ptt(vw_ptt_inverted);

    // Pause the timer while we're configuring it
    timer.pause();
    timer.setPeriod((1000000/8)/speed);
    // Set up an interrupt on channel 1
    timer.setChannel1Mode(TIMER_OUTPUT_COMPARE);
    timer.setCompare(TIMER_CH1, 1);  // Interrupt 1 count after each update
    void vw_Int_Handler(); // defined below
    timer.attachCompare1Interrupt(vw_Int_Handler);

    // Refresh the timer's count, prescale, and overflow
    timer.refresh();

    // Start the timer counting
    timer.resume();
}

Finalement je devrais pouvoir adapter cette librairie...