SourceBon après-midi
Je n'ai pas parlé de mon projet FLProg depuis très longtemps. Le dernier
message était toujours sur Geektimes.
Il est temps de réparer ce gâchis. À partir de ce post, je commence une série de leçons sur l'utilisation des nouvelles fonctionnalités du programme.
Si vous n'ĂŞtes pas familier avec le projet, vous pouvez voir son historique sur le
blog .
Maintenant, le site Web du programme teste la
version préliminaire
avec le numéro 3.1.4 . À partir de la version 3.1, le programme a introduit la prise en charge des contrôleurs ESP8266 en tant que contrôleur à part entière.
Pour ceux qui ne connaissent pas ces contrôleurs une petite descriptionL'ESP8266 est conçu pour être utilisé dans les prises intelligentes, les réseaux maillés, les caméras IP, les capteurs sans fil, l'électronique portable, etc. En un mot, ESP8266 est né pour devenir le cerveau du futur «Internet des objets».
Il existe deux options pour utiliser la puce:
1) sous la forme d'un pont UART-WIFI, lorsque le module basé sur l'ESP8266 est connecté à une solution existante basée sur tout autre microcontrôleur et est contrôlé par des commandes AT, fournissant à la solution une infrastructure Wi-Fi;
2) mise en œuvre d'une nouvelle solution utilisant la puce ESP8266 elle-même comme microcontrôleur de contrôle.
Le premier scénario a été implémenté depuis longtemps dans le projet FLProg. Il est implémenté à l'aide de l'un des modules ESP8266 chinois peu coûteux. Il convient aux amateurs d'arduino et à ceux qui ont déjà des schémas prêts à l'emploi et un firmware débogué sur la base de quelque chose de leur bien-aimé.
Le deuxième scénario consiste à écrire un firmware individuel pour contrôler la puce «de l'intérieur».
(Avant la sortie de FLProg 3.1, le firmware doit être écrit pour le compilateur propriétaire. À partir de cette version, il est désormais possible d'écrire le firmware dans les langages FBD et LAD dans l'environnement FLProg) .
Le scénario d'utilisation de la puce comme microcontrôleur de contrôle est intéressant en ce qu'il vous permet de créer des appareils vraiment petits et fonctionnant très longtemps sur batterie. Pour travailler avec des périphériques à bord, l'ESP8266 possède toutes les fonctionnalités nécessaires.
Caractéristiques clés
La puce ESP8266 est l'une des solutions WiFi les plus intégrées. À l'intérieur de la puce, il y a beaucoup de tout ce qui, dans les solutions concurrentes, fait souvent partie de la liaison externe:

En conséquence, un cerclage de copeaux typique ne comprend que quelques éléments. Moins d'éléments = moindre coût des composants, moins de coût de soudure, moins de zone de placement, moins de coût de carte de circuit imprimé. Ce qui est parfaitement confirmé par les prix actuels des modules basés sur le héros de notre revue d'aujourd'hui.
Gère toute cette agriculture intégrée avec une version étendue du processeur 32 bits de la série L106 Diamond de Tensilica. Qu'est-ce qui est intéressant à l'intérieur?
• Protocole 802.11 b / g / n
• Wi-Fi Direct (P2P), soft-AP
• Pile de protocoles TCP / IP intégrée
• Commutateur TR, balun, LNA, amplificateur de puissance et réseau d'adaptation intégrés
• PLL, régulateurs et unités de gestion de l'alimentation intégrés
• Puissance de sortie de + 20,5 dBm en mode 802.11b
• Prend en charge la diversité des antennes
• Courant de fuite hors tension <10uA
• SDIO 2.0, SPI, UART
• STBC, 1x1 MIMO, 2x1 MIMO
• Agrégation A-MPDU et A-MSDU et intervalle de garde de 0,4 μs
• Réveil et transmission de paquets en <22 ms
• Consommation en veille de <1,0 mW (DTIM3)
Technologie ultra basse consommation
La consommation d'énergie est l'une des caractéristiques les plus importantes d'une solution qui prétend être le cerveau de milliards d'appareils IoT. Quelle est la raison de la popularité du BLE et des diverses implémentations natives des interfaces radio? Après tout, à la fin, tous les appareils basés sur ces implémentations s'efforcent toujours d'accéder au Wi-Fi ordinaire à l'aide de ponts spéciaux.
Le secret est simple - il est difficile de créer un appareil connecté au WiFi, suffisamment de temps, travaillant sur une alimentation autonome. Les consommateurs ne sont pas prêts à changer les piles des capteurs tous les deux à trois mois. Par conséquent, «l'accès au réseau» devait fournir des ponts connectés à une électricité constante. ESP8266 devrait résoudre ce problème. Désormais, le Wi-Fi peut être utilisé même dans des capteurs autonomes fonctionnant sur de petites batteries. Grâce à l'utilisation de mécanismes avancés de gestion de l'énergie pour la solution.
Si vous regardez brièvement les caractéristiques de la consommation de la puce, vous pouvez rester dans le noir. 215mA en mode émission - rien de spécial? Oui, mais cela vaut la peine de lire la fiche technique et vous commencez à comprendre les perspectives de la solution. L'ESP8266 consomme environ 60 µA en mode veille profonde (avec une horloge en temps réel) et moins de 1,0 mA (DTIM = 3) ou moins de 0,5 mA (DTIM = 10) en mode maintenance
Source Le programme prend en charge la plupart des cartes existantes basées sur le contrôleur ESP8266.


