[Programmation] RF 433MHz sur Android
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

RF 433MHz sur Android



  1. #1
    lobodol

    Lightbulb RF 433MHz sur Android


    ------

    Bonjour,

    Je me suis lancé dans un projet de réalisation d'une radiocommande pour un robot. J'ai choisi d'utiliser une communication sans fil sur la base d'un module RF 433MHz car très peu cher. Je souhaiterais utiliser mon smartphone comme radiocommande auquel je viendrais brancher l’émetteur RF 433MHz. De l'autre côté, le récepteur est branché sur un Arduino (de ce côté là tout va bien grâce à la librairie VirtualWire).

    J'avais envisagé deux solutions pour envoyer la trame binaire de commande à l'émetteur :
    - Utiliser le port USB du smartphone
    - Utiliser la prise audio jack du smartphone

    A terme, le but serait de développer une appli pour Android qui envoient les commandes au module RF.
    Pour le moment mes connaissances en Java sont limitées mais j'apprends vite (je suis développeur de profession).

    Savez-vous s'il existe une librairie Java similaire à VirtualWire pour Arduino ?

    Ce projet vous semble-t-il réalisable ou perdu d'avance ?

    Merci de m'avoir lu et bonne journée !

    -----
    Fire-DIY : Faites-le vous-même, mais pas tout seul

  2. #2
    nornand

    Re : RF 433MHz sur Android

    si tu commandes avec un smartphone pourquoi ne pas utilisé du WIFI puisque ton appareil est déjà équipé ?

    Explique ton raisonnement
    justifie tes choix

  3. #3
    lobodol

    Re : RF 433MHz sur Android

    Tout à fait, comme j'aurais pu utiliser le bluetooth.
    J'ai justifié monchoix dans mon précédent post à savoir le faible coût de cette solution. A cela j'ajoute la portée de la communication : j'aimerais pouvoir attendre la centaine de mètres en champ libre.
    Ce dernier point exclu donc le bluetooth.
    Concernant le wifi, un shield Arduino coûte dans les 70€ contre 1€ pour le module RF. Le calcul est vite fait.
    Voilà donc pourquoi j'ai orienté mon choix vers ce module RF.

    Cdlt
    Fire-DIY : Faites-le vous-même, mais pas tout seul

  4. #4
    nornand

    Re : RF 433MHz sur Android

    100 m en cchamp libre avec du 433 mHz c'est pas gagné , et il va te falloir un sacré algorithme de codage décodage , la bande 433 est complètement saturée de tous les systèmes possibles

  5. A voir en vidéo sur Futura
  6. #5
    lobodol

    Re : RF 433MHz sur Android

    D'après la doc il est possible d'atteindre 150m à 2000 bauds.
    En ce concerne l'algorithme de codage, je pensais procéder de la sorte pour former mes trames:
    1 octet de START | n octects de message | Checksum | 1 octet de STOP

    Toute trame reçue qui ne respecterait pas ce formalisme ou dont le checksum serait erroné serait ignorée. Ça vous semble jouable ?
    Fire-DIY : Faites-le vous-même, mais pas tout seul

  7. #6
    lobodol

    Re : RF 433MHz sur Android

    Il semblerait que cette librairie développée par un particulier soit ce que je recherche : https://github.com/mik3y/usb-serial-for-android
    D'après le readme, il serait possible de faire un write() sur port série comme on le ferait sur Arduino.

    Avant de m'emballer, est-ce que quelqu'un ayant une expertise Java pourrait donner son avis sur la faisabilité de mon projet avec cette librairie ?

    Merci
    Dernière modification par lobodol ; 25/05/2016 à 23h13.
    Fire-DIY : Faites-le vous-même, mais pas tout seul

  8. #7
    lobodol

    Re : RF 433MHz sur Android

    Bonjour à tous, je reviens à la charge en cette fin de semaine.
    La librairie que j'ai citée dans mon précédent message permet donc d'envoyer des données sur le port série comme on le ferait avec un Arduino avec Serial.print().
    Or ça n'est pas vraiment l'objectif final. Le but serait d'effectivement utiliser le port USB mais en passant par une librairie similaire à VirtualWire. Ca permettrait ainsi d'écrire une trame binaire qui serait directement envoyée à l'émetteur RF.

    Ça m'étonne que personne n'est encore tenté la chose... Personne, vraiment ?
    Fire-DIY : Faites-le vous-même, mais pas tout seul

  9. #8
    fabang

    Re : RF 433MHz sur Android

    Citation Envoyé par lobodol Voir le message
    D'après la doc il est possible d'atteindre 150m à 2000 bauds.
    En ce concerne l'algorithme de codage, je pensais procéder de la sorte pour former mes trames:
    1 octet de START | n octects de message | Checksum | 1 octet de STOP

    Toute trame reçue qui ne respecterait pas ce formalisme ou dont le checksum serait erroné serait ignorée. Ça vous semble jouable ?
    C'est un peu plus complexe que ça. Il faut commencer par caler le CAF (Contrôle Automatique de Fréquence)du récepteur donc il faut envoyer plusieurs octets de synchro, ensuite le récepteur sera capable de reconnaître l'octet de start. En suite il est vivement recommander que le message contienne autant de 1 que de 0 (en fait le CAF va dans le mur si l'on dépasse une dizaine de 1 ou de 0 consécutifs), donc un codage Manchester par exemple est bien adapté. Éventuellement tu peux trouver des modules 433MHz qui gére cette surcouche, comme le ferait un modem.

  10. #9
    lobodol

    Re : RF 433MHz sur Android

    Salut, désolé pour mon inactivité de ces derniers jours, j'étais dans les préparatifs de mon PACS.
    Il me semble que les modules RF que j'utilise gèrent eux-même le CAF et la modulation.
    D'après les informations que j'ai pu recueillir à son sujet, l'émetteur utilise une modulation de type On Off Keying.
    Autant Manchester, PSK, FSK ça me parle, autant OOK ça ne me dit rien.

    Voici quelques informations au sujet des modules : http://www.ebay.fr/itm/433Mhz-WL-RF-...EAAOSwPcVVrvOf
    Je n'ai pas réussi trouver de datasheet digne de ce nom sur ces modules. Voici leurs petits noms :
    • Emetteur : XD-FST
    • Récepteur : XD-RF-5V

    Jusque là, j'ai réussi à émettre un message en continu depuis un Arduino et à le récupérer dans une autre pièce avec un second Arduino et ce, sans altération du message. C'est plutôt prometteur, non ?

    Au final, ces deux modules se comportent un peu comme des boites noires : le message est transmis et on a pas vraiment besoin de savoir comment.

    Du coup, j'ai l'impression qu'une trame << 1 octet de START | n octects de message | Checksum | 1 octet de STOP >> peut suffire.

    Qu'en pensez-vous ?
    Fire-DIY : Faites-le vous-même, mais pas tout seul

  11. #10
    lobodol

    Re : RF 433MHz sur Android

    Bonjour à tous,

    J'ai du nouveau ! J'ai tenté hier soir d'implémenter ma solution basée sur la trame décrite dans mon précédent message et ça fonctionne impeccable !
    En ce qui concerne le checksum, j'effectue un XOR entre tous les octets précédents. Ca me permet d'avoir un checksum d'une taille fixe de 1 octet.

    J'ai donc testé les cas avec une trame valide et avec un checksum erroné, les deux cas sont clairement identifiés

    J'ai essayé de générer des perturbations sur le cannal de transmission et les trames altérées sont bien rejetées. J'ai donc bien le fonctionnement que je voulais.

    Reste maintenant à se pencher sur le coeur du problème : plugger l'émetteur RF au cul d'un smartphone.

    Après réflexion, ça me parrait très compliqué de pouvoir utiliser l'émetteur RF directement sur le smartphone comme on le ferait avec un Arduino. Je pense qu'il va être nécessaire d'utiliser une interface entre les deux :
    Code:
    +-------+       +---------+          +------------+ 
    | TX RF |-------|    ?    |----------| Smartphone | 
    |       |       |         |          |            |
    +-------+       +---------+          +------------+
    Sans faire trop de mystère, je pense qu'un Arduino fera le job sans trop de problème.

    On aura donc une appli Android avec laquelle l'utilisateur intergira. Les commandes seront envoyées via le port série à l'Arduino qui se chargera d'encapsuler le message et de l'envoyer en utilisant la library VirtualWire.

    Ca commence à resembler à quelque chose non ?
    Fire-DIY : Faites-le vous-même, mais pas tout seul

Discussions similaires

  1. PC 10/16A+T radiocommandée (433Mhz)
    Par verdonian dans le forum Électronique
    Réponses: 8
    Dernier message: 09/09/2014, 18h12
  2. telecomande 433mhz
    Par inviteb621df46 dans le forum Électronique
    Réponses: 1
    Dernier message: 06/08/2010, 20h53
  3. Antenne 433MHz
    Par yvan30 dans le forum Électronique
    Réponses: 9
    Dernier message: 07/07/2008, 19h40
  4. Pic et module 433Mhz
    Par invite2d9e7c03 dans le forum Électronique
    Réponses: 2
    Dernier message: 26/06/2008, 16h17
  5. 433Mhz
    Par invite8cf6e134 dans le forum Électronique
    Réponses: 1
    Dernier message: 23/10/2007, 07h31
Découvrez nos comparatifs produits sur l'informatique et les technologies.