Vamos descrever de forma objetiva como montar o modulo WiFi com base no ESP8266, modulo ESP-12 o circuito de controle para o Robô Esteira https://www.youtube.com/watch?v=c9rS8bXxDIk !
Vejamos o diagrama eletrônico da controladora na figura 1 !Figura 1
No diagrama da figura 1 dividiremos em três módulos ! O primeiro modulo se referente a fonte de alimentação composta por J1, JP3 D1, IC2, IC3, CI,C2 e C3,R3, LED5, estes componentes são responsáveis pelas tensões de %v e #V3 necessárias ao circuito para o funcionamento.
O segundo modulo se refere ao circuito do ES8266 no caso ESP12, que é composta pelo próprio ES12 ( WiFi Module ), R1, R5 e C% ( responsável pelo RESET do modulo ), R10 e R4 Conectores JP5, JP2, SV4, SV3, X1 ( conector serial ).
O terceiro modulo é responsável pela compatibilização das tensões de 3v3 para 5,0V e de 5,0V para 3V3, composta por Q1, Q2, Q3, Q4 , R8,R9,R2,R7,R10,R11,R2,R13 e conector de saída.
Na figura 2 temos o desenho do layout da controladora WiFi Edukatika.
Figura 2
Como obter o Firmware !
Em nosso canal no Youtube mostramos em video os passos iniciais sobre a compilação de firmware proprio onde voce pode divulgar o nome de sua empresa e ou desenvolvedor.
Porem neste texto vamos nos fixar em padronizar o firmware e para obter o firmware entre em contato com edukatika@hotmail.com .
Instalando o Firmware.
Para a instalação do firmware voce precisa de um adaptador USB/RS232 como mostrado na figura 3.
Figura 3
Agora voce vai precisar do software para gravar o FIRMWARE na sua controladora WIFI ESP8266/ESP12.
O link para o software esta aqui https://github.com/nodemcu/nodemcu-flasher?utm_source=rb-community&utm_medium=blog&utm_campaign=esp8266-running-nodemcu-as-a-controller
Na figura 4 vemos a tela do software que voce acabou de fazer download no link anterior. O arquivo a ser gravado que enviamos por Email é FirmwareLUA_095_20150318.bin !
Figura 4
O processo de gravação passo a passo voce pode ver aqui neste LINK.Agora voce deve fazer download da ferramenta de transferência e desenvolvimento na linguagem escolhida.
A linguagem de programação é LUA neste bloque já falamos sobre ela veja o link http://edukatikateaching.blogspot.com/2015/!
Neste link tem o software de desenvolvimento em LUA https://github.com/espressif/esptool !
Caso voce tenha dificuldades entre em contato no Email edukatika@hotmail.com !
Na figura 5 voce tem a tela do software ESPlorer .
Figura 5
Abaixo o codigo fonte em LUA desenvolvido pela Edukatika.
*------------------------------------------------------------------------------------------
-- mODULO esp8266 ep-12 kasakontrole
-- modo AP 4 canais
-- Clovis Magoga Rodrigues 25/03/2015 as 00h28
dirM1A = 1
dirM1B = 2
dirM2A = 3
dirM2B = 4
gpio.mode(dirM1A, gpio.OUTPUT)
gpio.mode(dirM1B, gpio.OUTPUT)
gpio.mode(dirM2A, gpio.OUTPUT)
gpio.mode(dirM2B, gpio.OUTPUT)
gpio.write(dirM1A,gpio.LOW)
gpio.write(dirM1B,gpio.LOW)
gpio.write(dirM2A,gpio.LOW)
gpio.write(dirM2B,gpio.LOW)
wifi.setmode(wifi.STATIONAP)
wifi.ap.config({ssid="RoboEsteira",pwd="12345678"});
wifi.ap.setip({ip="11.0.0.37",netmask="255.255.255.0",gateway="11.0.0.1"})
print(wifi.ap.getip())
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
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
buf = buf.."<h1> WebServer EDUKATIKA</h1>";
buf = buf.."<h2> RoboEsteira V.1.0</h2>";
buf = buf.."<p>P/ Frente <a href=\"?pin=ON1\"><button>ON</button></a> <a";
--href=\"?pin=OFF1\"><button>OFF</button></a></p>";
buf = buf.."<p> P/ Traz <a href=\"?pin=ON2\"><button>ON</button></a> <a";
--href=\"?pin=OFF1\"><button>OFF</button></a></p>";
buf = buf.."<p>P/ Direita <a href=\"?pin=ON3\"><button>ON</button></a> <a";
-- href=\"?pin=OFF1\"><button>OFF</button></a></p>";
buf = buf.."<p>P/ Esquerda <a href=\"?pin=ON4\"><button>ON</button></a> <a";
buf = buf.."<p> Parar <a href=\"?pin=OFF1\"><button>ON</button></a> <a";
--href=\"?pin=OFF1\"><button>OFF</button></a></p>";
local _on,_off = "",""
if(_GET.pin == "ON1")then
-- para frente
gpio.write(dirM1A, gpio.HIGH);
gpio.write(dirM1B, gpio.LOW);
gpio.write(dirM2A, gpio.HIGH);
gpio.write(dirM2B, gpio.LOW);
elseif(_GET.pin == "ON2")then
-- para traz
gpio.write(dirM1A, gpio.LOW);
gpio.write(dirM1B, gpio.HIGH);
gpio.write(dirM2A, gpio.LOW);
gpio.write(dirM2B, gpio.HIGH);
elseif(_GET.pin == "ON3")then
-- para direita
gpio.write(dirM1A, gpio.LOW);
gpio.write(dirM1B, gpio.HIGH);
gpio.write(dirM2A, gpio.HIGH);
gpio.write(dirM2B, gpio.LOW);
elseif(_GET.pin == "ON4")then
-- para esquerda
gpio.write(dirM1A, gpio.HIGH);
gpio.write(dirM1B, gpio.LOW);
gpio.write(dirM2A, gpio.LOW);
gpio.write(dirM2B, gpio.HIGH);
elseif(_GET.pin == "OFF1")then
-- pare
gpio.write(dirM1A, gpio.LOW);
gpio.write(dirM1B, gpio.LOW);
gpio.write(dirM2A, gpio.LOW);
gpio.write(dirM2B, gpio.LOW);
end
client:send(buf);
client:close();
collectgarbage();
end)
end)
Copie e cole o conteudo no aplicativo mostrado na figura 5 e acione o botão "SAVE TO ESP"