
Après plusieurs années de travail fructueux, nous avons décidé de présenter au public notre premier produit pour la gestion de la climatisation dans la maison intelligente : un thermostat intelligent pour le chauffage par le sol.
De quel appareil s'agit-il ?
C'est un thermostat intelligent pour tout chauffage électrique au sol jusqu'à 3 kW. Il est contrôlé via une application, une page web, HTTP, MQTT, ce qui permet une intégration facile dans tous les systèmes de maison intelligente. Nous développerons des plugins pour les systèmes les plus populaires.
Il est possible de contrôler non seulement le chauffage électrique, mais aussi la tête thermostatique d'un chauffage à eau, d'une chaudière ou d'un sauna électrique. De plus, grâce à nrf, le thermostat peut communiquer avec divers capteurs. Nous sommes actuellement en train de développer presque tous les capteurs liés au climat. Étant donné que l'appareil est basé sur ESP, nous avons jugé inapproprié de priver les utilisateurs de la possibilité de personnalisation. Nous ferons donc en sorte que l'utilisateur puisse passer l'appareil en mode développeur et installer un autre firmware, par exemple, avec le support de HomeKit ou d'autres projets tiers.
*après l'installation de firmwares tiers avec support HomeKit ou d'autres projets populaires, le retour à l'original est impossible via OTA (aérien).
Difficultés rencontrées
Dire qu'il n'y en avait pas serait idiot. J'essaierai de décrire les problèmes les plus complexes qui ont surgi et comment nous les avons résolus.
Le boîtier de l'appareil était un défi complexe. Aussi bien en termes de ressources que de temps (environ un an de développement).
Il y avait des tonnes d'options sur le marché. Et la plus populaire – c'est l'impression 3D. Voyons cela :
Impression 3D classique. La qualité laisse à désirer, la vitesse de production aussi. Nous avons utilisé l'impression 3D pour les prototypes, mais cela ne convenait pas pour la production.
Imprimante 3D à résine. Ici, la qualité est bien meilleure, mais le prix entre en jeu. Les prototypes imprimés sur une telle imprimante ont coûté environ 4000₽, et cela n'est qu'une partie du boîtier sur deux. Vous pouvez acheter votre propre imprimante pour réduire le prix, mais cela restera cependant exorbitant, et la vitesse, insatisfaisante.
Moulage en silicone. Nous avons considéré cela comme la meilleure option. La qualité était au rendez-vous, le prix élevé mais pas critique. Nous avons même commandé un premier lot de 20 boîtiers pour des essais sur le terrain.
Mais tout a changé par le hasard. Un soir, j'ai accidentellement publié dans le chat interne pour les développeurs que j'avais un problème avec les boîtiers, que le prix était trop élevé. Et le lendemain, un collègue m'a écrit en privé qu'il avait un ami, qui avait un TPA (thermoplastique automatique). Et qu'il était possible de fabriquer un moule pour cela au premier stade. Ce message a tout changé !
J'avais déjà envisagé d'utiliser un TPA, mais ce qui me freinait, c'était même pas la nécessité de commander un lot de 5000 pièces minimum (bien qu'il soit possible de trouver moins en passant par des Chinois). Ce qui me bloquait, c'était le prix du moule. Environ 5000 $. Je n'étais pas prêt à sortir cette somme d'un coup. En revanche, le coût du moule proposé par notre nouveau collègue n'était pas exorbitant, variant autour de 2000 à 2500 $. D'ailleurs, il a été compréhensif, et nous avons convenu que le paiement serait échelonné. Ainsi, le problème avec les boîtiers a été résolu.
La deuxième difficulté, et non des moindres, à laquelle nous avons été confrontés est le matériel.
On ne compte plus le nombre de révisions du matériel. D'après mes modestes estimations, la version présentée est la septième, sans compter les intermédiaires. Nous avons essayé de résoudre tous les problèmes identifiés lors des tests.
Auparavant, je pensais qu'il n'y avait pas besoin de 'watchdog' matériel. Maintenant, sans lui, l'appareil ne peut pas entrer en production à cause de la capricieuse plateforme que nous avons choisie.
Il y a aussi l'entrée analogique sur l'ESP. Je pensais auparavant que chaque broche de l'ESP était universelle. Cependant, il n'y a qu'une seule broche analogique sur l'ESP. J'ai dû l'apprendre par l'expérience, ce qui a entraîné des modifications et une nouvelle commande de cartes imprimées.
Première version des cartes imprimées


Deuxième version des cartes imprimées


Avant-dernière version des cartes imprimées, où il a fallu résoudre d'urgence des problèmes avec la broche analogique


