Pandora DXL 3000 Second Wind ou comment j'ai vissé ma propre télémétrie

Peut-être que la situation familière m'a amené à développer ma propre télémétrie - cela a fonctionné, mais cela s'est arrêté. Un soir, l'alarme de voiture a cessé de percevoir le trousseau. J'ai compris que vous devez d'abord essayer de relier le trousseau, pour lequel il était nécessaire d'effectuer une procédure simple, en suivant clairement les instructions du manuel d'installation. L'exécution de la procédure est devenue impossible, car l'alarme de voiture était en mode armé, qui pouvait être désactivé par le bouton Valet en entrant le code de service.

Je n'ai jamais essayé de me souvenir du code de service, et encore plus du code maître. J'ai essayé sans succès de rappeler plusieurs codes de mémoire. En quelques minutes, j'ai dû voler ma voiture. Le trille de la sirène dans mes oreilles s'est alors tenu longtemps, car la sirène était installée dans l'habitacle. Je ne me souviens pas pourquoi j'ai placé la sirène exactement là - soit par ma propre paresse, soit parce que je voyais un sens à cela. Vous savez, d'un sentiment personnel expérimenté, cela peut conduire à une grave confusion pour un méchant non préparé. À mon grand regret, j'ai dû démonter l'unité. J'ai commencé à comprendre quoi faire ensuite et quoi faire à ce sujet. Peu importe ce qui s'est passé à la fin, je demande un chat.

J'avais plusieurs hypothèses:

  1. DĂ©faillances dans le fonctionnement du module d'antenne.
  2. Panne de mémoire non volatile dans le bloc principal. Par conséquent, les données sur les porte-clés et leur synchronisation pourraient être endommagées.
  3. Défaillance de la mémoire non volatile de l'émetteur. Les conséquences sont similaires au paragraphe 2.
  4. Brouillage du signal en préparation au vol.

J'ai vérifié l'option avec la présence d'un brouilleur de signal dès que je me suis déplacé dans un endroit sûr. Les alarmes de voiture n'ont pas non plus répondu au porte-clés.

Je me suis tourné vers le revendeur sur la disponibilité de ceux-ci. la possibilité de réinitialiser les codes de service. On m'a dit qu'il n'y avait pas une telle opportunité et que vous deviez acheter un nouveau kit pour plusieurs milliers de roubles. Oui, et ce sera mieux si vous installez toutes ces affaires avec nous - ils ont dit, en donnant plusieurs milliers de plus. Cette réponse ne m'a pas du tout surpris, à mon humble avis, bien sûr! Il est préférable pour le concessionnaire de vendre un nouveau kit que d'effectuer un service après-vente. Puis tout d'un coup, j'ai senti comment mon humeur s'était améliorée de façon spectaculaire, la pensée est venue de trier les choses par moi-même, de découvrir en cours de route si les codes pouvaient être réinitialisés ou non. En général, ce sont précisément ces moments qui incitent à des alternatives, à l'inverse, au développement et au bricolage. Je me suis mis au défi.

Je n'ai pas du tout commencé par creuser des blocs, mais avec une alternative. Pendant que Pandora était allongée dans le placard, j'ai essayé de créer mon propre module. J'ai pensé que si vous développez votre propre module d'alarme de voiture, il sera immédiatement cool, fiable, flexible et absolument pas difficile. Que puis-je dire, tout cela n'était que de l'enthousiasme. J'ai passé plusieurs semaines à écrire le firmware et à prototyper le module. Le processus était complètement créatif. Alors, tout d'un coup, une idée m'est venue et je l'ai réalisée avec plaisir. Par exemple, déjà au stade d'un prototype fonctionnel avec les bobines, transistors et GSM nécessaires, j'ai soudainement voulu ajouter plus de GPS et de Bluetooth. Eh bien, pourquoi tirer le chat par la queue? Laissez le module refroidir tout de suite, comme je l'ai d'abord compris, et j'ai dû changer le microcontrôleur en gras, car l'ATMega328 n'a qu'un seul port UART. Obtenir quelque chose de commun avec AVR et avec trois UART me semblait une entreprise irréaliste. Je n'ai pas aimé l'option d'implémentation du logiciel UART, pour la simple raison que le matériel est plus fiable. Je me souviens comment STM32 a déjà clignoté avec force et principal dans divers articles sur l'électronique et était disponible à la commande sur AliExpress. Sans hésitation, je me suis écrit une paire de STM32F103, car il s'agissait d'un véritable microcontrôleur 32 bits avec une grande quantité de mémoire et des périphériques riches, et encore plus avec le nombre nécessaire d'UART. Je n'avais aucune expérience de la programmation de STM32 à l'époque, mais cela n'a fait que susciter l'intérêt d'apprendre quelque chose de nouveau.

En prévision de l'arrivée des microcontrôleurs, il a été décidé de reporter le prototype et non seulement d'attendre, mais de vérifier les hypothèses qui restaient.

