Wemos D1 mini et Livebox

Bonjour,
j'ai enfin reçu ma petite carte et j'ai testé l'exemple WiFiWebServer. Tout fonctionne bien avec le wifi local, même en changeant le port par défaut avec par exemple 504 comme suivant : http://192.168.1.17:504/gpio/0/
Mais pas moyen de le faire fonctionner en 4G, c'est à dire en entrant l'adresse http://mon_ip:504/gpio/0/
J'ai pourtant fait une redirection du port sur le site de la livebox...

Wally06:
Bonjour,
j'ai enfin reçu ma petite carte et j'ai testé l'exemple WiFiWebServer. Tout fonctionne bien avec le wifi local, même en changeant le port par défaut avec par exemple 504 comme suivant : http://192.168.1.17:504/gpio/0/
Mais pas moyen de le faire fonctionner en 4G, c'est à dire en entrant l'adresse http://mon_ip:504/gpio/0/
J'ai pourtant fait une redirection du port sur le site de la livebox...

Bonsoir
sauf à ce que ce soit un probleme de loopback "connu" sur les livebox , ce que je ne pense pas vu ta description
je penche plus vers "une mauvaise redirection"
tu redirige 504 vers 260
ça donne quoi en appel externe (4G) avec
http://mon_ip:260/gpio/0/

et "mon_ip" est quelle adresse ip ?
celle de ta session "livebox" ? ou ... 192.168.1.17 ?

ça ne donne rien non plus. J'avais essayé de mettre 504 à la fois dans interne et externe mais idem : le "site" est inaccessible. mon_ip est l'ip que me donne le site http://www.mon-ip.com/

Il faut peut être trouver une valeur de port très spécifique !

EDIT : juste quand je dis ça, çà marche ! Certaines valeurs au dessus de 1000 fonctionnent, super ! Au fait, c'est le protocole TCP, pas UDP

J'ai remarqué un truc bizarre. Quand ma carte est connectée par un câble de 30 cm au PC pas de pb. Par contre si je rajoute une rallonge de 1m, la connexion avec le PC devient instable et surtout le wifi ne marche plus. Jusqu'à présent ce câble à toujours bien fonctionné avec mes cartes Arduino. Normalement jusqu'à 5m ça ne devrait pas causer de problème.

Même problème avec cette rallonge USB 2.0 et un disque dur externe, il s'allume mais Windows ne voit pas le disque. Par contre marche parfaitement avec une clef USB.

Autre remarque, ça marche parfaitement en 4G mais très très mal, voire pas du tout quand je bascule en Wifi. Pas terrible cette Livebox !

Wally06:
Autre remarque, ça marche parfaitement en 4G mais très très mal, voire pas du tout quand je bascule en Wifi. Pas terrible cette Livebox !

Bonsoir
Je ne comprend pas bien :

  • Lorsque tu te connecte en 4G , tu accède à ton serveur web embarqué sur l'esp nécessairement par le wifi de ta livebox apres etre passé par le routage exterieur (reseau4G de ton operateur ---> vers ton adresse IP livebox externe)
  • Lorsque tu te connecte en local sur ta livebox (IP 192.168.x.y ) c'est aussi par le wifi de ta livebox
    ou alors tu tente de l'acces vers l'esp en mode SOFTAP ?

Quand je me connecte en wifi local (IP 192.168.) ça marche bien, en 4G (IP externe de la livebox) c'est OK aussi. Là où ça bug complet c'est en Wifi externe (par exemple quand je suis à proximité de la box, mon tel repasse de la 4G au wifi). En plus j'ai la fibre !
Se pourrait-il que ce soit ma box qui déconne ?

Wally06:
Quand je me connecte en wifi local (IP 192.168.) ça marche bien, en 4G (IP externe de la livebox) c'est OK aussi. Là où ça bug complet c'est en Wifi externe (par exemple quand je suis à proximité de la box, mon tel repasse de la 4G au wifi). En plus j'ai la fibre !
Se pourrait-il que ce soit ma box qui déconne ?

:grin:

Je savais bien que cette box n'était pas net. Dès que la nouvelle Freebox sort, je switch :slight_smile:

J'ai un autre souci avec cette WeMos mini...
J'y ai connecté deux LEDs, une sur GPIO0 et l'autre sur GPIO2 et bien que dans setup() je force D3 et D4 à l'état LOW, au moment où je branche l'alim, les LEDs s'allument un bref instant. Comment ça se fait ?

#include <ESP8266WiFi.h>

const char* ssid="";
const char* password="";

WiFiServer server(1024);

void setup(){
	Serial.begin(115200);
	delay(10);

	pinMode(0,OUTPUT); //GPIO 0 => Pin D3
	digitalWrite(0,LOW);
  
	pinMode(2,OUTPUT); //GPIO 2 => Pin D4
	digitalWrite(2,LOW);
  
	Serial.print("Connecting to ");
	Serial.println(ssid);
        WiFi.begin(ssid,password);
  
	while(WiFi.status()!=WL_CONNECTED){
		delay(500);
		Serial.print(".");
	}
  
	Serial.println("");
	Serial.println("WiFi connected");
  
	server.begin();
	Serial.println("Server started");

	Serial.println(WiFi.localIP());
}

void loop(){
	WiFiClient client=server.available();
	if(!client) return;
  
	Serial.println("new client");
	while(!client.available()) delay(10);
  
	String req=client.readStringUntil('\r');
	Serial.println(req);
	client.flush();
  
	if(req.indexOf("/gpio0/0")!=-1) digitalWrite(0,LOW);
	else if(req.indexOf("/gpio0/1")!=-1) digitalWrite(0,HIGH);
    
	if(req.indexOf("/gpio2/0")!=-1) digitalWrite(2,LOW);
	else if(req.indexOf("/gpio2/1")!=-1) digitalWrite(2,HIGH);
}

