Connection entre arduino et ESP8266 programer avec esplorer

Azerty228961
dim, 07/23/2017 - 16:40
Bonjour
J'aurais énormément besoin de votre aide pour mon projet. J'aimerais commander a distance avec une application App Inventor le chauffage de ma maison et 3 prises connectées tout en récupérant des données tel que la température et l'humidité.
J'ai réussi grâce au très bon tuto d'U=RI (https://www.youtube.com/watch?v=i2IUDaC1n4k ) a commander 2 LEDs avec un ESP8266 et le logiciel esplorer. L'ESP8266 est programmer grâce au code que je vous fournis ci-dessous.
Tout fonctionne parfaitement même si je suis en 4G sauf que j'ai besoin de 4 sortie digital (et que l'ESP en a 2) et surtout que ce soit une arduino qui les récupéré car les données seront envoyé ensuite via des modules radio NRF24L01 aux prises. Et il me faudrait aussi un moyen d'envoyer 2 données (température et humidité) jusqu'au téléphone.
Je pensais utiliser une liaison série entre les deux carte mais je ne connais absolument pas le langage de programmation de l'ESP et je ne sais pas comment m'y prendre...
Merci d'avance pour vos réponses
Code de l'ESP :
wifi.setmode(wifi.STATION)
wifi.sta.config ("BTH*******","3937******") -- Réseau Wifi et Clé
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
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
-- Création d'un buffer permettant "d'écouter" l'URL
local buf = "";
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
local _on,_off = "",""
-- Si l'URL contient "GPIO0ON" alors GPIO0 à 3.3V
if(_GET.pin == "GPIO0ON")then
_on = " selected=true";
gpio.write(3, gpio.HIGH);
print("GPIO0ON")
-- Si l'URL contient "GPIO0FF" alors GPIO0 à 0V
elseif(_GET.pin == "GPIO0OFF")then
_off = " selected=\"true\"";
gpio.write(3, gpio.LOW);
print("GPIO0OFF")
-- Si l'URL contient "GPIO2ON" alors GPIO0 à 3.3V
elseif(_GET.pin == "GPIO2ON")then
_off = " selected=\"true\"";
gpio.write(4, gpio.HIGH);
print("GPIO2ON")
-- Si l'URL contient "GPIO2ON" alors GPIO0 à 0V
elseif(_GET.pin == "GPIO2OFF")then
_off = " selected=\"true\"";
gpio.write(4, gpio.LOW);
print("GPIO2OFF")
end
client:send(buf);
client:close();
collectgarbage();
end)
end)
Azerty228961
lun, 07/24/2017 - 14:26
J'ai précisé que j'ai suivi le tuto d'U=RI et ce code provient de la vidéo mise en lien
Nathan Garnier
lun, 07/24/2017 - 23:02
Et sinon pourquoi pas passé par une wemos et programmer avec l'IDE arduino avec le petit tuto que nous a fait Brossden ...
Azerty228961
dim, 07/30/2017 - 00:40
Je l'ai justement vu et envisage grandement de m'en servir
Merci beaucoup
Nathan Garnier
dim, 07/30/2017 - 00:48
Et bien bonne chance et tu verra c'est top.
Non plus sérieusement si tu gère bien avec la wemos tu devrai avoir assez de pin pour tout faire sans passer par une arduino.
Azerty228961
dim, 07/30/2017 - 00:48
Il le subsiste une interrogation et pas des moindre :
Comment le câbler ?
Utiliser un FTDI ou une arduino ?
PS: Je parle de la sulution de brossden
Azerty228961
mer, 08/02/2017 - 23:30
N'est il pas possible d'utiliser le même principe mais avec un eps8266 car j en possède déjà et ça menbeterais d'acheter autre chose : )