L'hiver approchait, et la voiture sans «surveillance» n'inspirait en quelque sorte pas le confort. Tout a continué jusqu'à ce que je regarde sous le couvercle de l'alarme de voiture. A l'intérieur j'ai découvert ATMega324! Ma joie ne connaissait pas de limites, car c'était un AVR, ce qui signifie que vous pouviez travailler correctement avec. La première chose que j'ai faite a été de vérifier le câblage UART et SPI. ATMega324 possède 2 ports UART. Un UART est connecté au registre à décalage et le second au connecteur du module d'antenne. Les circuits SPI m'ont conduit à un bloc non soudé (sur la photo près du quartz dans le coin inférieur gauche de la carte).



Soudé rapidement le bloc et connecté le programmeur. La lecture du firmware et de l'EEPROM a entraîné des vidages vides. Bien sûr, le développeur ne pouvait pas autoriser une telle crevaison. Vérifié l'échange entre l'unité et le module d'antenne. La ligne TX était claire au moment de l'alarme. Cela pourrait signifier que le nombre de babioles en mémoire est de 0. Le module d'antenne n'était pas du tout bavard. Il s'est également avéré que le microcontrôleur contrôle la puissance du module d'antenne via un commutateur à transistor. La tension d'entrée a été détectée à la sortie de la clé, et selon les instructions, elle devrait être de + 5V. Tout cela me semblait un peu étrange. Peut-être pour cette raison, le module d'antenne était silencieux? Je n'avais aucune option pour tester des hypothèses. Et les mèches? Quelle surprise! Le firmware est autorisé dans le firmware via l'interface SPI. Eh bien, maintenant comment rester assis exactement? C'est vrai - écrivez votre firmware! C'était une option tellement hardcore, car en plus du firmware lui-même, je devais aussi faire sonner la carte.

Le vernis protecteur a interféré avec le processus, mais armé de sondes à pointe pointue, les choses se sont beaucoup mieux passées. Il s'est avéré que la couche de vernis ne se décollait pas, mais était légèrement percée aux bons endroits. La table de sonnerie a pris deux soirées.

Brochage du port du microcontrĂ´leur
Numéro de brocheBroche CPUConnecteur de documentationNuméro de sortie du connecteurObjectif selon la documentation de la carte d'installation
9PD0 (RXD0 / PCINT24)X1RX / CALLSignal d'antenne RX et entrée du bouton CALL BUTTON
10PD1 (TXD0 / PCINT25)X1TXSignal d'antenne TX
11PD2 -> Broche 6C595 RCK
12PD3 -> Broche 6C595 SER IN
13PD4 -> Broche 6C595 SRCK
14PD5X5COMEntrée du bouton IButton
15PD6X4, X4aDqSignal DQ des capteurs de température du moteur et de l'intérieur
16PD7X7Entrée de déclenchement de niveau principal
3PB7 / SCK -> 6C595 CLR
2PB6X85Sortie CH5 (300mA) -
1PB5X82Sortie CH4 (1A) -
PB4X83Sortie CH2 (500mA) -
43PB3X820Entrée de signal du tachymètre, injecteur, générateur
42PB2X84Sortie CH3 (300mA) -
41PB1X813, 14Tourner Ă  gauche
Lampe tournant Ă  droite
40PB0X818Relais CH1 (15 A)
15, 16 -> 18
37PA0Accéléromètre (axe X)
36PA1Accéléromètre (axe Y)
35PA2X3COMValet / bouton de mesure de tension
34PA3
33PA4X88Commutateur de limite de coffre (±)
32PA5X811Fin de course de porte (±)
31PA6X819Entrée du capteur neutre / frein à main (±)
30PA7X87Entrée du capteur d'huile, charge de la lampe (±)
19PC0X7Entrée de déclenchement de niveau pré
20PC1X61Indicateur rouge
21PC2X62Indicateur vert
22PC3X1+ 12VPuissance d'antenne
23Pc4X821Entrée depuis le bouton de la pédale de frein
24PC5X810Entrée d'allumage
25PC6
26Pc7X817Sirène




J'ai écrit un firmware de test, l'ai flashé, cliqué avec des bobines - super! Le module d'antenne et le porte-clés étaient déjà inutiles. Donc, si vous pouvez écrire le firmware de l'unité d'alarme de voiture, en utilisant tous ses circuits et points de connexion prêts à l'emploi dans la voiture, il reste à résoudre le problème avec le canal de communication. J'ai pensé, que se passe-t-il si vous laissez GSM et GPS dans votre projet, jetez Bluetooth et vissez tout aux alarmes de voiture Pandora? Eh bien, bien sûr, c'est la meilleure option! Tout d'abord, il n'était pas nécessaire de préparer une carte complexe, le circuit Pandora a résolu de nombreux problèmes, mais je devais juste créer un module d'extension qui se connecterait à la place du module d'antenne standard. Comme vous pouvez le comprendre, la période d'attente pour les microcontrôleurs en provenance de Chine ne s'est pas sensiblement écoulée.

Pour connecter tous les modules entre eux, j'ai gravé la carte. Elle est très simple. Dans celui-ci, les modules GPS, GSM et l'alarme de voiture finis sont connectés aux ports UART du microcontrôleur STM32.



