Wiren Board 6: de nouveau sur Habré avec la nouvelle version du contrôleur d'automatisation

Bonjour à tous!

Aujourd'hui, nous allons parler d'une toute nouvelle version de notre contrôleur pour l'automatisation, la maison intelligente et tout ça. Vous trouverez ci-dessous un aperçu technique détaillé de l'appareil.




En bref sur les contrôleurs Wiren Board
Un contrôleur de carte Wiren est un appareil qui agit comme un contrôleur central dans un système d'automatisation ou de surveillance.

Par exemple, dans un «bâtiment intelligent», le contrôleur peut contrôler l'éclairage et la climatisation, prendre des mesures à partir de capteurs climatiques et de capteurs de sécurité. Pour cela, le contrôleur prend en charge divers périphériques externes, exécute des règles et des scripts, stocke et affiche magnifiquement les données.

Le contrôleur fonctionne sous Linux, possède de nombreuses interfaces câblées et sans fil intégrées pour la communication avec les périphériques externes et le monde extérieur.
Le contrôleur est modulaire - les modules d'E / S (relais, entrées pour contacts secs) sont ancrés sur le côté, les modules d'extension sont insérés à l'intérieur - ports RS-485, RS-232 supplémentaires, etc.

Naturellement, tout cela est de qualité industrielle: un boîtier sur rail DIN, une large plage de puissance d'entrée, une large plage de températures, une mémoire fiable, une protection pour tous les ports, etc.

Pourquoi avons-nous publié une nouvelle version


Les temps sont durs maintenant: pour faire clignoter une LED, vous pouvez souvent vous passer d'un gigahertz de fréquence d'horloge. Sérieusement, les performances de notre précédente Wiren Board 5 avec ARM9 étaient suffisantes pour presque toutes les tâches, mais uniquement avec nos logiciels écrits en C ++ et Go.

Nous voulions donner aux utilisateurs plus de flexibilité - afin qu'ils puissent facilement utiliser des applications gourmandes en mémoire et en processeur.

Le principal changement dans Wiren Board 6 est le nouveau processeur NXP i.MX 6ULL avec un cœur Cortex A7 à 800 MHz et 512 Mo de RAM DDR3 (dans WB5, il y avait Freescale i.MX28 454 MHz ARM9 et 128 Mo DDR2).

Le contrôleur est devenu plusieurs fois plus rapide: en plus d'augmenter réellement la fréquence d'horloge, l'utilisation d'une architecture centrale plus productive (en termes de MHz) joue également un rôle. I.MX 6ULL ​​a un FPU matériel - dans certaines applications qui stockent et traitent des données, cela a donné une augmentation significative des performances.

Le nouveau processeur a permis d'utiliser les dernières versions de Node.js (l'architecture du processeur précédent n'était pas prise en charge dans le moteur V8), d'utiliser Node-RED et d'installer un logiciel prêt à l'emploi pour Raspberry Pi sans recompilation.

En général, du point de vue du développement et de la sélection des logiciels, Wiren Board 6 est passé de la catégorie des «matériels embarqués» à la catégorie des «ordinateurs ordinaires avec Linux, mais avec de nombreuses interfaces».

Quelques mots sur pourquoi pas 8xCortex A53@2.2GHz nous avons choisi le processeur plus lentement que dans les nouveaux décodeurs TV ou dans le nouveau Raspberry Pi. i.MX 6ULL ​​est un processeur moderne (2017) pour les systèmes embarqués industriels. Il a une très faible consommation d'énergie et n'est donc presque pas chauffé. Mais en même temps, la température de travail à cœur admissible peut atteindre 105 ° C. Ceci est important pour nous, car Wiren Board se trouve généralement dans des armoires fermées sans aucun refroidissement. Les contrôleurs fonctionnent également à froid, la température minimale de tous les composants est de moins 40 ° C.

Ce processeur a également un excellent support dans le noyau Linux principal, et le fabricant garantit sa production jusqu'en 2026 au moins.



Autres changements de contrôleur


