Comme cela m'arrive habituellement, quand une idée surgit, elle est réfléchie, puis (Ostapa commence à supporter) elle devient envahie par des fonctions supplémentaires auxquelles je n'avais pas pensé au départ. Ces pensées enflamment la passion de la créativité et le processus commence.
Alors, tout a commencé par le fait que lors d'une promenade il fallait voir l'heure actuelle pour connaître l'heure de la marche ...
Il n’est pas pratique de regarder l’heure au téléphone à chaque fois et je ne porte pas de montre pendant longtemps. Cela signifie que vous avez besoin d'un indicateur dans un endroit pratique qui affiche l'heure actuelle, ainsi que le temps de marche, afin de ne pas compter à chaque fois. En marchant dans l'obscurité, l'enfant n'est pas visible dans la poussette, ce qui signifie que vous devez équiper le berceau d'éclairage. De plus, lorsque vous conduisez dans des endroits sans éclairage artificiel, il serait bien d'avoir un phare devant pour éclairer le chemin. En saison froide, j'aimerais connaître la température de l'air dans le berceau, ainsi que la température de l'air à l'extérieur.
Pour assurer la visibilité de la poussette la nuit, lors des déplacements dans les rues, il y a eu une idée d'équiper le cadre de la poussette d'un éclairage LED. Et pour que le rétroéclairage ne soit pas ennuyeux, j'ai utilisé des LED "intelligentes" pour le cadre et les roues.
L'indicateur et les boutons de commande doivent être dans un endroit accessible, et dans mon cas, il s'agit du cadre de la poussette.
La source d'alimentation de l'appareil doit garantir que le système est opérationnel avec l'éclairage décoratif et les phares allumés. Doit également être chargé à partir de l'USB.
Telles étaient les principales fonctions que je souhaitais donner vie. Mais la pensée est allée plus loin. Je voulais connaître la distance parcourue par le fauteuil roulant pendant la marche en cours, pour la journée, pour tout le temps. Aussi la vitesse de conduite actuelle.
Une fois, je n'ai pas remarqué de crevaison et suis rentré chez moi pendant 4 km avec un pneu crevé. J'ai pensé à surveiller la pression des pneus.
Eh bien, à la fin, il est temps de penser à la sécurité de la poussette elle-même. Pour cela, j'ai prévu d'utiliser un récepteur GPS / GLONASS et un modem GSM.
Fonctionnalité complète de la poussette intelligente:
- ;
- GPS/;
- ;
- ;
- ;
- , ;
- ;
- ;
- ;
- ;
- (TPMS);
- ;
- ;
- GPS/ ;
- GSM- .
Étant donné que le circuit contient de nombreux éléments et une batterie volumineuse, il a été décidé de mettre en œuvre l'appareil en deux blocs - l'unité principale et l'unité d'affichage. L'unité principale est représentée sur la figure 1, l'unité d'affichage est sur la figure 2.
Fig. 1. Schéma de principe de l'unité principale de l'appareil
Fig.2. Schéma de principe de l'unité d'affichage
ARM a été choisi comme contrôleur de l'appareil D1. L'unité de charge de batterie est mise en œuvre sur des microcircuits D3, D4 selon le schéma de commutation standard. La charge provient du chargeur de téléphone via un connecteur USB. De plus, en option, la batterie est chargée à partir du réseau de bord avec une tension de 6 à 20 volts. Les températures à l'intérieur du berceau, à l'extérieur et à la batterie sont implémentées sur le DS18B20. Parce que le berceau peut être retiré du cadre à des fins de transport ou de remplacement par une version d'été, puis un connecteur est fixé au berceau, ce qui déconnecte le thermomètre et le rétroéclairage à l'intérieur du berceau de l'appareil.
Un récepteur GPS / GLONASS a été utilisé pour déterminer les coordonnées locales et l'heure exacte actuelle. Lorsqu'un signal GPS est disponible, l'heure du système est enregistrée dans D2. En cas de mauvaise réception des signaux GPS / GLONASS, l'heure actuelle n'est pas corrigée, mais la montre D2 garde le rythme.
D14 (EEPROM 24CL16) est utilisé pour stocker les données de diverses statistiques.
L'éclairage décoratif est réalisé sur des LED WS2812b "intelligentes". Tous les éléments d'éclairage, y compris le phare et les roues, sont alignés dans une chaîne d'information.
Le bloc informateur est assemblé sur les éléments D6, D7, D8. Le circuit est copié à partir du module MP3 chinois basé sur le JQ6500. Les fragments de musique MP3 sont cousus dans Flash D7 via USB.
ADXL345 est utilisé comme accéléromètre D9. Les données de l'accéléromètre sont utilisées pour surveiller les irrégularités sur la route, ainsi qu'à des fins de sécurité.
Le sous-système de surveillance de la pression des pneus me fascine depuis longtemps et a donc reçu un article distinct [1]... Le fait est que le TPMS chinois que j'utilise dans mon appareil dispose d'une unité de réception conçue pour contrôler la pression dans la plage de 1,1 atm à 3,2 atm. Le système standard notifie la pression en dehors de cette plage avec un grincement à chaque fois que les capteurs sont interrogés. Les capteurs sont interrogés périodiquement après environ 30 à 60 secondes en fonctionnement normal. Par conséquent, il n'est pas possible de simplement mettre l'unité standard dans la poussette. Et ce n’est pas intéressant. Il est beaucoup plus intéressant d'étudier le protocole et de l'implémenter dans votre système, ce qui a été fait. Le système se compose de quatre capteurs externes vissés sur la ferrure de roue.
Les capteurs sont sans fil; ils transmettent périodiquement des informations sur la pression de la roue et la température de l'air dans la roue. La fréquence de diffusion des capteurs est de 433,92 MHz avec modulation FSK. Pour capturer les signaux des capteurs, un module émetteur-récepteur sur un microcircuit SI4432 a été utilisé.
Pour transférer des données vers le site de suivi GPS, un modem GSM SIM800C est utilisé. Le suivi est utilisé pour le système de sécurité antivol d'un fauteuil roulant, ainsi que pour stocker des pistes de marche pour l'histoire.
L'unité principale et l'unité d'affichage sont fabriquées sur des cartes de circuits imprimés et sont illustrées à la Fig.3. et Fig.4.
Fig. 3. Aspect de la planche de l'unité principale d'un landau "intelligent"
Fig.4. Apparence du panneau d'affichage
L'appareil utilise un écran OLED sur le contrôleur SSD1306. L'écran est petit et s'adapte sur la poignée de la poussette. Mais c'est aussi un gros inconvénient, car lorsque la poussette vibre pendant le mouvement, les petits caractères ne sont pas visibles. Par conséquent, les principaux écrans d'information sont affichés en gros caractères.
L'unité principale et l'unité d'affichage sont connectées par un port série, ce qui réduit le nombre de fils.
Les capteurs à effet Hall sont utilisés comme capteur de vitesse et capteur pour activer le système de freinage. Les capteurs sont montés sur une carte séparée sur la roue, vernis contre l'humidité et scellés.
Les LED d'éclairage décoratif sont montées sur un cadre en profilés en aluminium avec des filtres de lumière et sont également scellées de l'extérieur. Les anneaux LED sont classés IP30, ils devaient donc être scellés contre l'humidité.
Tous les fils sont posés à l'intérieur du profil du cadre de la poussette, il y a des transitions aux points de pliage lorsque la poussette est pliée.
Le système est constamment en mode veille. Tous les appareils mineurs sont désactivés avec la touche VT3. Les contrôleurs des deux blocs fonctionnent à une fréquence réduite et les périphériques ARM inutiles sont également désactivés. Dès qu'une certaine séquence de boutons est enfoncée (protection contre l'activation par un étranger), le système se réveille, la touche VT3 est activée, les modules sont initialisés.
Tous les événements d'urgence sont accompagnés de messages contextuels sur l'écran et de la mélodie de l'informateur correspondante.
Description de la partie logicielle de l'appareil
Le système est initialement mis en marche par un interrupteur à bascule caché et le système est mis en mode veille. La mise en marche et l'arrêt supplémentaires du système se fait en appuyant sur une certaine combinaison de boutons de l'unité d'affichage.
Lorsque le système est mis sous tension en mode de fonctionnement, les contrôleurs passent à une fréquence plus élevée, divers sous-systèmes sont initialisés et une mélodie de démarrage est jouée.
En outre, chaque bloc commence son travail, les données sont traitées et des événements sont générés pour informer sur les alarmes ou lorsque les valeurs dépassent les limites spécifiées.
Les points de consigne pour la pression des pneus, l'accélération de l'essieu, la survitesse et autres sont définis une fois dans le programme. Cela n'a aucun sens de modifier dynamiquement ces valeurs à partir du menu.
Toutes les données collectées par le système sont transmises à l'unité d'affichage, qui forme des images d'écrans d'informations. De plus, les commandes de l'unité principale pour contrôler les périphériques proviennent de l'unité d'affichage.
Lorsque le module GPS / GLONASS est alimenté, il commence à collecter les informations des satellites et, après avoir collecté les données nécessaires, commence l'analyse. Lorsque le récepteur émet un indicateur de validité des données, l'heure, la date et les coordonnées actuelles sont extraites du package GPRMC / GNRMC. L'heure est enregistrée dans le RTC DS3231. À ciel ouvert, lorsque vous l'allumez pour la première fois, la recherche de satellites prend environ deux minutes. Le récepteur GPS / GLONASS utilisé dispose d'une "procédure de prédiction" pendant deux semaines. Chaque fois qu'il est allumé, il n'a pas besoin de collecter une grande quantité de données, par conséquent, des coordonnées adéquates sont émises en quelques secondes. Ceci est à condition que pendant le temps écoulé depuis la dernière mise sous tension, le récepteur ne s'est pas déplacé d'une grande distance par rapport au point précédent, et aussi s'il y a une batterie de secours.
Le système de charge de la batterie est basé sur le matériel et ne dépend pas de l'état du système. Mais les signaux concernant le processus de charge sont envoyés au contrôleur pour analyse. Lorsque le chargeur est connecté, le contrôleur voit que la charge a commencé. Pour calculer la durée de charge, ainsi que l'heure de la dernière charge, afin de conserver des statistiques sur la batterie, le contrôleur allume brièvement la clé d'activation du périphérique, lit l'heure, accède à l'EEPROM et éteint la clé. À la fin de la charge, des actions similaires sont effectuées, mais l'heure de fin de la charge est déjà enregistrée et la durée de la charge est prise en compte.
La température de l'alimentation, à l'intérieur et à l'extérieur du socle, est surveillée par un capteur DS18B20. La procédure d'interrogation utilise le mode semi-duplex du port UART et un contrôleur DMA.
Un modem est utilisé pour transférer des données sur Internet. Afin d'économiser de l'énergie, le modem est allumé uniquement lorsqu'une transmission de données est nécessaire. Cela se produit soit en mode «antivol», soit lors de l'activation manuelle.
Au départ, le modem n'était pas prévu, mais comme le schéma contenait déjà tout le nécessaire pour le suivi, le modem a simplement demandé son utilisation. Mais le plus intéressant de tous est le système «antivol». L'essentiel est d'informer discrètement qu'un "détournement" est en cours et de transmettre les coordonnées du fauteuil roulant en temps réel. Si la poussette est à la maison, alors il n'y a pas besoin d '«antivol», mais si elle est sur le site à l'extérieur de la porte et que des étrangers peuvent y avoir accès, alors ce mode est pertinent.
Ainsi, la poussette se tient devant la porte en mode veille. Seuls les utilisateurs qui connaissent la séquence d'appuis sur les boutons peuvent allumer la poussette à partir du panneau. L'attaquant n'est au courant de la présence d'aucun système dans le fauteuil roulant. Il prend juste la poussette et la roule. Le contrôleur voit la présence de vibrations de l'accéléromètre, voit également la rotation non autorisée des roues et active un mode d'alarme silencieux. Il alimente tous les modules, initialise le modem et envoie un SMS d'alarme sur le téléphone du propriétaire. Il est enregistré dans la cellule n ° 1 de la carte SIM. Ensuite, il commence à envoyer des informations sur le LAC et le CID des stations de base de l'opérateur cellulaire au site de suivi. Dès l'arrivée des données adéquates sur les coordonnées du récepteur GPS / GLONASS, elles sont incluses dans le paquet de transmission.
L'affichage est éteint à ce moment et aucun signal sonore n'est entendu.
Si un utilisateur autorisé a accidentellement oublié d'allumer le système avant de marcher, éteignez le système en l'allumant correctement à partir du panneau d'affichage et arrêtez manuellement le suivi.
Il y avait une pensée pour faire des signaux courts pendant les vibrations en mode veille ou pour dire une phrase, mais alors l'attaquant saura que la poussette n'est pas facile et que l'appétit augmentera, mais il sera déjà préparé. Par conséquent, je me suis arrêté en mode silencieux.
Il n'y avait aucune envie de créer mon propre site pour le suivi. Il n'y a pas assez de temps pour quoi que ce soit. Par conséquent, j'ai décidé de voir ce qui est prêt pour le moment. J'ai été très surpris quand j'ai trouvé de nombreux sites de suivi qui vous permettent de connecter un grand nombre de protocoles de trackers GPS prêts à l'emploi, et ils peuvent également lier votre protocole de suivi unique à leur système, les administrateurs vous aideront. Je ne voulais pas forcer les administrateurs pour qu'ils s'adaptent à mon protocole et, par conséquent, il a été décidé de faire un protocole d'échange que les sites supportent déjà. Tout de même, tout est écrit à partir de zéro. Bien que sur le site que j'ai choisi, les administrateurs ont envoyé leur format de package maison que leur site accepte, mais j'ai décidé de m'en tenir à l'un des formats standard. J'ai aimé le format du traceur GPS MegaStek.
Le format du package de transfert de données du tracker vers le site est disponible gratuitement. J'ai un paquet comme celui-ci:
$MGV002,351233456789,_TrackerName,R,200220,092552.000,A,3340.2243,N,02532.3216,E,00,04,00,1.20,02.5,15.9,280.06,02.312,250,02,0000,0000,25,1111,0105,1201 1201, 302 302,0401,23.4,07.2,,10,81.4,Timer;!
Il transmet un ID d'appareil unique, le nom de l'appareil, les coordonnées, l'heure, la direction du mouvement, le LAC, le CID, etc.
Pour voir la position de votre tracker, vous devez vous inscrire sur le site. Vous pouvez le visionner via le site Web ou via l'application sur le téléphone. J'ai beaucoup aimé l'application, elle n'est pas grande, facile à naviguer, il y a un choix de cartes. Mais l'essentiel est que vous pouvez enregistrer plusieurs trackers gratuitement, et si vous payez pour un compte, vous avez accès à des fonctions avancées. En général, les services de suivi, aujourd'hui, m'ont fait très plaisir, par rapport à la période précédente.
Le travail avec l'informateur MP3 se fait via l'UART au moyen de commandes. Les fichiers MP3 sont écrits sur l'informateur Flash via le logiciel d'un développeur chinois à l'aide d'une connexion USB. Sélectionnez les fichiers et envoyez. Plus qu'assez. J'initialise le JQ6500, règle le niveau de volume puis, à l'arrivée des événements, une commande est envoyée pour lire le fichier avec le numéro souhaité. Avant de lire le fichier, le signal Mute est supprimé de l'amplificateur de puissance numérique D8.
Les commandes sont décrites en détail dans la description du microcircuit, ainsi que dans les bibliothèques tierces, donc je ne m'étendrai pas dessus.
Le système de surveillance de la pression des pneus, comme décrit ci-dessus, est basé sur des capteurs sans fil standard, dont le signal est reçu dans le système via l'émetteur-récepteur SI4432. L'émetteur-récepteur est réglé sur la fréquence, la modulation, la déviation du capteur. Ensuite, le signal devait être analysé par programme, en prenant le paquet brut de l'air. Mais la présence de traitement de paquets dans cet émetteur-récepteur a grandement facilité la vie du contrôleur principal. J'ai pu régler l'émetteur-récepteur pour recevoir des rafales. L'émetteur-récepteur lui-même a effectué toutes les opérations nécessaires pour recevoir le préambule, le mot de synchronisation, les données elles-mêmes, et à la réception du paquet entier, il a généré une interruption. En cas d'interruption, le contrôleur principal a juste lu le paquet reçu, analysé la somme de contrôle et décodé les données reçues.
Lorsque la batterie est faible, l'éclairage décoratif et le phare sont éteints pour économiser de l'énergie.
Si, en mode veille, un signal de secousse du fauteuil roulant provient de l'accéléromètre et si la rotation des roues est détectée, mais que l'appareil n'est pas inclus dans le mode de fonctionnement normal, le mode d'alarme est activé. Tous les modules sont activés, l'affichage reste éteint. Ceux. de l'extérieur, on dirait que tout est éteint. Dès qu'un signal du GPS apparaît, le modem GSM envoie un SMS au sujet de l'alarme au téléphone et commence à diffuser des données sur les coordonnées actuelles vers le site de suivi. Les données de pression des pneus sont également transmises.
La vitesse actuelle est déterminée par un capteur à effet Hall sur la roue. De plus, la vitesse est tirée du module GPS / GLONASS.
Lorsque la poussette est sur le frein, l'éclairage externe passe en mode stroboscopique alterné des feux gauche et droit.
L'appareil informe par un message contextuel sur l'écran et un signal sonore du dépassement de la vitesse de plus de 7 km / h, des irrégularités sur la route, de la faible pression d'air dans les roues. Des mélodies sonores marquent chaque heure de la marche et chaque nouvelle heure astronomique.
L'éclairage à l'intérieur du berceau de la poussette a la capacité de changer la luminosité en appuyant longuement sur l'interrupteur d'éclairage, mais pour mes besoins, je ne l'utilise pas.
L'unité d'affichage comporte trois boutons qui répondent aux pressions courtes et longues. Un appui court sur le bouton d'éclairage ambiant allume le phare et un appui long contrôle les différents schémas de couleurs pour l'éclairage du cadre et des roues.
L'écran affiche toutes les informations nécessaires sur le fonctionnement de l'appareil. En raison de la petite taille de l'écran, les informations sont affichées sur plusieurs écrans. La commutation des écrans s'effectue par un bouton sur le panneau d'affichage. Il y a deux écrans principaux sur lesquels l'heure actuelle est affichée en grande police et l'écran de marche, qui affiche la distance parcourue pour une marche, la vitesse actuelle, le temps de marche, la température à l'intérieur du berceau. Les écrans restants affichent des informations de diagnostic sur le fonctionnement des sous-systèmes de surveillance de la pression des pneus, l'accéléromètre, le modem, la batterie et des informations récapitulatives. Toutes les images sont formées dans la mémoire tampon du contrôleur, d'où elles sont simultanément transférées vers l'affichage via le contrôleur DMA.
Sur l'écran de surveillance de la pression des pneus, à la réception d'un signal d'un capteur quelconque, la roue correspondante clignote sur l'image de la poussette. Si la pression est inférieure au point de consigne, la valeur de température clignote et l'informateur émet un signal d'avertissement périodique et une fenêtre contextuelle sur l'écran.
L'écran de chargement de la batterie contient des informations sur la tension actuelle de la batterie, le mode de fonctionnement du chargeur et la date de la dernière charge. Le contrôleur de poussette peut être chargé à partir de n'importe quelle source de tension 5V, que ce soit un chargeur de smartphone ou, comme illustré, à partir d'une lumière extérieure équipée d'une prise USB.
La poussette a des berceaux amovibles: standard, dans lesquels l'enfant ne repose que, et une poussette où il peut également s'asseoir. Les deux berceaux sont équipés d'un éclairage LED de l'espace intérieur et de capteurs de température à l'extérieur et à l'intérieur. Une connexion détachable entre le berceau et l'unité principale a été fournie, et le choix s'est porté sur un connecteur USB standard. Lors du retrait ou du remplacement du support, débranchez d'abord le connecteur, puis retirez le support du châssis de la poussette. Après avoir installé la station d'accueil, connectez le connecteur. Le contrôleur sait quel support est actuellement utilisé par les numéros de série uniques des thermomètres.
Logement
Les corps sont modélisés en fonction de la courbure des surfaces du cadre de la poussette et imprimés en 3D.
Développement
Peut être utilisé sur les vélos, les petites voitures pour enfants avec une alimentation électrique intégrée de 6 à 20 volts.
Vous pouvez utiliser un autre type d'affichage en remplaçant uniquement l'unité d'affichage.
Conclusion
En raison d'un manque de temps catastrophique, la mise en œuvre de ce projet a pris environ 8 mois.
Lors du développement du système, beaucoup a été étudié et testé sur différents modules et systèmes: le fonctionnement de l'accéléromètre, le protocole d'échange du traceur GPS, la transmission de données via modem GPRS, le travail avec l'émetteur-récepteur, le travail avec divers périphériques ARM. Il a fallu un mois pour rechercher uniquement le système TPMS, mais c'était intéressant.
Démonstration du fonctionnement du système
Remerciements
J'exprime ma profonde gratitude aux amis et à la famille qui m'ont aidé dans la mise en œuvre de ce projet.
Merci à Eugene, Alexey, Natalia, Olga.
Liens
1. Etude du protocole du système de surveillance de la pression des pneus du véhicule .