Le remplissage du module se situe dans le cas du bloc d'alimentation de l'ordinateur portable.



Le convertisseur DC-DC ne voulait pas être placé à l'intérieur de l'enceinte et devait trouver une enceinte plus spacieuse. En conséquence, l'étui à crayons à l'avant de la radio SUPRA avec un mécanisme à encliquetage pratique était très approprié pour l'étui.



Le panneau était enduit de vernis polyuréthane.

Les composants. Ici, tout est simple:

Convertisseur DC-DC LM2596
Modem GSM SIM800L (puissance 3.6-4.4)
Module GPS NEO-6M (puissance 3.4-3.8)
Un morceau de PCB.

La tension requise pour les modules forme un convertisseur DC-DC. Sa tension de sortie est réglée sur 3,7 volts. La vis de réglage est recouverte de vernis pour l'empêcher de se déplacer des vibrations.

J'ai d'abord pensé quels périphériques j'avais besoin de prendre en charge et j'ai obtenu la liste suivante:

  1. Capteurs de température intérieure et moteur.
  2. Accéléromètre
  3. Réseau embarqué du voltmètre.
  4. Entrée de fin de course de porte.
  5. Entrée de fin de course de coffre.
  6. Entrée de fin de course de pédale de frein.
  7. La sortie Ă  l'allumage.
  8. Sortie relais répéteur.
  9. Sortez chez le juge de touche de l'antidémarrage.
  10. Sortie vers le relais de verrouillage.
  11. Sortez à la sirène.

Refus conscient de soutien:

  1. Sortie sur le relais de verrouillage central. La voiture n'est pas câblée à la porte de la serrure centrale.
  2. L'entrée tachymètre, car il n'a tout simplement pas de sens de se connecter à une voiture hybride.
  3. L'entrée de l'interrupteur de fin de course du capot, car elle est absente du véhicule.

Algorithmes et fonctions mis en Ĺ“uvre:

  1. Stockage des paramètres dans l'EEPROM.
  2. DĂ©marrage du moteur Ă  l'aide de la technologie START-STOP.
  3. Activation d'un robot sans clé avec contrôle analogique (iDatalink).
  4. DĂ©marrage Ă  distance du moteur.
  5. ContrĂ´le de sous-tension sur la batterie.
  6. Surveillance de la tension du moteur.
  7. Armement / désarmement (contrôle du périmètre de zone).
  8. ContrĂ´le des fins de course pour portes et coffre.
  9. Prise en charge de la sirène.
  10. Prise en charge des feux de signalisation (clignotant).
  11. Supporte le mode silencieux.
  12. Prise en charge de la carte d'extension externe (module de télémétrie).
  13. Connexion et transfert d'Ă©tats au serveur.
  14. Gestion des codes DTMF du système, en l'absence de communication avec le serveur.
  15. Liste des numéros de confiance.

La rétroaction est mise en œuvre en appelant un numéro de téléphone de confiance à partir duquel le mode de sécurité a été défini.

La gestion du système a été implémentée via le bot Telegram:

image

Le bot envoie Ă©galement des messages sur les conditions critiques, telles que:

  1. Tension de batterie faible.
  2. Tension de la batterie restaurée.
  3. Basse température du moteur.
  4. Température élevée du moteur.

En fait, le fait maison a déjà 3 ans et durant cette période j'ai découvert que:

  1. Le produit fait maison était à la disponibilité maximale d'environ 80 jours, puis l'appareil a été redémarré, car le modem GSM a même cessé de recevoir des appels.
  2. Fonctionnement stable à des températures négatives et élevées (de -40 à +40).
  3. Besoin de prendre en charge le bus numérique.

La possibilité de flasher le Pandora DXL 3000 sur le bus SPI est une vulnérabilité car elle vous permet de télécharger un logiciel qui peut activer les sorties du robot d'immobilisation sans clé et désactiver les verrous.

En général, le travail accompli m'a donné une expérience formidable. J'ai étudié les circuits des alarmes de voiture, vu comment le faire de manière compacte et simple, et appris à programmer les microcontrôleurs STM32. En conséquence, j'ai fabriqué un produit que j'utilise moi-même. J'ai été inspiré et j'ai continué à développer la deuxième version. La deuxième version pourra se connecter à des bus numériques pour simplifier et réduire le nombre de points de connexion, ainsi que mettre en œuvre un antidémarrage standard bypass sans chenilles externes sur les chaînes IMMO-IMI.

Oh oui, pendant tout ce temps, le système a fonctionné et continue de fonctionner sur la voiture familiale Toyota Prius dans la carrosserie 20, qui est riche en pneus numériques. La prise en charge du débogage du bus BEAN bat son plein.

PS: La deuxième version a été développée et est testée sur une Toyota Camry 2007.

En conséquence, je vois mon projet comme une opportunité de créer un système ouvert pour la télémétrie automobile.

Merci de votre attention!

Source: https://habr.com/ru/post/fr479216/


All Articles