Wally06:
J'ai un autre souci avec cette WeMos mini...
J'y ai connecté deux LEDs, une sur GPIO0 et l'autre sur GPIO2 et bien que dans setup() je force D3 et D4 à l'état LOW, au moment où je branche l'alim, les LEDs s'allument un bref instant. Comment ça se fait ?

parce que GPIO0 et GPIO2 sont cablés avec un pullup , c'est la config pour un boot "normal"

Ah ok, merci ! Mais bon c'est chiant, ça fait deux pins en moins pour des relais

Bonjour

Je me permet de poster dans ce fil car je rencontre un problème plus ou moins semblable.
Je bidouille sur une D1 mini depuis quelques jours. J'ai pu utiliser cette carte comme serveur en local, maintenant je voudrais le faire à distance.
J'ai passé des heures dans les pages de configuration de la livebox, mais tout ces trucs sont imbitables pour une personne qui ne connait rien à rien en réseau comme moi.
J'ai cherché des tutos, mais je n'ai rien trouvé de pertinent, et pour couronner le tout les rares explications qui pourraient se rapprocher (redirection d'un port pour un jeu) sont expliqué sur une autre interface, et mes menus sont différents (j'ai la livebox play).

Est-ce que quelqu'un pourrait m'indiquer la marche à suivre ?

En vous remerciant d'avance.

Je n'ai pas de LB play mais cela devrait être similaire :

Avant tout la première question à te poser est : mettre en place un DynDNS, à moins que tu ne l'aies déjà.
Parce que si tu dois accéder de l'extérieur par l'adresse IP de ta box, c'est misère. Elle peut changer à tout moment.

Sinon c'est du NAT (Network Address Translation).
Sur la page "Configuration avancée / NAT :

Colonne 1 : le nom de ton serveur (service)
Colonne 2 : le port interne du serveur (celui sur lequel ton serveur écoute)
Colonne 3 : le port externe par lequel tu veux accéder (le même si tu veux)
Colonne 4 : le protocole (TCP si c'est un serveur HTTP)
Colonne 5 : l'adresse IP locale de ton serveur

Colonne 3 : tu ne peux pas avoir deux services sur le même port.

Voili voilou.

Bonjour et merci pour cette réponse

J'ai pu progresser un peu, maintenant je vois ma d1 mini sur mon réseau local (elle se connecte à la livebox, alors qu'avant je devais connecter mon ordi en direct).
Par contre impossible d'y accéder à distance, en non local.
Je tape mon ip (telle qu'elle apparait sur le web suivi du port utilisé :80) mais ça qui s'affiche

Ce site est inaccessible
Il se peut que la page Web à l'adresse http://--.---.---.---/ soit temporairement inaccessible ou qu'elle ait été déplacée de façon permanente à une autre adresse Web.

ERR_CONNECTION_ABORTED

Par contre impossible d'y accéder à distance, en non local.

Par quelle adresse IP accèdes-tu ?
As-tu récupéré l'adresse IP de ta LiveBox (adresse IPv4 WAN) ?

J'utilise l'IP que me donne ce site : https://mon-ip.io
qui est au format xx-xxx-xxx-xxx

Pour essayer de me connecter à la D1 mini j'ai essayé les choses suivantes
xx-xxx-xxx-xxx:80
xx-xxx-xxx-xxx:8080 (en changeant le port sur la config de la livebox)
xx-xxx-xxx-xxx:80/d1mini (nom donné au périphérique dans la config de la livebox)

et la même chose précédé de http://

Par contre à partir de mon pc portable qui est sur le même réseau je tape 192.168.1.12 et j'accède a la carte

J'ai déjà accédé à mon serveur (RASPBERRY) de suivi de conso électrique de l'extérieur sans problème avec une LiveBox. Mais c'est de l'Ethernet. Je ne vois pas ce qui pourrait déranger en WIFI.

Tout d'abord : la D1 mini écoute sur un port. Voir dans le code.
Je suppose que si cela mparche avec 192.168.1.12 c'est le 80.

Ensuite, tu fais une translation d'adresse IP 192.168.1.12 vers xx-xxx-xxx-xxx
Donc avec xx-xxx-xxx-xxx:80 cela devrait rouler.

Mais tu dois le faire vraiment de l'extérieur, ou passer par un site extérieur.

Par exemple : Open Port Check Tool - Test Port Forwarding on Your Router

Chez moi ma RASPBERRY est en 192.168.1.135 sur le port 8080.
Je redirige avec NAT en utilisant le même port 8080.
Si je teste depuis chez moi avec un navigateur 90.13.28.XXX:8080 : Le serveur à l’adresse 90.13.28.XXX met trop de temps à répondre.
Mais si je teste avec un site extérieur : Open Port 8080 is open on 90.13.28.XXX

Encore une fois, sans Dynamic DNS cela reste une solution peu exploitable.
Ensuite : travailler avec quel DNS ? gratuit ou non ?
Le DNS se met-il à jour suffisamment rapidement si la LiveBox change d'IP ?
J'ai eu tellement de déboires que j'ai laissé tomber.

Ensuite quelle est l'importance de pouvoir accéder de l'extérieur ?
Allumer la lumière chez soi de l'extérieur ?
Un serveur domotique ?
bof

Mais avec une IP fixe pourquoi pas ?

Je viens de faire quelques tests avec ce site, et les ports restaient fermés, jusqu'à ce que je choisisse "FTP Data" dans application/service.
Un test en 3G montre que ça fonctionne.
Merci pour cette aide, je n'y serais jamais arrivé seul...