Les contrôleurs Wiren Board 5 avaient plusieurs révisions matérielles qui peuvent être utilisées pour suivre l'évolution de l'appareil. Il y a beaucoup de différences entre la dernière révision et la première:

  • Ajout du bornier Vout - sortie de tension. Pratique pour connecter des périphériques via RS-485 - vous pouvez prendre des données et des lignes électriques à partir d'un seul appareil;
  • la console de débogage s'affiche sur l'interface Micro-USB au lieu de UART;
  • Ajout d'un deuxième port Ethernet. Utilisé comme canal de sauvegarde pour se connecter à des réseaux isolés et pour connecter d'autres contrôleurs;
  • le schéma d'alimentation est modifié. Nous avons utilisé un abaissement synchrone (une efficacité plus élevée signifie moins de chauffage de la carte), la plage de puissance d'entrée est jusqu'à 40 volts, nous nous sommes débarrassés des condensateurs électrolytiques (désormais uniquement en céramique) - cela augmente la durée de vie;
  • des cavaliers sont ajoutés pour activer les résistances de terminaison sur les lignes RS-485 / CAN;
  • Interface audio numérique S / PDIF supprimée - pas populaire;
  • port retiré pour l'émetteur-récepteur IR - il s'est avéré que ce n'était pas très pratique à utiliser, ils ont donc sorti un appareil WB-MIR séparé avec RS-485;
  • prise en charge limitée du modem 3G: il peut être installé à la place du module Wi-Fi.

Dans Wiren Board 6, d'autres modifications ont été ajoutées:

  • Prise en charge supplémentaire de deux cartes SIM. Le pays est grand, la qualité de la communication n'est pas toujours au top, et maintenant il y a tout de suite une réserve;
  • implémenté un support complet pour le module 3G et même NB-IoT (ce sera un article séparé). La 3G produit honnêtement 5 Mbps. SSH ne ralentit pas, en général une connexion plus stable, vous pouvez prendre n'importe quel nombre de paramètres d'objets distants;
  • capteur de température sur la carte contrôleur. Peu coûteux, mais il est utile pour les gens de voir dans quelles conditions le contrôleur fonctionne. Un autre capteur mesure la température du cœur du processeur afin que le contrôleur réinitialise automatiquement la fréquence en cas de surchauffe;
  • deuxième port USB. Parce que nous le pouvons.

Changements internes:

  1. Nous avons refait le schéma d'alimentation (encore? Combien pouvez-vous, Karl?). Maintenant, cela ressemble à ceci:



    Les avantages d'un tel schéma:

    - La consommation principale dans le contrôleur est sur la ligne 5V. L'efficacité à haute charge (nombreux modules latéraux, capteurs externes, etc.) est plus élevée;
    - Si nous installons notre module d'alimentation de secours à l'intérieur du contrôleur, alors en l'absence de tension externe, 11 volts sont fournis au bornier Vout. Cela permet à plusieurs appareils connectés via RS-485 de fonctionner;
    - la sortie peut être programmée pour s'allumer et s'éteindre, ce qui est utile pour redémarrer à distance les périphériques connectés de différents fabricants par l'alimentation.
  2. Étirement des lignes RS-485 sans logiciel. Une faible «extension» de la résistance des lignes est nécessaire pour définir un niveau logique fixe sur le bus lorsqu'aucun appareil ne transmet de données. Vous devez désactiver «l'étirement» (polarisation à sécurité intégrée de manière intelligente) si plusieurs contrôleurs sont connectés au bus, par exemple, lorsque la carte Wiren fonctionne comme un esclave Modbus.
  3. Clés intelligentes au lieu de transistors sur les bornes A1-A4: avec protection contre les courts-circuits et les surchauffes, et limitation de courant.

Modules d'extension


Les modules d'E / S (ce sont des modules avec des E / S supplémentaires connectées au contrôleur sur le côté) sont restés les mêmes qu'auparavant, mais les modules d'extension ont décidé de refaire.



Brochage du connecteur d'extension. A gauche - telle qu'elle était, à droite - telle qu'elle est devenue.

Dans WB5, ils ont sorti des signaux avec une marge - puissance, UART, I2C, SPI. Pendant trois ans, ils ont proposé un seul module utilisant SPI - le module de carte SD, et il ne nécessite pas de borniers externes. Et I2C est un logiciel basé sur GPIO. Par conséquent, l'excédent a été supprimé et l'espace a été libéré pour le troisième emplacement pour les modules d'extension qui ne nécessitent pas de terminaux externes (il s'agit d'un GPS, d'un emplacement microSD, à l'avenir, de différents modules avec une radio).



