Komunikace Terminalu s ESP8266 ESP-12

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
pavoucisit
Příspěvky: 176
Registrován: 02 lis 2008, 00:00
Bydliště: Havířov

#16 Příspěvek od pavoucisit »

Chip ESP8266EX by měly obsahovat všechny moduly.


wifi.sta.config("YOUR_NETWORK_NAME","YOUR_NETWORK_PASSWORD")

V programu máš v nastavení sítě XXXXXX, proč?
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#17 Příspěvek od markoni »

V programu máš v nastavení sítě XXXXXX, proč?

sice nemám veřejnou IP adresu ale jistě chápeš že si moje jméno WIFIny nechám pro sebe
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#18 Příspěvek od markoni »

Já už jsem s toho nešťastný ví někdo jak nahrát druhý firmware do modulu ESP8266 (ESP-12) hlavně zapojení pinů při update firmware sedím u toho dlouho hledám na netu všude a zatím nic píchl by mně podrobný postup , na (ESP-1) je na netu nebo youtube je toho mnoho ale nevím je ta vnitřní architektura stejná co se týká paměti a pod.díky předem a pomoc
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
pavoucisit
Příspěvky: 176
Registrován: 02 lis 2008, 00:00
Bydliště: Havířov

#19 Příspěvek od pavoucisit »

Co vypisuje příkaz AT+GMR ? (Jestli došlo opravdu ke změně firmware)
Edit: jak vidím z obrázků ESPlorer, tak nedošlo, stále je tam Vendor:www.ai-thinker.com........... a proto to vypisuje ERROR
LUA nereaguje na AT příkazy

Piny pro flash:
GPIO0......VCC (LOW)
GPIO2......VCC (HIGH)
GPIO15....GND (LOW) zapojeno tak, jak jsi začínal, viz tvůj první příspěvek.

Máš dostatečně tvrdý zdroj 3.3V, nekolísá ti napětí? Já mám alespoň zdroj napětí s LM317 a dostatečně dimenzovaný kondenzátor. (Modul má odběr až 250mA při wifi komunikaci)
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#20 Příspěvek od markoni »

Já se přiznám že nevím přesně jak to update firmware na tu lua ani nevím odkud to firmware vzít potřeboval bych podrobný postup jak na to :oops: předem co se týká LM317 já ho taky mám ale trafo mám zvonkové to by se ostatně dalo napájet s výkonějšího napěťového adaptéru díky
Přílohy
ESPlorer1.jpg
(206.23 KiB) Staženo 194 x
Uživatelský avatar
pavoucisit
Příspěvky: 176
Registrován: 02 lis 2008, 00:00
Bydliště: Havířov

#21 Příspěvek od pavoucisit »

http://blog.ok1cdj.com/2014/12/esp8266- ... ho_23.html jednoduchý návod, v podstatě takový, podle kterého jsi to dělal ty. Já mám linux a proto jsem použil python instalátor esptool.py. Firmware jsem stáhl z uvedeného odkazu na GitHub a to verze nodemcu_512k_20141226.bin. Vše problěhlo bez problémů a modul komunikuje.
S win verzí ti neporadím, ten pod Ubuntu nefunguje a ani pod Wine emulátorem.

Zdroj použij třeba 5V z USB pomocí starého kabelu a ten přes LM317 sniž na 3.3V. Zapojení regulátoru viz google, nic složitého. Kabel a LM317 a pár součástek okolo snad ze šuplíku vyhrabeš.
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#22 Příspěvek od markoni »

Zdá se že se to podařilo :) viz příloha zatím díky
Přílohy
update firmware.jpg
(177.15 KiB) Staženo 176 x
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#23 Příspěvek od markoni »

Tak další pokrok ale trochu mi na tom štve že je to nestabilní dá to práci to ať už spojit na detekovat přes sériový port nebo se s tím spojit přes webový prohlížeč díky
edit
další poznámka když nahraji ten skript

Kód: Vybrat vše

wifi.setmode(wifi.STATION)
wifi.sta.config("jmeno","heslo")
print(wifi.sta.getip())
led1 = 3
led2 = 4
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
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> ESP8266 Wifi Web Server</h1>";
        buf = buf.."<p>GPIO0 <a href=\"?pin=ON1\"><button>ON</button></a>&nbsp;<a href=\"?pin=OFF1\"><button>OFF</button></a></p>";
        buf = buf.."<p>GPIO2 <a href=\"?pin=ON2\"><button>ON</button></a>&nbsp;<a href=\"?pin=OFF2\"><button>OFF</button></a></p>";
        local _on,_off = "",""
        if(_GET.pin == "ON1")then
              gpio.write(led1, gpio.HIGH);
        elseif(_GET.pin == "OFF1")then
              gpio.write(led1, gpio.LOW);
        elseif(_GET.pin == "ON2")then
              gpio.write(led2, gpio.HIGH);
        elseif(_GET.pin == "OFF2")then
              gpio.write(led2, gpio.LOW);
        end
        client:send(buf);
        client:close();
        collectgarbage();
    end)
end)

tak mě to funguje ten webový server ale jak to vypnu napětí a znovu zapnu tak to přestane fungovat ale jak nahraji znovu ten skript tak to začne zas fungovat to znamená že se to neudrží v paměti toho modulu jde to udělat tak aby se to udrželo v paměti tlačítko SAVE TO ESP způsobí toto

