[raspberry Pi][radio][portail] Ouvrir un portail radio grâce au raspberry pi

edited juin 2013 in Projets
Bonjour je voilà maintenant 2-3 mois que je lit en boucle les 21 tutos proposé par Idleman sur le rpi et j'ai lu (tuto 8) 

Nous, nous allons utiliser une fréquence de 433,92 Mhz, ça n’est pas complètement innocent :

  1. 433,92 Mhz c’est une sorte de standard utilisé par de nombreux portails, stores, ouvertures centralisées, prises télécommandées etc… (vous commencez a voir l’intérêt du truc?)
pour ma part l’intérêt était déjà a son comble mais voilà après réception de mon emeteur-recepteur made in china et l'installation de hcc interface web + c je ne vois toujours pas comment je peux contrôler l'ouverture de mon portail... 
Si quelqu'un a une idée qui pourrais rompre mon cycle de nuit blanche je suis preneur !

merci d'avance
«1

Commentaires

  • Bonjour @b1gbrother

    Pour ton portail il faudrait que tu trouve des information sur le protocole de commande. En effet, comme tu as surement du t'en rendre compte en lisant le supers tutos d'Idle sur les prises radiocommandées, la fréquence ne fait pas tout. Il y a le "message" qui est envoyer sur cette fréquence qui compte tout autant. 

    Le mieux serait de ...
    1) s'assurer que ton portail utilise bien la fréquence 433.92Mhz
    2) si c'est le cas, essayer de trouver le protocole utilisé ou en d'autre terme, le message qui est envoyer. En espérant que ce n'est pas du code tournant.
  • mon portail est bien en 433,92Mhz
    mais il met impossible de connaitre de message ou code envoyé.
    j'habite dans un immeuble et la copropriété préfère ne pas divulguer le code puis ce qu'il facture la télécommande 70e pièce. je pensais faire un script de "bruteforce" ou plutôt de récupérer le code (etant donné que je possède une télécommande) grâce au récepteur si cela est possible.
  • edited juin 2013
    Oui on en avais déjà discuter sur un post mais je ne sais plus lequel (l'alcool ramolli le cerveau :p).
    Si je me souvient bien (ce qui est peut probable pour la raison que je viens de donner) @Idle avait dis qu'il allais essayer de pondre ça.

    EDIT: c'était ici 
  • Je pense que un système pour récupéré le code peut être bien mieux que un brutforce :) 
  • je préférerais aussi ;) mais j'ai aucune idée de comment ça marche.
    pourrais tu m'expliquer comment fonctionne l'émission d'un code avec hcc en ligne de commande ?
    j'ai plus ou moins compris le principe du ./var/www/hcc/radioEmission 0 12325261 1 on
    mais où ce place mon code dans tout ça ?
  • edited juin 2013
    http://be-creation.fr/tutoriel/telecommande-rf-315-330-433mhz-7

    Je pense que cet article peu t'aider :)  a comprendre comment cela marche pour les codes.

    Mais je n'est jamais essayé avec un RaspberryPi. 

    Sinon je pense que ton code se trouve entre 0 et le dernier 1 

    PS: correction d'une erreur dans le lien 
  • on a pas du arriver sur le même post ^^
    mais "on"ou"off" est bien retraduit par un code binaire ou decimal par le code C non ?

  • Oui le lien j'ai du le corriger.

    Après sa dépend car un portail c'est soit ouvert soit fermer. Donc c'est peut être le même code et lors de la réception il compare pour savoir si il doit fermer si il est ouvert et inversement.  
  • j'ai téléchargé le kit priseRadio.zip d'idleman pour voir le code source et d'après ce que j'ai compris du void listen qu'on peux "écouter" une onde pour enregistrer le code diffusé. comment faire dans mon cas pour afficher le code simplement. surtout que je n'est pas encore reçu mon atmega je voudrais tout faire sur le rpi
  • edited juin 2013
    pour le lien j'avais compris que ça s'arrêtait  a 7 mais a aucun moment il ne parle du code :/

    c'est plus simple que ça, le portail je peux que l'ouvrir et après un certain temps il ce ferme.
  • Ok, donc c'est juste un code a sniffer.

    En faite tu veut passer par le Rpi pour sniffer le code et après ouvrir le portail ? 
  • voilà c'est ça, le rpi serais dans la voiture et a plus long terme il serait donc possible d'avoir plusieurs clefs enregistré.
  • Salut, j'ai fait exactement ce que tu recherche avec mon raspberry, j'ai copié le signal radio de ma porte de garage et je le rééemet depuis le raspi via une interface web. Regarde ce tutoriel : http://forum.snootlab.com/viewtopic.php?f=46&t=820 personellement je n'utilise pas le code fournis dans le tuto mais un tout petit code python codé par mes soins.
  • edited juin 2013
    j'avais déjà vue un truc du genre le principe est d’enregistrer en audio le code en question c'est vrai que c'est pas mal, mais pensez vous qu'il est possible a partir du fichier son de reconvertir directement en binaire ? ou peux être peux ton grâce au récepteur sniffer le code.
    dans tout les cas je crois que je vais couper un jack ce soir :)

    pourrais-je avoir ton code python ?

    le jack rpi peux servir de micro ? je pensais que c'était juste une sortie.
  • Le principe c'est d'enregistrer le signal puis ensuite tu regarde la longueurs des impulsions et t'essaye de déterminer combien de 1 ou de 0 elles font ( en sachant que un 1 fait la "longueur" de la plus petite impulsion dans le signal ). ( Désolé j'explique plutot mal :/ )
    voici le code python : 
    import time
    import wiringpi  
    import os
    os.system("gpio export 18 out")
    io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_SYS)  
    io.pinMode(18,io.OUTPUT)
    io.digitalWrite(18,io.HIGH)
    time.sleep(0.0218)
    io.digitalWrite(18,io.LOW)
    for char in 'toncodebinaireici':   
    if char == '1':
    io.digitalWrite(18,io.HIGH)
    else:
    io.digitalWrite(18,io.LOW)
    time.sleep(0.00065301)#la longueur en seconde de chaque "1"
    Pour que le code fonctionne il faut installer la version python de wiringPi ==> http://www.sirmc.net/view/9001/
    Et si tu souhaite enregistrer le signal via une prise jack, pas besoins de passer par le rpi fait ça avec ton pc^^
  • Oui bien sur je voulais faire du all in one c'est tout ;)
    merci pour ton code !
  • On en reviens à mon post. C'est quasiment sur que c'est du rolling code, et même en décryptant un code, il aura déjà changé. La meilleur solution serai de créer toi même ton récepteur et de le rajouter dans le boitier de la porte en le reliant sur la boucle "bouton poussoir". Tu pourrai ainsi simuler un appui de bouton avec ton propre système. Mais vu que c'est une résidence, ça s'apparente à du piratage physique vu que tu contourne la sécurité pour y mettre ta backdoor. (ça ne n’empêcherais pas de le faire, si personne te vois trifouiller dedans, c'est facile ;) )
    Bon chance
  • J'ai également tenté de faire ce que tu veux faire, ma co propriété à deux porte de garages et je voulais transmettre le code depuis ma voiture en fonction d'une position GPS.
    J'ai "sniffer" à plusieurs reprise le code de la télécommande, malheureusement c'est du rolling code émis à partir d'un uC (type microship pic 12FXX). Il y a donc plusieurs solution :
    - enregistrer plein de code et essayé de trouver comment s'articule le rolling code (perso j'ai vite baisser les bras)
    - faire du READ sur le uC pour tenté d'avoir le code source du programme qui génére le signal, mais le probleme est que c'est très souvent protégé en lecture et que, pour quelqu'un qui dispose de peu de matos, c'est risqué pour le uC
    - eventré ta télécommande et souder des fil sur les boutons que tu pourras ensuite simulé via ton raspberry (tu peu en prime alimenté ta télécommande avec autre chose qu'une pile bouton pour évité d'avoir à la changé)

    Voila les seules solutions que j'ai pu trouvé. Je n'ai pas encore fait la 3eme mais je pense que je n'aurai pas le choix...
  • @liollury
    J'avais aussi penser à coupler émetteur + gps. Comment comptes-tu t'y prendre?
  • je vois que nos projet son similaires ;)
    pour moi je voulais mettre un gps car l'objectif étant d'enregistrer un nombre +/- infini de clef il fallait la possibilité de proposer uniquement les clefs les plus proches.

    comment la télécommande fait pour suivre le rolling code ? n'est t'il pas possible en reliant des "fils" au micro contrôleur de récupérer le script ?  
  • edited juin 2013
    @Flink perso je comptai pas prendre un raspberry, je trouve ca un peu lourd pour mettre dans une voiture (et un peu cher), sans compter le temps de démarrage du micro pc. L'idée est de prendre un atmega (ou directement un arduino) coupler a un module gps et son antenne. Ce module GPS devra fonctionner sur le protocol NMEA et donc relié en serie à l'atmega.
    Coté atmega il existe des libraries capable de décodé ce protocol (bien que ce soit très simple de le faire soi même).
    ensuite il y aurait deux mode :
    - je suis dans un sous sol donc je n'ai pas de position GPS ==> j'active alternativement chaque emetteur
    - je detecte une position gps, et donc si je me trouve dans la zone +/- 20m de mon garage, l'emetteur s'active.

    Les problèmatiques restante sont les suivantes :
    - je trouve que les module GPS que j'ai trouvé jusqu'a présent sont assez couteux pour le résultat final
    - je trouve pas ca très propre de démonté ma télécommande de parking mais je pense que je n'aurai pas le choix
    - il faut prévoir un système d'activation manuel vu que ma télécommande ne sera plus opérationnelle

    Quand à l'alimentation du tout, ayant déjà bricolé des système d'allumage automatique de phare ou autre, je sais que je me brancherai sur le circuit accessoire de l'auto (circuit alimenté en 12V que lorsque le contact est mis) avec un régu 5V et un fusible 1A.

    Il faudra peut être pensé à un mode d'aprentissage pour enregistrer les coordonnées GPS...

    @b1gbrother la plupar du temps, les telecommandes sont apairé avec les portails, ce qui fait que le portail connais le code de la télécommande. Celle-ci combine sans doute ce code avec un système de rotation.
    Un exemple simple (trop donc faut pas chercher a le retrouver :) ) :
    code de la telecommande : 1664
    rolling code sur 2 chiffre
    la télécommande va envoyé 166400, 166401, 166402...
    Le hic c'est que celui-ci peut etre une combinaison de bit, combiné à une horloge ou que sais-je encore...

    Il est possible de se connecté au uC soit pour savoir ce qu'il transmet (mais si tu ne sais pas quel bit correspond à quoi ca te fait une belle jambe vu que ca change tout le temps), soit pour lire sont programme mais ces uC sont souvent protégé en lecture.
    Si le rolling code correspondait à ce que j'ai décrit au dessus, il te suffirai de lire ce que transmet l'uC plusieurs fois pour reconnaitre une redondance...
  • @liollury

    Je vois un autre problème. Si tu bombarde ton portail avec plein d'émission il risque de croire que tu as appuyer deux fois sur la commande et bloquer puis éventuellement (si il crois que tu as appuyer une troisième fois) refermer celui-ci.
  • edited juin 2013
    Pour le gps j'en est vue dans les 50/60e

    pour le rooling code ok bah ça va être chaud mais comment fond les copieurs de clef tel que :

    et pour finir juste un petit commentaire sur ton second post,
    j'ai un petit avantage une fois mon portail ouvert,seul le temps cet ami relatif mais bien présent dans notre cas, peux fermer le portail. donc je n'aurais pas de problème avec ça. 
    mais on avait mis le brut force de côté non ?
  • @b1gbrother

    Je ne parlais pas du brut force. Chez moi c'est le même bouton pour ouvrir ou fermer le portail. Du coup (et comme il ne prend pas toujours du premier coup) je serais obligé d'envoyer plusieurs fois la commande pour être sur que le portail le captera bien. Mais si il capte une deuxième fois il risque de croire que j'ai appuyer une deuxième fois sur le bouton et bloquer le portail. Et si il crois que j'appuies une troisième fois il se referme.
  • d'accord par ce qu'en faite toi tu voulais plus faire un truc complètement autonomes. 
    pour mon projet perso il y aurais une interface graphique et donc on bouton a cliquer ce qui résous ton problème a quelques contraintes près. sinon ton garage est privé non ? ne serais t'il pas possible que tu rajoute un emeteur signalant l’état actuel de ton portail ?
  • Quel genre d'émetteur?
  • edited juin 2013
    je pensais a l’émetteur que tu reçois quand tu commande ton émetteur/récepteur mais c'est probablement un peux court en distance, quoi que si il te faut que 20m ça passe tranquille.

    en faite c'est le même émetteur que pour ton rpi
  • Pardon je me suis mal exprimé. Je voulais plutôt dire avec quel techno tu compte capter l'ouverture de la porte? Car je pense qu'un détecteur d'ouverture de porte ne fonctionnera pas du fait que mon portail est en métal et qu'au moindre coup de vent il bouge et les deux parties s'écartent un peut.

    Pour l'utilisation je ne comprend pas très bien ce que tu compte en faire. Pour moi je n'ai qu'un seul portail (jusqu'à ce que je fasse du brute force pour aller partout :p) et je souhaite que quand j'arrive chez moi l’émetteurse mettent en route et ouvre mon portail.
  • @Flink en effet ma telecommande ne controle que l'ouverture du portail, donc je n'avais pas pensé à ce probleme.

    @b1gbrother es-tu sur que ce revendeur pour copier n'importe quel badge ?
  • @liollury non je ne peux pas savoir si il est si efficace que ça, mais d'après ce que j'ai compris de plus en plus de carte marche en rooling code, il y a donc forcement un moyen pour copier cette clef a l'identique. (numéro de clef + script). 

    @flink l'idée c'est d'avoir le portail de chez toi et/ou membre de ta famille, ami, boulot maison de vacances peux importe. dans l'absolu tout. du coup une interface graphique peux être nécessaire, si durant ton trajet maison boulot tu passe devant un de tes amis et que son portail s'ouvre tout les matins quand tu passe il risque de ne pas trop apprécier.

    idée : pour parer a ce problème de rooling code n'est t'il pas possible d'enregistrer durant un bon moment, (je pense qu'en une a deux minutes d'enregistrement on a déjà de la masse) et de le réémettre tel quel ?

    le mieux serais de faire un programme qui passe du fichier son au code.
    1- il se place sur la fréquence concerné  433,92 (ou autre si tu a un émetteur variable)
    2- il cherche le pic (1) le plus petit, garde cette fréquence en mémoire
    3- il ne reste qu'a scanner tout le fichier son (il peut y avoir un problème si le code ne se compose jamais de 1 entouré de deux 0 : 010)

      
Sign In or Register to comment.