Skip to content
blahlt edited this page Jul 4, 2019 · 3 revisions

ESP-03 (ESP8266)

  1. Sujungiam ESP8266 (ESP-03) moduliuką ir USB į serial keitiklį (USB to Serial converter):
ESP82266 USB to Serial converter
VCC 3.3V
GND GND
URXD TX
UTXD RX
CH_PD 3.3V
GPIO15 GND
ir kišam keitiklį į USB.
  1. Pasileidžiam PuTTY ir nustatom:
Connection type Serial
Serial line COM31 (priklausomai koks nustatytas keitiklyje)
Speed 9600
  1. PuTTY lange rašom AT, spaudžiam Ctrl+M, Ctrl+J ir gaunam OK

PuTTY kvailas ir neturi nustatymo ("Implicit CR in every LF" nustatymas nepadeda), kad po Enter nuspaudimo siųstu \r\n (CR+LF - Carriage return + Line feed), todėl Ctrl+M reiškia kursoriaus gryžimą į eilutės pradžią (Carriage return), o Ctrl+J - kursoriaus perkėlimą į žemesnę eilutę (Line feed))

  1. Restartuojame moduliuką nusiųsdami komandą AT+RST ir gaunam OK, šiektiek šiukšlių, gamintojo pavadinimą, versiją ir tekstą "ready"

  2. Pakeičiam moduliuko režimą į universalų, kad modulis galėtų veikti ir kaip prieigos taškas (angl. Access point) ir kaip prietaisas (angl. Station), parašydami komandą AT+CWMODE=3

CWMODE
1 Prietaiso režimas (Station)
2 Prieigos taško režimas (Access point)
3 Mišrus (prietaiso ir prieigos taško režimas (angl. Access point + station))
> Nustačius prieigos taško (angl. Access point) arba mišrų rėžimą (angl. Access point + station) modulis neveiks kaip maršrutizatorius (angl. router), taip pat modulis nebus pasiekiamas iš išorinio tinklo, bet bus galima prisijungti iš vidinio tinklo
  1. Surandam matomas wifi prieigas su komanda AT+CWLAP

  2. Jungiamės prie norimo wifi tinklo su komanda AT+CWJAP="ssid","slaptažodis" (atjungus ir vėl prijungus modulį automatiškai bus prisijungta prie šio tinklo nepriklausomai ar buvo nuo jo atsijungta su AT+CWQAP komanda) ir patikrinam ar prisijungėm su komanda AT+CWJAP?

Bandant prisijungti grąžindavo ERROR, nes rašant klaviatūra kabutes (iškarto rašydavo dvi kabutes ir vieną reikėdavo pašalinti) kažkas susigadina, todėl reikėjo visą komandą nukopijuoti (pavyzdžiui iš Notepad) ir spausti Ctrl+M, Ctrl+J

  1. Įvykdžius AT+CIFSR komandą parodys priskirtą IP adresą (priklausomai nuo rėžimo (CWMODE) - prietaiso IP, prieigos taško IP arba abu)

ESP8266 kaip HTTP klientas

  1. Prisijungiame prie tinklo

  2. Nustatom CWMODE į prietaiso - 1 (angl. Station) arba mišrų - 3 (angl. Access point + station) režimą

  3. Priklausomai ar norime vienu metu palaikyti kelis susijungimus (angl. multiple connections) ar ne nustatome CIPMUX į kelių susijungimų - 1 (angl. multiple connections) arba į vieno susijungimo (angl. single connection) režimą.

CIPMUX numatytoji (angl. default) reikšme yra 0 (vieno susijungimo). ESP8266 naudojant kaip klientą (angl. client) CIPMUX reikšmė gali būti ir 0 ir 1, o naudojant kaip serverį reikia įjungti kelių susijungimų - 1 (angl. multiple connections) rėžimą. Vykdant komandas kelių susijungimų (angl. multiple connections) režimu vykdant komandas reikia perduoti susijungimo identifikatoriaus (angl. connection id) parametrą, vieno susijungo (angl. single connection) režimo atveju tą parametrą reikia praleisti.

  1. Sukuriame susijungimą su www.google.lt į 80 portą, kurio identifikatorius yra 4

Susijungimus galima pažiurėti komanda AT+CIPSTATUS

  1. Inicijuojame 4 susijungimo 42 bitų siuntimą ir kai gauname ">" ženklą, siunčiame pranešimą (šiuo atveju HTTP GET užklausą, kuri nu CR ir LF simboliais užima 42 bitus) ir gauname atsakymą (duomenų paketą arba kelis, nes maksimalus paketo dydis mano atveju buvo 1430) po +IPD komandos, susijugimo identifikatoriaus ir paketo dydžio

  2. Uždarome 4 susijungimą

ESP8266 kaip HTTP serveris

  1. Prisijungiame prie tinklo

  2. Nustatom CWMODE į prietaiso - 1 (angl. Station) arba mišrų - 3 (angl. Access point + station) režimą

  3. Nustatome CIPMUX reikšmę į 1, kad palaikytų kelis susijungimus (angl. multiple connections)

Kai CIPMUX reikšmę 0 - negalima atidaryti porto, todėl būtina nustatyti į 1

  1. Komanda AT+CIPSTO galime nustatyti serverio susijungimui skirtą laiką (angl. timeout)

Pagal nutylėjimą (angl. default) yra nustatyta 180 sekundžių trukmė

  1. Atidarome 4000 portą

1 reiškia, kad portas (angl. port) yra atidaromas, o 4000 porto numerį

  1. Įvykdžius AT+CIFSR komandą sužinome IP adresą

  2. Naršyklėje kreipiamės į modulį

  3. Modulyje matome susijungimą ir užklausą

Po +IPD komandos matosi susijungimo identifikatorius (angl. connection ID) ir HTTP užklausa (angl. request)

  1. Siunčiame HTTP atsakymą (angl. response)

HTTP/1.1 200 OK\r\n
Content-Length:6\r\n\r\n
Hello!

  1. Naršyklėje gauname atsakymą

  2. Ir galime nutraukti susijungimą


http://diy.viktak.com/2014/12/first-experiences-with-esp8266.html

http://harizanov.com/2014/11/esp8266-powered-web-server-led-control-dht22-temperaturehumidity-sensor-reading/

http://nerdclub-uk.blogspot.com/2014/10/getting-esp8266-wifi-module-to-work.html

http://www.rei-labs.net/esp8266-wifi-module/

http://www.rei-labs.net/esp8266-connecting-to-internet/

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

http://hobbies.boguerat.com/esp8266-wifi-module-experimentation/

Clone this wiki locally