Les modules d'extension eux-mêmes ont été fabriqués avec une clé - la partie saillante de la carte est insérée dans l'emplacement de la carte contrôleur. Cela ajoute de la rigidité à la connexion - les mouchoirs ne pendent pas dans le connecteur et il est impossible de les insérer incorrectement.

Processeur cryptographique


Dans Wiren Board 6, nous avons ajouté un processeur cryptographique. Il s'agit d'une puce spéciale qui stocke les clés de chiffrement privées des utilisateurs et les utilise pour créer une signature numérique cryptographique des données.

Si c'est simple, il s'agit d'un analogue des cartes à puce ou des sifflets USB, qui sont émis par les banques et les agences gouvernementales pour confirmer l'identité de l'utilisateur.

Pourquoi avons-nous besoin d'un processeur cryptographique
Le processeur cryptographique du contrôleur est utilisé pour son authentification dans les systèmes de surveillance et de contrôle du niveau supérieur.

Auparavant, pour connecter des contrôleurs à, par exemple, un serveur VPN, il était nécessaire d'utiliser un nom d'utilisateur et un mot de passe communs (non sécurisés) ou de fournir des détails distincts à chaque contrôleur (peu pratique). En plus des difficultés de gestion des détails, les deux solutions sont potentiellement dangereuses: les détails et un fichier de certificat, si vous le souhaitez, pourraient être copiés d'un contrôleur à un autre et accéder au système.

Avec un processeur cryptographique, tout est grandement simplifié: sur le serveur, il vous suffit d'enregistrer une liste de numéros de série (nom commun) des contrôleurs autorisés. Dans le même temps, le serveur vérifie la signature cryptographique du certificat du contrôleur, qui ne peut pas être falsifiée et copiée.

Nous avons implémenté la prise en charge des puces cryptographiques dans la bibliothèque système standard d'OpenSSL, de sorte que presque tous les logiciels standard utilisant SSL, TLS ou HTTPS pourront fonctionner avec des clés matérielles protégées.

Nous travaillons maintenant avec des partenaires - fournisseurs de systèmes de haut niveau pour garantir que la carte Wiren est connectée à ces systèmes sans mots de passe et préréglages. Un support est également prévu pour les plateformes IoT des principaux fournisseurs: Amazon, Google et autres.

Logiciels


En général, les mises à jour du logiciel Wiren Board sont publiées simultanément pour toutes les versions et révisions de contrôleur prises en charge.

Cependant, à la sortie de Wiren Board 6, nous avons programmé plusieurs changements importants dans le logiciel.

Debian 9


Les nouveaux contrôleurs sont livrés avec la dernière version stable de Debian - Debian Stretch. Le processus de transition de Debian Wheezy a été un processus long et douloureux, principalement en raison de l'utilisation de systemd au lieu de sysvinit dans la nouvelle Debian.

Mais maintenant, nos utilisateurs bénéficient d'une distribution moderne avec des versions relativement récentes de logiciels tiers. De plus, la distribution et WB6 lui-même sont compatibles avec les packages pour Raspbian.

Nouveau système de mise à jour et de récupération du firmware


Les versions précédentes des contrôleurs pouvaient être mises à jour via le gestionnaire de packages APT, ou le micrologiciel entier pouvait être remplacé via l'interface Web. Si des actions imprudentes de l'utilisateur conduisaient à une inopérabilité du système, la restauration complète du firmware d'usine a été effectuée via le port USB à l'aide d'un ordinateur ou d'une machine virtuelle avec Linux et d'un programme spécial mxsldr.

Dans Wiren Board 6, nous avons également implémenté une mise à jour à l'aide du chargeur de démarrage. Pour restaurer le firmware, insérez simplement la clé USB avec le nouveau fichier de firmware dans le port USB du contrôleur et cliquez sur le bouton de mise à jour.

De même, vous pouvez réinitialiser tous les paramètres du contrôleur aux paramètres d'usine par défaut.

Appel à l'action


Besoin de plus d'informations techniques? Ici vous pouvez trouver les spécifications complètes .

Vous avez d'autres questions sur l'appareil et ses applications? Nous vous attendons sur notre site https://wirenboard.com/ et visitons notre bureau.

Voulez-vous essayer un nouveau contrôleur au travail? Vous pouvez acheter le contrôleur au détail directement sur notre site Web . Nous expédions l'équipement par courrier 1-2 jours après la commande.

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


All Articles