En ce qui concerne le logiciel, il y avait aussi de nombreux pièges.
Par exemple, la déconnexion périodique de l'ESP. Tandis que le ping y parvient, la page ne s'ouvre pas. La seule solution est de réécrire la bibliothèque. Peut-être qu'il existe d'autres solutions, mais toutes celles que nous avons testées n'ont pas donné de résultats.
Un deuxième problème significatif, curieusement, est le nombre de requêtes à l'ESP lors de l'ouverture de la page. En utilisant GET ou ajax, nous avons constaté que le nombre de requêtes devenait indécemment élevé. En raison de cela, l'ESP se comportait de manière imprévisible, pouvait simplement redémarrer ou traiter la requête pendant plusieurs secondes. La solution a été de passer aux sockets web. Après cela, le nombre de requêtes a considérablement diminué.
Le troisième problème concerne l'interface web. Plus d'informations à ce sujet seront publiées dans un article séparé plus tard.
Pour l'instant, je dirai simplement que la meilleure option à ce jour est d'utiliser VUE.JS.
Ce framework est le plus adapté parmi tous ceux que nous avons testés.
Vous pouvez consulter les différentes options d'interface via les liens ci-dessous.
La création du thermostat.
Après avoir surmonté toutes les difficultés, nous avons obtenu le résultat suivant :


Construction
Le thermostat se compose de trois cartes (modules) :
- Contrôleur;
- Contrôlé;
- Carte d'affichage.
Contrôleur – carte sur laquelle sont installés l'ESP12, le « watchdog » matériel et le nRF24 pour le fonctionnement avec de futurs capteurs. Au départ, l'appareil prend en charge le capteur numérique DS18B20. Mais nous avons prévu la possibilité de connecter des capteurs analogiques de fabricants tiers. Et dans l'une des futures mises à jour du logiciel de l'appareil, nous ajouterons la possibilité d'utiliser des capteurs fournis avec des thermostats de fabricants tiers.

Contrôlé – carte d'alimentation et de contrôle de la charge. Nous y avons installé une alimentation de 750 mA, des bornes pour connecter des capteurs de température et un relais de 16 A pour contrôler la charge.

Écran – lors de la phase de développement, nous avons choisi de 2,4 pouces.
Il est facile de trouver des informations à son sujet sur Internet. Je tiens à ajouter qu'il est pratique pour presque tout le monde, sauf en ce qui concerne le prix. Un écran de 2,4 pouces coûte environ 1200₽, ce qui n'a pas un impact positif sur le prix final.
Nous avons donc décidé de fabriquer un équivalent adapté à nos besoins, mais à un prix inférieur. Cependant, il faudra le programmer de manière classique, plutôt que depuis l'environnement Nextion Editor. C'est plus complexe, mais nous sommes prêts à le faire.
L'équivalent sera une matrice de 2,4 pouces avec un écran tactile et une carte STM32 à bord pour le contrôler et réduire la charge sur l'ESP12. Toute la gestion sera similaire à celle de Nextion via UART, avec également 32 Mo de mémoire et une carte flash complète pour l'enregistrement des logs.
La conception modulaire permet de remplacer facilement l'un des modules et d'obtenir un appareil complètement différent.
Par exemple, il existe déjà des options de « carte 2 » dans plusieurs versions :
- Option 1 – pour le chauffage au sol. Alimentation de 220V. Le relais contrôle n'importe quelle charge qui suit.
- Option 2 – pour le chauffage au sol à eau ou la vanne de radiateur. Alimentation de 24V en courant alternatif. Contrôle de la vanne à 24V.
- Option 3 – alimentation de 220V. Contrôle d'une ligne séparée, par exemple d'une chaudière ou d'un sauna électrique.
Postface
Je ne suis pas un développeur professionnel. J'ai réussi à rassembler des personnes autour d'un objectif commun. Pour la plupart, tout le monde travaille pour une idée; pour faire quelque chose de vraiment valable; quelque chose qui sera utile à l'utilisateur final.
Je suis sûr que certain(e)s n'apprécieront pas le design du boîtier; d'autres le look de la page. C'est votre droit ! Mais nous avons parcouru tout ce chemin par nous-mêmes, au travers de critiques constantes sur ce que nous faisons, et surtout pourquoi. Si aucune de ces questions n'est soulevée, nous serions heureux d'échanger dans les commentaires.
La critique constructive est une bonne chose, et nous en sommes reconnaissants.
L'histoire de l'idée . Pour les intéressés :
- Pour toute question : groupe Telegram
- Suivez les nouvelles : canal d'information Telegram
Et oui, nous prenons du plaisir à ce que nous faisons.
Source : habr.com
