Reverse engineering d'anciens périphériques série et clonage avec Arduino

a marqué ce sujet comme résolu.

J’ai un instrument de musique qui utilise une gestion à distance. Cette télécommande communique de manière bidirectionnelle avec la plupart des appareils. Il communique via le protocole RS-422 (principalement pour la distance du câble, je crois).

J’ai acheté une paire d’adaptateurs RS422 vers USB dans le but de surveiller les informations dans chaque sens et d’utiliser un logiciel de surveillance des ports.

Je n’ai pas encore compris que cela fonctionnait correctement par lui-même; Je crois que c’est peut-être les paramètres de connexion que j’essaie, car les informations que je vois semblent foirées. D’après ce que je peux dire dans le manuel de maintenance, il pourrait s’agir de caractères de 8 bits sans parité et de 2 bits d’arrêt.

Quoi qu’il en soit, comme cet appareil est actuellement archaïque en termes de technologie (1982, je crois), je pense que ce serait un excellent candidat pour le clonage avec un Arduino.

La télécommande utilise elle-même un ancien microcontrôleur Intel 8749. Il s’agissait d’un dispositif basé sur le MCS-48 (je pense) qui comportait en outre une petite EEPROM conçue pour la mémoire programme. C’était 8 bits avec 3 ports d’E / S.

L’unité distante comprend principalement 12 anciens afficheurs à 4 chiffres du groupe de caractères Litronics DL-1414 (qui reçoivent un caractère ASCII et le conservent dans leur mémoire jusqu’à ce qu’ils soient rafraîchis), une banque de boutons et de faders (connectés via un CAN) et un niveau en dB mètre.

Je pensais peut-être que c’était une méthode incorrecte, mais mon plan était de détecter et de capturer les informations envoyées et reçues pour déterminer ce qui était envoyé, par exemple lorsqu’un fader est déplacé. J’imagine qu’il serait alors simple d’attacher un curseur à un potentiomètre coulissant dans Arduino, puis d’envoyer ce mouvement sur le bus série, avec vraisemblablement quelques bits de contrôle ajoutés, puis la valeur.

J’apprécierais énormément certaines réflexions et peut-être des recommandations sur la manière de traiter cette ingénierie inverse

ma première réflexion: c’est quoi le dB mètre ? A bien y réfléchir, je connais un truc avec un nom proche: le dBm, mais ça n’a rien à voir, c’est du déciBell milliWatt. Autrement dit, 0dBm = 1mW, et -10dBm = 0,1W. C’est une échelle logarithmique de puissance.

Autre point: vouloir comprendre le protocole sans être capable de lire le medium physique, ça me semble être mettre la charrue avant les bœufs. Normalement, l’enregistrement d’une transaction à l’oscilloscope devrait permettre de lire la longueur des symboles, le nombre de symboles par byte, et le nombre de symboles de stop de la liaison asynchrone. Dans l’hypothèse où tu tenterais de faire du reverse engineering sans matériel, il faudra se rapprocher d’un hacker space ou d’une autre association disposant de ce type de matériel, ou, si tu es encore à l’école, demander à un prof encadrant des activités avec ce type de matériel si tu peux profiter d’une pause entre les cours pour utiliser un oscilloscope. Une demande polie et le fait de montrer de l’intérêt pour les sciences devrait suffire à le motiver à accepter.

Avant de faire des lectures sur le bus, il faut aussi vérifier que l’installation qu’on vient lire fonctionne bien, pour confirmer que des résistances de terminaison sont présentes et que le signal est lisible. (En fait il faudra aussi vérifier pendant la mesure, pour vérifier que l’outil de mesure ne perturbe pas la mesure).

Vous pouvez le faire soit matériel ou logiciel.

Matériel: Achetez quelque chose comme Arduino pour faire écho entre SoftSerial (sur un UNO ou série sur un Leo) et le série. Où vous câblez le SoftSerial à votre bus 422 via un pilote d’interface approprié.

Logiciel: Ou utilisez un logiciel plus simple pour renifler les messages sur le port série afin de capturer les données. Sur Windows, quelque chose comme https://www.com-port-monitoring.com semble assez bien. D’après mon expérience personnelle, il est gratuit et fait tout ce qu’il prétend faire sans aucune restriction.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte