Redirection de ports

bc38
sam, 08/20/2016 - 19:35
Bonjour,
En suivant la video "ESP8266 : Application android", j'ai réussi à faire fonctionner le montage tel que décrit dans la video. J'ai redirigé le port 80 vers l'adresse IP que j'ai affectée à mon esp et cela fonctionne parfaitement en WiFi ou en 4G.
Voulant adresser plusieurs esp j'ai donc redirigé d'autres ports 81 à 83 avec des adresses ip différentes de la même façon que pour le port 80, mais cela ne fonctionne pas ?
Voici le début de mon code lua qui fonctionne : (c'est quand je change ip="192.168.0.41" et srv:listen(81,function(conn)... que çà ne fonctionne plus)
wifi.setmode(wifi.STATION)
wifi.sta.config ("XXXX,YYY") -- Réseau Wifi et Clé
cfg =
{
ip="192.168.0.40", --- POUR FIXER ADRESSE IP ESP
netmask="255.255.255.0",
gateway="192.168.0.254"
}
wifi.sta.setip(cfg)
print(wifi.sta.getip()) -- Affiche l'IP attribuée à l'ESP8266
-- Initialisation des broches GPIO0 et GPIO2
gpio.mode(3, gpio.OUTPUT)
gpio.mode(4, gpio.OUTPUT)
gpio.write(3, gpio.LOW);
gpio.write(4, gpio.LOW);
-- Création du serveur web
if srv~=nil then -- FERME LE SERVEUR PRECEDENT
srv:close()
end
srv=net.createServer(net.TCP)
srv:listen(80,function(conn) ---- PORT 80 REDIRIGE
conn:on("receive", function(client,request)
Si quelqu'un a une idée géniale.
Merci d'avance
Bruno
Cédric29
dim, 08/21/2016 - 22:07
Salut
Tu as préciser les ports dans le fichier apk?
bc38
dim, 08/21/2016 - 22:12
Dans le fichier apk c'est mon adresse ip (myipadress) qui est spécifiée de manière à accéder à mon réseau en 4g, puis dur ma box je redirige les ports vers l'adresse IP de mon esp. C'est ok avec 80 redirigé vers 192......40...
Cédric29
lun, 08/22/2016 - 08:57
Normalement les port 81 - 82 - 83 sont deja attribué a des services, je te conseille d'utiliser des ports libres
Ensuite, ca doit ce passer comme ca.
Par exemple pour les ports libres 45000,45001,45002
Suivant l'action sur l'app apk, elle va envoyer une requête a ton adresse ip internet 86.123.321.xxx : au port 45 000 ou 45001 ou 45002 etc.
Donc dans l'app.apk i faut bien différencier quelle action va sur quel esp en modifiant les ports
Pour la redirection au niveau du routeur :
JDire a ton routeur que les requetes qui arrive a ces ports doivent aller aux ip locales qui leurs sont attribué , l'ip des esp 192.168.1.xx . pas besoin de préciser un port.
Le serveur de l'esp reçoit la requête qui lui est attribué et la traite ou pas !. Pas besoin de changer le port du serveur, tu peux le laisser a 80 sur tous tes esp.
bc38
lun, 08/22/2016 - 22:36
Merci. Je vais essayer avec des numéros de ports différents. Je ferai un retour.
Cédric29
mar, 08/23/2016 - 20:10
Si ca ne fonctionne pas, partage nous ton fichier .aia
bc38
jeu, 08/25/2016 - 16:47
Bonjour,
J'ai trouvé la solution :
1) j'ai redirigé dans ma box l'adresse de mon ESP vers un port supérieur à 1100 pour ne pas être ennuyé par les ports "réservés"; exemple 1111
2) dans le programme lua : je fixe l'adresse de mon ESP et j'écoute sur le port redirigé : srv:listen(1111,function(conn)
3) dans mon programme App Inventor j'appelle par Webviewer l'url http://monadresseip:1111/?pin=GPIO2ON
monadresseip étant l'adresse de ma box
Merci de votre aide.
Bruno