Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - bobyAndCo

Pages: [1]
1
Shields et Modules / L’ESP8266 : « Une drôle de petite bête »
« le: septembre 10, 2017, 07:21:38 am »


Bonjour à tous,

Ne me dite pas que vous n’ayez jamais entendu parlé de ce composant qui fait déjà « pas mal de bruit dans le Landerneau » du DIY et de ce qui gravite autour !

A la base, l’ESP8266 est un simple module WIFI destiné à étendre les possibilités de cartes à microcontrôleurs comme les Arduino et d’établir avec elles des connections WIFI en TCP/IP. Mais l’ESP8266 disposant lui-même de son propre microcontrôleur, il est vite apparu à une petite communauté que l’on pourrait se dispenser de la carte « maitresse » pour peu que l’on dispose de l’environnement logiciel pour sa programmation.

C’est ce à quoi va rapidement « s’atteler » son fabriquant chinois, ESPRESSIF en proposant (entre autres) une solution en C/C++ au travers de l’IDE Arduino ; de l’Arduino sans Arduino ! Vous pouvez en effet comparer l’ESP8266 à un Arduino Mini ou Nano qui serait doté de la WIFI. Avec des performances pourtant supérieures :

Fréquence 80MHz pour l’ESP8266  contre 16MHz pour un Arduino UNO R3,
Flash Memory 4MB pour l’ESP8266  contre 32Kb (sic) pour un Arduino UNO R3.

L’ESP ne dispose pas par contre d’EEPROM ce qui nécessite d’utiliser la Flash Memory mais on voit bien qu’avec 4MB ce n’est pas un problème.

Mais ne nous y trompons pas tout de même. Si tout a été fait pour que la programmation soit aussi proche que possible de celle d’un Arduino, parfaitement intégrée dans l’IDE, utilisant même le langage spécifique de l’Arduino comme « digitalWrite » ou « analogRead », l’ESP n’est pas un Arduino. Les processeurs tout d’abord sont différents : ATmega pour la plupart des Arduino contre ESP8266.

