Rolf Ziegler
Toutes mes réponses sur les forums
-
AuteurMessages
-
Rolf Ziegler
Maître des clésDans l’exemple que tu donnes, une inclusion ne passe pas:
[code]
Time 1.5.0 de Michael Margolis
http://playground.arduino.cc/code/time
Disponible dans le gestionnaire de bibliothèques de l’IDE Arduino
(rechercher “Timekeeping functionality for Arduino”)[/code]
J’ai essayé avec <Time.h> au lieu de <TimeLib.h> mais ça génère d’autres erreurs. J’ai eu beau fouiller sur les sites/forom ect., ce n’est pas décrit de manière claire ce qu’il faut faire.
Solution: dans le menu Croquis->Inclure une bibliothèque->Gérer les biliothèques, ajouter Time by Michael Margolis, TimeAlarms. Et aussi NTPClient, NTPClientLib.
Concernant Time.h, celui de la bibliothèque se contente d’inclure TimeLib.h. Tout est dit…
-
Cette réponse a été modifiée le il y a 8 années et 1 mois par
Rolf Ziegler.
Rolf Ziegler
Maître des clésla librairie utilisée n’est pas compatible avec ESP8266, essaye avec la librairie https://github.com/markszabo/IRremoteESP8266/ la source du problème est que les interruptions de l’ESP ne sont pas les mêmes qu’avec un processeur AVR. Par contre la librairie indiquée ci-dessus ne fonctionne qu’en émission, pas en réception. A essayer….
Rolf Ziegler
Maître des clésIl y effectivement 2 exemples dans la librairie ESP8266 qui répondent à ta demande. Malheureusement ces exemples utilisent les fonctions FS (Fichiers intégrés dans l’ESP) ou SD (carte SD à la place de la mémoire flash). Ces exemples indiquent comment intégrer un système de fichier pour mettre en place une structure de fichiers séparés. Malheureusement, les exemples sont beaucoup plus compliqués que l’exemple utilisé par Laurent. Ce dernier est probablement la manière la plus simple de mettre en place un serveur WEB ultra simple sur ESP.
A étudier: SDWebServer.ino et FSBrowser.ino les 2 se trouvent dans les exemples sous ESP8266WebServer
et à trouver un exemple simple avec 2-3 fichiers dont un « /index.htm »
Je crois qu’il existe également un mode OTA (over the air update) qui permet de remplacer les fichiers tels que « /index.htm » par connexion wifi, donc sans devoir flasher avec un câble. Ce dernier est utilisé dans les relais SONOFF.
-
Cette réponse a été modifiée le il y a 8 années et 1 mois par
Rolf Ziegler.
Rolf Ziegler
Maître des clésJe précise ma demande: il y a 2 parties identifiables: le code C/C++ et du contenu WEB. L’idéal serait de pouvoir modifier (et charger, ce qui est long) séparément les pages WEB. Et le code aurait la structure suivante:
- initialisation
- boucle infinie
-- service WEB
-- traitements
Le service WEB ouvre un espace de stockage, lit le fichier et écrit son contenu sur WEB_SERVER.send(200, « text/html », html);Idéalement, on a le chargement du code exécutable et le chargement de pages WEB séparé, dans des espace de stockage séparés. Ainsi, la modification rapide de la page ne demande pas de recharger le tout.
Dans le projet de la barrette, c’est même un loader qui était proposé pour charger la ou les pages modifiées. Ce qui était bien pratique pour les petites modifs rapidement mises à jour.
Rolf Ziegler
Maître des clésOtto,
Pour moi cette source n’est pas sérieuse, on ne met pas de ligne i2c 5v sur une entrée i2c ESP 3.3v ce qui peut détruire le module ESP, à voir ou sont les pull-up, tu dois en avoir des 2 côtés, sur le LCD et sur le module ESP. Pour ce qui est du code, je n’arrive pas a compiler ton code car les guillemets ne sont pas justes. Corrections plus bas. Afficher Hello avec noBacklight() avant n’affiche rien, l’affichage fonctionne chez moi avec ton code mais seulement à partir de l’affichage « ligne 1 » et « ligne 2″. J’ai remplacé lcd.noBacklight() par lcd.backlight() et j’ai le le HELLO qui s’affiche également.
Pour terminer, j’ai copié mon code sur notre dropbox. En principe les problèmes I2C sont liés à 2 problèmes:
1. Pas de pull-up sur SDA et SCL ( je te conseille de dé-souder ceux qui sont côté 5v et de ne laisser que ceux côté 3.3v ce qui devrait fonctionner également.
2. les lignes SCL et SDA sont croisées.
Comme indiqué avant, ton code fonctionne chez moi avec les modifications ci-dessous (à l’adresse x20).
Joyeux Noël
Rolflcd.noBacklight();
lcd.print( » HELLO « );
delay(800);
lcd.backlight();
lcd.setCursor(0,0);
lcd.print( » LIGNE 1 « );
lcd.setCursor(0,1);
lcd.print( » LIGNE 2 « );Rolf Ziegler
Maître des clésSalut Otto,
J’ai fais la même expérience!! Comment as-tu alimenté ton circuit ? 3.3v ne fonctionne pas, cet écran a besoins de 5v. Il faut donc un convertisseur pour les 2 lignes i2c. Je l’ai réalisé selon le plan suivant avec 2 transistors: https://plus.google.com/110064457081979999172/posts/WS3xjQ2rbXQRolf Ziegler
Maître des clésLa plage DHCP semble être fixe et décrite dans
ESP8266WiFiAP.cpp
J’ai trouvé le fichier avec le chemin visible lors de la compilation chez moi:
C:\Users\rolf\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src
-
Cette réponse a été modifiée le il y a 8 années et 2 mois par
Rolf Ziegler.
Rolf Ziegler
Maître des clésMerci Jean-Marc, très bonne astuce pour réduire le trafic longue distance !
5 décembre 2016 à 02:03 en réponse à : Utilisation de gpio.h, accès direct sur les pins de l'ESP #2832Rolf Ziegler
Maître des clésVoici une alternative pour accéder aux pins plus rapidement qu’avec digitalWrite ou digitalRead decrite plus haut
#define PIN_READ(x) ((GPI & (1 << x)) != 0)
#define PIN_LOW(x) (GPOC = (1 << x))
#define PIN_HIGH(x) (GPOS = (1 << x))
#define PIN16_LOW() (GP16O &= ~1)
#define PIN16_HIGH() (GP16O |= 1)Les registres GPOC (clear bit register) , GPOS (set bit register) et GP16O (gpio16 register) sont déclarés dans le driver ESP8266.
-
Cette réponse a été modifiée le il y a 8 années et 1 mois par
-
AuteurMessages