Presque tous les blocs fonctionnels et périphériques applicables à la programmation des cartes Arduino sont disponibles pour la création de firmware. De plus, lors du choix d'un contrôleur ESP8266, de nouveaux blocs spécifiques lui apparaissent.

Compte tenu de la présence d'un contrôleur WiFi à bord, l'arborescence du projet change également.
Tout d'abord, comme avec tous les contrôleurs, il existe des branches pour contrôler l'antigel et la mémoire EEPROM

Viennent ensuite les paramètres les plus spécifiques.
Configuration du client WiFi et du point d'accès (leur fonctionnement simultané est possible).

Réglage du mode de mise à jour sans fil (jusqu'à présent, uniquement Arduino OTA, mais prévoit de mettre en œuvre et de mettre à jour via le navigateur et de télécharger automatiquement le firmware depuis le serveur de mise à jour)

Implémentation de la possibilité de créer une interface Web pour les paramètres du contrôleur. Vous pouvez créer un nombre illimité de pages de paramètres, avec le nombre de paramètres requis. En tant que paramètres, les deux paramètres système standard du contrôleur sont utilisés (voir les captures d'écran ci-dessus), et n'importe quel nombre de paramètres utilisateur utilisés pour la communication entre le firmware et l'interface de configuration. À toutes les pages (sauf la principale), ainsi qu'aux paramètres individuels, vous ne pouvez définir l'accès qu'à certains utilisateurs (le nombre d'utilisateurs créés n'est pas limité).

Et bien sûr, comme pour Arduino, la prise en charge des protocoles d'échange Modbus RTU, Modbus TCP et Modbus RTU sur TCP est implémentée.

Le mode pont entre Modbus RTU et Modbus TCP est également implémenté.

En général, j'ai essayé de maximiser les capacités de ce merveilleux contrôleur. Quelque chose a réussi.
Ce message est un aperçu, et à partir de la série, et dans le prochain, nous envisagerons la création d'une interface Web de paramètres et l'obtention de temps à partir des serveurs de temps exacts.
Le projet FLProg est un projet à but non lucratif, et vous pouvez télécharger le programme à partir du site Web du projet comme on dit
"gratuitement et sans SMS" . Il n'y a aucune restriction dans le programme. Des versions sont fournies pour Windows et OC Linux.
PSAprès de nombreuses plaintes concernant ma diction et la façon dont le matériel a été présenté, j'ai abandonné l'idée d'enregistrer des leçons vidéo (les talents d'enseignement et de conférencier ne m'ont pas été donnés).
Mais l'un des utilisateurs du programme est venu Ă mon aide.
Je veux vous présenter la chaîne
«Arduino Prom» et le site Web
«Arduino Prom» . Ils sont entièrement consacrés au projet FLProg, et aujourd'hui une centaine de leçons vidéo sont au programme.
Voici la dernière vidéo, sur la création d'une montre avec synchronisation via Internet.