Kód: Vybrat vše

 FILE="init.lua" file.remove(FILE) file.open(FILE,"w+") uart.setup(0,9600,8,0,1,0)
> >> > >> stdin:2: '=' expected near 'ig'
> stdin:1: <name> or '...' expected near 'local'
> > stdin:1: '=' expected near '..'
> stdin:1: '=' expected near '=='
> stdin:1: '<eof>' expected near 'end'
> cannot open init.lua
 
Přílohy
první ůspěch.jpg
(192.64 KiB) Staženo 185 x
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#24 Příspěvek od markoni »

Tak přes plastové okno na vzdálenost 50 metru to funguje na 3 tužkové baterky ta třetí baterka je zapojena paralelně aby byl poskytnut větší odběr proudu teď potřebuji vyřešit jak do modulu narvat konkrétní IP adresu protože se mi rve kam nechci na kterých mám něco jiného v příloze je modul na kontaktním poli napravo je modul STM32VLDISCOVERY kit toho si nevšímejte.
Přílohy
fotografie0047.jpg
(277.61 KiB) Staženo 167 x
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
pavoucisit
Příspěvky: 176
Registrován: 02 lis 2008, 00:00
Bydliště: Havířov

#25 Příspěvek od pavoucisit »

Pro nastavení IP v modu STATION si přečti (nejlépe celou příručku) viz https://github.com/nodemcu/nodemcu-firm ... fistasetip

http://www.electrodragon.com/w/ESP8266_NodeMCU_Lua

Ty baterky ti stačí dvě.
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#26 Příspěvek od markoni »

Dnes jsem to znovu zapnul nahrál skript ale nemohu zjistit IP adresu toho modulu kde dělám chybu? když chci zjistit ip adresu pomocí

Kód: Vybrat vše

 print(wifi.sta.getip())

zobrazí se

Kód: Vybrat vše

nil
díky
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
pavoucisit
Příspěvky: 176
Registrován: 02 lis 2008, 00:00
Bydliště: Havířov

#27 Příspěvek od pavoucisit »

Ten požadavek pro zjištění IP je moc rychlý, dej tam čekací smyčku:

Kód: Vybrat vše

wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","PassWord")
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
    if wifi.sta.getip()== nil then
       print("IP unavaiable, Waiting...")
    else
       tmr.stop(1)
       print("Config done, IP is "..wifi.sta.getip())
       --dofile("tvoje.lua")
    end
 end)

Tímto si zjistil IP přidělenou DHCP z AP a pokud chceš IP zadat ručně tak zadej toto:

Kód: Vybrat vše

wifi.setmode(wifi.STATION)
 wifi.sta.config("YOUR SSID","YOUR KEY")
 wifi.sta.connect()
 wifi.sta.setip({ip="FIXED IP ADDRESS",netmask="YOUR NETMASK",gateway="YOUR GATEWAY"})
 print("ESP8266 mode is: " .. wifi.getmode())
 print("The module MAC address is: " .. wifi.ap.getmac())
 print("Config done, IP is "..wifi.sta.getip())
 --dofile ("tvoje.lua")


-- To, co je za těmito 2 mínusy, tak to je určeno k poznámkám a překladač to nebere v potaz.
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#28 Příspěvek od markoni »

Při snaze nastavit IP adresu podle tvého příkladu za který ti mimochodem děkuji tak se vyskytl problém viz příloha kde dělám chybu tentokrát ?díky
edit
opravdu to musím nahrávat ty skripty pokaždé když se přeruší napětí nebo existuje způsob jak to nahrát do do paměti kdy by se to při přerušení napájení to tam zůstalo?
Přílohy
problem.jpg
(217 KiB) Staženo 163 x
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
ross4435897
Příspěvky: 426
Registrován: 10 lis 2009, 00:00
Bydliště: Brno

#29 Příspěvek od ross4435897 »

init.lua - tento skript se spousti po restartu, takze pokud nevolas jiny skript z tohoto skriptu, tak ten tvuj by se mel jmenovat init.lua ... vysvetleni zde
Uživatelský avatar
pavoucisit
Příspěvky: 176
Registrován: 02 lis 2008, 00:00
Bydliště: Havířov

#30 Příspěvek od pavoucisit »

Kód: Vybrat vše

wifi.setmode(wifi.STATION) 
wifi.sta.config("xxx","xxxx")
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
    if wifi.sta.getip()== nil then
       print("IP unavaiable, Waiting...")
    else
       tmr.stop(1)
       print("DHCP IP is "..wifi.sta.getip())
       wifi.sta.setip({ip="192.168.0.123",netmask="255.255.255.0",gateway="192.168.0.1"})
       tmr.delay(100) --Toto jsem zde vložil, bez tohoto mi to vypisovalo selhání pripojení
       print("STATIC IP is "..wifi.sta.getip())
    end
 end)

Toto jsem teď zkoušel a není problém, ale problém u tebe je ve verzi NodeMCU. Já už tam mezitím stačil nahrát 0.9.6 a pokoušel se to spustit už na novém firmware.

S uložením po restartu (vypnutí napájení) taky není problém, první kliknu Send To ESP, to mi vypíše případné chyby a pak dám Save to ESP. Zkus ještě Upload.
Přílohy
ESP.png
(55.32 KiB) Staženo 185 x
Odpovědět

Zpět na „Poradna“