Gros problèmes de configuration pour les petits appareils

Partie 1. Lyrique


Le monde moderne est inconcevable sans un grand nombre d'assistants électroniques et électriques. À partir des ordinateurs et des smartphones, se terminant par un simple interrupteur d'éclairage dans la cuisine et un disjoncteur de protection d'entrée. D'une manière ou d'une autre, vous devez interagir avec tous les appareils. Avec certains plus souvent, par exemple, un smartphone, que certaines personnes ne maîtrisent pas du tout, avec certains moins souvent, le même dispositif de protection d'entrée automatique pour un appartement, dont certains ignorent même l'existence.

Quant aux appareils de la première catégorie, tout y est simple. L'interface, en fait, est graphique et est déterminée par les concepteurs et les programmeurs. Et avec les appareils du second, en termes d'interaction, pas d'importance, le plan est beaucoup plus compliqué. Nous les prenons pour acquis, le même interrupteur d'éclairage, ou à la mère, quand ils font leur travail, comme un automate d'entrée qui a fonctionné pour surcharger.

Pour les appareils très simples, l'interface est primitive. Bouton ou interrupteur à bascule, plusieurs boutons pour le thermostat, par exemple. Les caractéristiques sont définies par le fabricant et ne changent pas par le consommateur. Déclenchement du courant 10A, 16A, 25A ... Passage au 6A 230V ... Mais quand l'appareil est un peu plus compliqué, tout devient très mauvais.

Un peu distrait, je vais parler de mon échec juste à cause de l'interface matérielle. Il y avait une tâche d'équilibrage de charge pour une maison privée. En fait - un relais de temps programmable multicanal. J'ai fait un prototype littéralement dans la soirée, je l'ai livré au client, le client, un colocataire, était satisfait, j'ai décidé d'essayer d'établir une production à petite échelle, d'organiser une petite startup électronique à l'échelle du village, car le problème du manque de capacité d'entrée est pertinent pour le secteur privé. Un problème de conception est resté - la configuration de l'appareil. Dans le prototype, les intervalles étaient simplement regroupés dans le micrologiciel, si 200 instructions d'assembleur pouvaient être appelées ainsi. Quelques fois, j'ai dû ajuster les paramètres, cela a été fait simplement en assemblant un nouveau firmware et en le mettant à jour au moyen du programmateur. Il est clair que pour un appareil série, même à petite échelle, cette méthode ne convient pas.

Ici, je suis tombé sur tous les "charmes" du développement d'une interface utilisateur matérielle ... Des méthodes simples, telles que l'écriture de 16 options de paramètres et le réglage du commutateur coulissant, n'ont pas donné la flexibilité requise, ce qui rend toute interface sérieuse pour communiquer avec un PC ou un smartphone est une complication injustifiée, une hausse des prix. De plus, il apparaît immédiatement la nécessité de développer une application simple mais multiplateforme (Win / Linux / Android / iOs). Mais ce n'est pas l'essentiel. En effet, l'utilisateur configurera l'appareil une seule fois lors de l'installation et, idéalement, ne le rappellera plus.

Contrairement au prototype, un indicateur LED 4 bits, des boutons et des LED sont apparus sur le panneau avant de l'appareil. Des fonctionnalités ont également été ajoutées, des caractéristiques de retards dans la mise en marche de la charge après une panne de courant, des modes supplémentaires pour l'alimentation à partir d'une ligne électrique ou d'un générateur de secours, le maintien de la température de congélation ...

Et voici la disposition en masse de ce monstre de Frankenstein