Cependant, j’ai fait quelques tests de comparaisons sur digitalWrite justement. L’ESP donne une vitesse d’exécution environ 1,5 fois supérieure à un UNO !!! Et à mon grand étonnement, l’utilisation des routines de bas niveau spécifiques à l’ESP : (GPIO_REG_WRITE(GPIO_OUT_W1TS_ADDRESS, 1 << outPin) comparables aux manipulations de ports sur Arduino (PORTD = b10101000) n’apporte pas de gains significatifs en vitesse (+7 à 8%). Mais il ne s’agit que de tests théoriques portants sur des point très spécifiques. Il faudrait comparer si c’est possible l’exécution d’un programme bien réel.

Alors l’ESP, est-il de l’Arduino sans Arduino et mieux que l’Arduino ? Il faudra aviser selon ce que l’on souhaitera réaliser. Arduino vient de sortir un UNO en WiFi, mais il est certain que lorsque le gain de place est recherché, un ESP est plus facile à embarquer qu’un UNO. Et nous ne devrions pas attendre longtemps je pense pour voir apparaître des Nano ou autres Mini en WiFi chez Arduino.

Quoiqu’il en soit, l’ESP a de nombreux atouts et peut apporter beaucoup à la richesse et aux fonctionnalités des projets de modélisme ferroviaire.

Je suis personnellement en train de terminer une réalisation de pont tournant automatisé sur la base d’un FLEISCHMANN 6152 en HO et aucune autre solution Arduino embarquée n’était envisageable. Vous trouverez rapide aperçu ici et pourrez vous rendre compte du degré de miniaturisation :



Nous sommes assez nombreux à avoir initialisé des projets à base d’ESP. Encore plus nombreux sans doute sont ceux qui voudraient mais ne le connaissent pas bien. On peut penser que l’ESP ne sert qu’à faire des serveurs internet, ce qui est largement faux. Quoique, cela peut-être bien utile si l’on souhaite développer une application riche et pilotable à distance via un ordinateur, une tablette ou un smartphone.

Voilà, j’ai souhaité ouvrir ce nouveau fil pour que vous puissiez poser toutes vos questions et que la communauté Locoduino puisse partager une expertise déjà importante semble t’il sur le sujet.

Bien amicalement.

Christophe

2
Le logiciel DCC++ / Controller DCC++ Ethernet On-Line
« le: mars 04, 2017, 06:57:24 pm »
Bonjour à tous,

Dans le prolongement des articles sur DCC++ :

•   Réalisation de centrales DCC avec le logiciel libre DCC++ (1) - Comment adapter ce très bon logiciel à ses besoins propres
•   Réalisation de centrales DCC avec le logiciel libre DCC++ (2) - Mise en œuvre d’un contrôleur pour BaseStation en HTML.
•   Réalisation de centrales DCC avec le logiciel libre DCC++ (3) - DCC++ : Quel matériel et quelle mise en œuvre ?

J’ai adapté une version on-line d’un Controller Ethernet. Son principal intérêt est qu’il est simple d’utilisation. Il n’y a rien à télécharger, rien à installer sur son ordinateur.

Tout en étant simple, il n’en est pas moins très complet. Possibilité de créer un nombre important de locomotives, accès aux fonctions F0 à F28. La possibilité de scanner les valeurs des cv des locomotives (jusqu’à 512 cv), possibilité de programmer toutes les cv, programmation simple des adresses longues etc…

Ce projet est principalement destiné à tous ceux qui souhaitent mettre en œuvre rapidement et simplement une configuration DCC++ avec ARDUINO sur leur réseau sans entrer dans des configurations compliquées.

J’espérer que ce projet permettra au plus grand nombre d’utiliser DCC++ et qu’il permettra d’en appréhender les principales fonctionnalités.

Il ne demande qu’à évoluer pour répondre toujours mieux à son ambition. J’ai ouvert ce fil pour cela mais aussi pour que vous puissiez formuler des attentes et pour partager les expériences.

N’hésitez pas à essayer, je pense vraiment que vous serez surpris !

Accéder à DCC++ Controller Ethernet On-Line :http://185.14.178.233/locoduino/controller_dccpp/controller.php

Accéder à l'aide en ligne : http://185.14.178.233/locoduino/controller_dccpp/dccppController/index.php

BobyAndCo

PS : Cette configuration nécessite un ARDUINO MEGA et un shield ethernet.

3
Bonjour à tous,

J’ai ouvert ce nouveau sujet car il y a semble t’il un certain intérêt dans la communauté Locoduino pour la communication par Ethernet sur nos réseaux et somme toute peu (peut être rien) sur le site.

Ethernet n’est qu’une technologie. TCP/IP, c’est déjà un peu plus précis, c’est un protocole de communication entre différents appareils. Des ordinateurs, des tablettes et des smartphones et bien sûr nos petites cartes chéries pour peu qu’on y mette « à cheval » les shields appropriés : https://www.arduino.cc/en/Main/ArduinoEthernetShield

Et encore à l’intérieur de TCP/IP, HTTP. Là ça vous parle mieux, c’est quand votre navigateur consulte des pages HTML sur des serveur ou que parfois vous envoyez des informations quand vous remplissez des formulaires et appuyez sur le bouton « envoyer » Submit !

Nos Uno’s, Mega’s et autres peuvent se transformer en serveurs Web ; eh oui ! Modestes certes, mais très efficaces pour nos besoins en modélisme ferroviaire.

Ce fil est ouvert pour essayer de répondre si possible à toutes vos questions, mais il a aussi pour ambition de présenter des applications concrètes qui utilisent ce protocole.

Pour ma part, j’ai développé un controller de locomotives pour mon réseau et qui permet aussi de piloter les aiguillages. Visible en version démo

Si vous avez suivi les différents fils récents sur le forum, vous avez sans doute vu que ça s'agitait beaucoup autour de DCC++. C’est que c’est bigrement intéressant et prometteur. Dominique en particulier s’est « emparé » du sujet avec frénésie et il a raison je crois.

Pour ma part, mon ambition est d’adapter mon controller ci-dessus à DCC++ et vous faire un retour. Ce sera un exemple concret de mise en œuvre de Ethernet sur Arduino. Et vous verrez qu’au final, c’est beaucoup moins compliqué qu’il n’y parait.

Dans l’attente de vos retours et au plaisir de vous lire.

Christophe

4
Présentez vous ! / Nouveau venu
« le: juillet 05, 2016, 01:32:04 pm »
Bonjour à tous,

Mon prénom est Christophe. J’ai commencé un réseau en HO il y a 6 mois avec l’ambition de le faire résolument en DIY pour ce qui est de l’éléctronique (que je maitrise peu) et l’informatique (que je maîtrise beaucoup plus).

Aujourd’hui, j’ai un réseau en HO sur  3 x 2 m. et 7 locos (en DCC). Les événements sur le réseau sont détectés, selon les contraintes, soit par des ILS, des capteurs IR ou des lecteurs de code barre (avec codes barres sous les locos et lecteurs sous la planche). Il y a une quinzaine d’aiguillage.

Le tout avec 4 Arduinos mega 2560.

Un grand merci tout d’abord à toute l’équipe de LOCODUINO car j’ai largement “pompé” sur le site les solutions mises en œuvre sur mon réseau. Je trouve vraiment fantastiques toutes les contributions. UN GRAND MERCI A TOUS !

Pour la communication entre les Arduinos (et l’ordinateur le cas échéant), j’ai choisi de passer par des shields ethernet. Cela pour utiliser des ressources logicielles largement disponibles (HTML, javascript, PHP, SQL…) très performantes et gratuites. Pour la partie hard, les ressources sont souvent “bon marché” également.

Après avoir largement profité, j’ai eu envie d’apporter ma petite contribution si elle peut intéresser certains.

Ma première étape finalisée est ma centrale DCC développée en HTML, javascript et Angular JS. Pour ceux qui ne connaissent pas, Angular est un framework open source développé par Google. L’un de ses grands avantages est qu’il permet de réaliser des applications en One Page ce qui est particulièrement bien adapté au pilotage de locomotives et d’un réseau dans son ensemble.

Ca donne une interface de pilotage très graphique, ergonomique et en même temps très complète. Je peux donc piloter les locos, activer toutes les fonctions (éclairage, bruits…) mais aussi intervenir sur tous les réglages (changement d’adresse, volume sonore…).

Le résultat est vraiment simple à mettre en oeuvre. Il suffit d’un ordinateur, d’un navigateur (Chrome de préference) et d’un éditeur web (il y en a plein gratuits sur le web) et le tour est joué. Une Arduino bien sûr, un LMD18200 et un max471 comme décrit dans l’excellente série d’articles : Comment piloter trains et accessoires en DCC avec un Arduino

Cet interface de pilotage DCC est accessible en ligne et je peux communiquer le lien à ceux qui le souhaitent.

Voila, je vais continuer “puisser” très largement sur votre site et j’essayerai  d’apporter à ceux qui le souhaitent ma contribution.

Bien à vous

Christophe




Pages: [1]