(Contrôle les contacteurs, à l'intérieur des circuits de commutation des bobines à faible courant)

Tant que la fonctionnalité d'un seul relais programmable était présente, cela n'a pas été difficile avec les paramètres; l'interface matérielle créée a été payante. Mais à un moment donné, l'instruction de configuration a commencé à dépasser la taille du code du firmware. Idée initiale: l'utilisateur scanne le code QR sur le tableau de bord, va à la page avec l'instruction - a échoué. Il reste soit à fabriquer un appareil très simple, soit à chercher une autre méthode de communication avec l'appareil. Les acheteurs potentiels (testeurs courageux) ont très longtemps compris la configuration selon les instructions.

Le plus triste, c'est que j'ai des prototypes de plusieurs appareils qui sont une fois configurés et vivent leur vie dans un panneau électrique. Configuration - une douzaine d'autres octets. Reste à trouver une interface adaptée.

Qu'avons-nous aujourd'hui? Comparaison des méthodes de configuration «classiques»:

  • Le choix des configurations toutes faites. AVANTAGES: mise en œuvre aisée du logiciel et du matériel. Les améliorations matérielles supplémentaires sont minimes. L'utilisateur n'a pas besoin d'avoir un équipement spécial, suffisamment d'instructions. CONTRE: Il n'y a pas de flexibilité, pas intuitivement, des instructions sont nécessaires.
  • Une séquence de clics avec rétroaction via un affichage simple (similaire à la mise en place d'une horloge électronique ordinaire). AVANTAGES: Il est facilement implémenté par programme, l'utilisateur n'a pas besoin d'avoir un équipement spécial, suffisamment d'instructions. CONTRE: Pas intuitivement, il est difficile de configurer un grand nombre de paramètres, l'impossibilité de cloner les paramètres, ce qui est critique pour les entreprises d'installation.
  • Configuration à l'aide d'une interface filaire standard. AVANTAGES: Intuitivement, si l'application est bien écrite, clonage facile des paramètres, implémentation relativement simple, améliorations matérielles peut-être pas très chères, possibilité de mettre à jour le firmware. CONTRE: L' utilisateur doit avoir un équipement, au moins un ordinateur ou un ordinateur portable avec un port USB, un convertisseur d'interface, si votre appareil fournit autre chose que USB ou Ethernet. La nécessité de développer une application.
  • WiFi + WEB - tir à partir d'un canon sur des moineaux et du terry ardurinshchina. Mais l'idée n'est pas mauvaise. AVANTAGES: semblable à une connexion filaire, il n'est pas nécessaire de développer une application multiplateforme en fournissant l'interface WEB intégrée du configurateur, il suffit à l'utilisateur d'avoir n'importe quel appareil avec support WiFi et un navigateur. L'accès au réseau mondial n'est même pas nécessaire. Peut-être que cette conception sera moins chère que les boutons / indicateurs matériels, le boîtier est également simplifié. CONTRE: Techniquement, une solution extrêmement laide qui transfère le produit à une classe complètement différente d'appareils. La fiabilité est réduite, à la fois en raison de la complexité du micrologiciel et de la sensibilité accrue aux CEM.

Je résume que l'une des plus belles solutions du point de vue de l'utilisateur est ce dernier. Mais c'est aussi l'un des plus terribles du point de vue d'un ingénieur. Je me suis presque arrêté dessus, mais ...
Courbure technique hantée. Pour écrire quelques octets dans l'EEPROM, clôturer un jardin avec une telle pile de protocoles est irrationnel. Mais il semble que j'ai trouvé une solution à mon problème, voici les caractéristiques de cette méthode:

Avantages:

  • La hausse du prix du composant matériel est comparable à la décision de «choisir parmi des configurations toutes faites», 10 à 15 roubles, et la possibilité de refuser des boutons, indicateurs, etc. supplémentaires donne plutôt un prix moins cher.
  • L'implémentation logicielle n'est pas un problème.
  • Il ne nécessite pas le développement d'une application spéciale. Si vous le souhaitez, l'application peut être fournie.
  • L'intuitivité dépend de la qualité du développement du configurateur WEB ou de l'application.
  • Isolation galvanique avec l'appareil.

Inconvénients:

  • Faible taux de transfert de données par rapport à une interface filaire ou radio.
  • Un contact physique avec l'appareil est nécessaire.
  • Vous avez besoin d'au moins un accès au réseau.

De plus, cette méthode de transmission d'informations est de nature très courante. Ceci est une onde sonore.

Maintenant, peut-être que tout le monde a des smartphones. Pas de smartphone - n'importe quel appareil pour lire le son, même un lecteur de cassettes, convient. Comme je vois cette interface en action:

  1. L'utilisateur installe l'appareil conformément aux instructions.
  2. La configuration requise de l'appareil est créée, les modes et paramètres nécessaires sont enregistrés.
  3. L'utilisateur met l'appareil en mode de configuration, par exemple, par une séquence spéciale d'appuis sur une touche, l'appareil affiche un état prêt, par exemple, en faisant clignoter une LED avec une fréquence de 5 Hz.
  4. Dans le configurateur, l'icône «Paramètres de transfert» est cliquée, après quoi la séquence sonore encodée commence à jouer (et qui les a chargés à partir des cassettes dans les années 90?).
  5. L'utilisateur attend que les données soient chargées dans l'appareil (par exemple, la LED est allumée en permanence) et clique sur l'icône «arrêter la transmission».

Tout, de nouveaux paramètres sont transférés vers l'appareil. Pensez-vous que cette méthode de configuration sera suffisamment pratique?

Au lieu d'une postface

Je n'ai pas spécifiquement abordé la partie technique de la mise en œuvre. Chaque cas peut être individuel, l'approche est une idée générale. Si l'article suscite l'intérêt, je publierai la deuxième partie. Pratique. Alors que le spoiler: l'idée a réussi, le modèle sur la version «étudiant» PIC16 + 8 bits du compilateur C sans optimisation, y compris le manuel, le firmware s'intègre tranquillement à la fois en mémoire (environ 1 Ko) et en performances. L'opération mathématique la plus difficile est l'ajout de sint8_t et sint16_t. Selon les calculs préliminaires, le noyau du configurateur de sons, réécrit dans Assembler, s'adaptera à moins de 512 kiloslovol et les performances 2MIPS dans le PIC16F819 devraient être suffisantes.

Tout le meilleur
Konstantin.

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


All Articles