Está en la página 1de 14

Univerzitet u Novom Sadu

Tehnički fakultet »Mihajlo Pupin«


Zrenjanin

SEMINARSKI RAD

Napredne telekomunikacije

TEMA: Arduino ESP8266 WiFi

Profesor: Student:
doc. dr Dobrilović Dalibor Jovan Tatalović MIT 25/12

Zrenjanin, 2018. god.


Napredne telekomunikacije Jovan Tatalović MIT 6/17

Contents
1 Uvod .............................................................................................................................. 2
1.1 Ko je ko ............................................................................... Error! Bookmark not defined.
1.2 Opis klasa ........................................................................................................................ 3
1.3 Stanica .............................................................................................................................. 3
1.4 Soft Access Point ............................................................................................................. 4
2 Praktična primena i realizacija .................................................................................. 5
2.1 Kreiranje grafičkog korisničkog interfejsa .................................................................. 5
2.2 Konfiguracija projekta ................................................................................................... 5
2.3 Preuzimanje skice za Arduino ....................................................................................... 6
2.4 Podešavanje ESP8266 .................................................................................................... 6
2.5 Povezivanje ...................................................................................................................... 7
2.6 Učitavanje u Arduino Uno ............................................................................................. 8
2.7 Unos koda ........................................................................................................................ 8
2.8 Unos biblioteke .............................................................................................................. 10
3 Realizacija .................................................................................................................. 10
4 Primeri ........................................................................................................................ 11
4.1 Povezivanje mobilnog telefona na Arduino sa ESP8266 ........................................... 11
4.2 Povezivanje mobilnog telefona na Arduino sa ESP8266 ........................................... 12
4.3 Povezivanje Arduino sa ESP8266 na Access Point .................................................... 12

Strana 1
Napredne telekomunikacije Jovan Tatalović MIT 6/17

1 Uvod
1.1 Kako se realizuje?

Uređaji koji se povezuju na Wi-Fi mrežu nazivaju se stanice (STA).


Povezivanje sa Wi-Fi-om obezbeđuje pristupna tačka (AP) koja deluje kao
čvorište za jednu ili više stanica. Pristupna tačka na drugom kraju je povezana
sa žičnom mrežom. Pristupna tačka je obično integrisana sa ruterom kako bi
se omogućio pristup sa Wi-Fi mreže na internet. Svaku pristupnu tačku
prepoznaje SSID (Service Set IDentifier), što je u suštini naziv mreže koju
izaberete kada povezujete uređaj (stanicu) sa Wi-Fi-om.

ESP8266 modul može da funkcioniše kao stanica, tako da ga možemo


povezati sa Wi-Fi mrežom. Takođe može funkcionisati kao soft access point
(soft-AP), kako bi se uspostavila vlastita Wi-Fi mreža. Zbog toga možemo
povezati druge stanice sa takvim ESP modulom. ESP8266 takođe može da
radi i na stanici i u modu pristupne tačke. Ovo daje mogućnost izgradnje npr.
mrežne mreže.

Biblioteka ESP8266ViFi pruža široku zbirku C ++ metoda (funkcija) i


svojstava za konfiguriranje i upravljanje ESP8266 modulom u stanici i / ili
mekoj pristupnoj tački. Oni su opisani u sledećim poglavljima.

Strana 2
Napredne telekomunikacije Jovan Tatalović MIT 6/17

1.1 Opis klasa

Biblioteka ESP8266WiFi je podeljena na nekoliko klasa. U većini slučajeva,


kod pisanja kodova korisnik se ne bavi ovom klasifikacijom. Koristimo ga da
razbijemo opis ove biblioteke na više upravljačkih delova.

Sledeća poglavlja opisuju sve funkcije poziva (metode i osobine u C ++


terminima) navedene u određenim klasama ESP8266WiFi. Opis ilustruje
primere primene i šifre koda kako bi se pokazalo kako koristiti funkcije u
praksi. Većina ovih informacija se razdvaja u odvojene dokumente. Molim
vas pratite ih da im pristupite.

1.2 Stanica

Režim stanice (STA) se koristi da bi se ESP modul priključio na Wi-Fi mrežu


koju je uspostavila pristupna tačka.

Strana 3
Napredne telekomunikacije Jovan Tatalović MIT 6/17

Klasa stanica ima nekoliko funkcija koje olakšavaju upravljanje Vi-Fi


konekcijom. U slučaju da je veza izgubljena, ESP8266 će se automatski
povezati sa poslednjom korišćenom pristupnom tačkom, kada je ponovo
dostupna. Isto se dešava i na ponovnom pokretanju modula. Ovo je moguće,
pošto ESP štedi akreditive da bi poslednju pristupnu tačku koristila u flešu
(ne-volatilnom) memoriji. Upotreba sačuvanih podataka ESP će se ponovo
povezati ako je skica izmijenjena, ali kod ne mijenja mod Vi-Fi ili akreditive.

1.3 Soft Access Point

Pristupna tačka (AP) je uređaj koji omogućava pristup Wi-Fi mreži drugim
uređajima (stanicama) i povezuje ih dalje sa žičnom mrežom. ESP8266 može
pružiti slične funkcionalnosti, osim što nema interfejs za žičnu mrežu. Ovakav
način rada se zove soft access point (soft-AP). Maksimalan broj stanica
priključenih na soft-AP je pet.

Često se koristi soft-AP režim kao srednji korak pre povezivanja ESP-a na
Wi-Fi u režimu stanica. Ovo se koristi kada SSID i lozinka za takvu mrežu
nisu poznati unapred. ESP se prvi put pokreće u soft-AP režimu, tako da se
možemo povezati sa njim pomoću laptopa ili mobilnog telefona. Zatim smo u
mogućnosti da pružimo akreditive ciljnoj mreži. Jednom kada se ESP prebaci
na režim stanica i može se povezati sa ciljanom Wi-Fi-om.

Druga praktična primena soft-AP režima je podešavanje mrežnih mreža. ESP


može da funkcioniše u oba soft-AP i Station moda tako da može da deluje kao
čvor mrežne mreže.

Strana 4
Napredne telekomunikacije Jovan Tatalović MIT 6/17

2 Praktična primena i realizacija


2.1 Kreiranje grafičkog korisničkog interfejsa

Prvo pristupimo stranici: http://remotexy.com/en/editor/, preko koga


dobijamo mogucnost da kreiramo izgled

2.2 Konfiguracija projekta

Konfiguracija se podešava po sledećim parametrima.

Strana 5
Napredne telekomunikacije Jovan Tatalović MIT 6/17

U desnom prozoru postavljaju se sledeća podešavanja pod menijem "Module


interface“.

Podešavanja ukazuju na to da je ESP8266 povezan sa Arduino preko


Hardvare Seriala (pinova 0 i 1) na 115200 brzini. Podešavanja takođe
određuju ime buduće pristupne tačke i lozinku pristupne tačke.

2.3 Preuzimanje skice za Arduino

Nakon unosa podešavanja, potrebno je kliknuti na "Get source code" kako bi


se izgenerisao kod koji unosimo u Arduino Uno..
Na otvorenoj stranici sa izvornim kodom skice preuzmite ga na svoj računar
(link "Download code") i otvorite je u Arduino IDE.
Takođe preuzmite biblioteku RemoteKSI (link "Download Library") sa ove
stranice.
Biblioteka koja se ispravno instalira, izvorni kod za skicu mora biti sastavljen
bez grešaka.

2.4 Podešavanje ESP8266

ESP8266 modul mora biti podešen. Vaš modul možda već ima neophodna
podrazumevana podešavanja, ali je potrebno uneti sledeća:

Strana 6
Napredne telekomunikacije Jovan Tatalović MIT 6/17

Board: „Generic ESP8266 Module“


Flash Mode: „DIO“
Flash Size: „512K (no SPIFFS)“
Debug port: „Disabled“
Debug Level: „None“
IwIP Veriant: „v2 Lower Memory“
Reset Method: „ck“
Crystal frequency: „26 MHz“
Flash frequency: „40 MHz“
CPU requency: „80 Mhz“
Built in LED: „2“
Upload Speed: „115200“
Erase flash: „Only Sketch“
Port: „COMXX (Arduino/Genuino UNO)“
Programmer: “ArduinoISP“

2.5 Povezivanje

Povezivanje Arduino Uno ESP8266 se obavlja kao na sledećoj blok šemi.


Povežite ESP8266 sa Arduino Uno prema dijagramu ispod. Imajte na umu da
su kontakti RKS-TKS povezani preko crosswire-a. Pošto modul ESP8266
poseduje nivo signala 3.3V i Arduino ima 5V, neophodno je koristiti
pretvarač razvodnika napona za pretvaranje nivoa signala.

Strana 7
Napredne telekomunikacije Jovan Tatalović MIT 6/17

2.6 Učitavanje u Arduino Uno

Skica je natovarena u Arduino na normalan način. Međutim, programiranje


nije moguće jer je ESP8266 modul povezan sa pinovima 0 i 1, kompajler će
pokazati grešku. Pre programiranja, isključite žice koje prolaze kroz ESP8266
iz terminala 0 i 1. Ispunite programiranje. Zatim vratite kontakte nazad.
Pritisnite dugme Arduino resetovanje.

2.7 Unos koda

U Arduino Uno software se unosi sledeći kod:

#define REMOTEXY_MODE__ESP8266_HARDSERIAL_POINT

#include <RemoteXY.h>

// RemoteXY connection settings


#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 115200
#define REMOTEXY_WIFI_SSID "RemoteXY"
#define REMOTEXY_WIFI_PASSWORD "thereisnospoon"
#define REMOTEXY_SERVER_PORT 6377

Strana 8
Napredne telekomunikacije Jovan Tatalović MIT 6/17

// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,1,0,0,0,13,0,8,13,0,
1,0,42,24,12,12,234,31,88,0 };

// this structure defines all the variables of your control interface


struct {

// input variable
uint8_t button_1; // =1 if button pressed, else =0

// other variable
uint8_t connect_flag; // =1 if wire connected, else =0

} RemoteXY;
#pragma pack(pop)

/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////

#define PIN_BUTTON_1 13

void setup()
{
RemoteXY_Init ();

pinMode (PIN_BUTTON_1, OUTPUT);

// TODO you setup code

void loop()
{
RemoteXY_Handler ();

digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH);

// TODO you loop code

Strana 9
Napredne telekomunikacije Jovan Tatalović MIT 6/17

// use the RemoteXY structure for data transfer

2.8 Unos biblioteke

Unos biblioteke se unosi sa sledećeg linka: http://remotexy.com/en/library/

3 Realizacija

Strana 10
Napredne telekomunikacije Jovan Tatalović MIT 6/17

4 Primeri
4.1 Povezivanje mobilnog telefona na Arduino sa ESP8266

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

/* Set these to your desired credentials. */


const char *ssid = "ESPap_01";
const char *password = "thereisnospoon";

ESP8266WebServer server(80);

/* Just a little test message. Go to http://192.168.4.1 in a web browser


connected to this access point to see it.
*/
void handleRoot() {
server.send(200, "text/html", "<h1>Connected</h1>");
}

void setup() {
delay(1000);
Serial.begin(115200);
Serial.println();
Serial.print("Configuring access point...");
/* You can remove the password parameter if you want the AP to be open. */
WiFi.softAP(ssid, password);

IPAddress myIP = WiFi.softAPIP();


Serial.print("AP IP address: ");
Serial.println(myIP);
server.on("/", handleRoot);
server.begin();
Serial.println("HTTP server started");
}

void loop() {
server.handleClient();
}

Strana 11
Napredne telekomunikacije Jovan Tatalović MIT 6/17

4.2 Povezivanje mobilnog telefona na Arduino sa ESP8266

#include <ESP8266WiFi.h>

void setup()
{
Serial.begin(115200);
Serial.println();

Serial.print("Setting soft-AP ... ");


boolean result = WiFi.softAP("ESPsoftAP_02", "thereisnospoon");
if(result == true)
{
Serial.println("Ready");
}
else
{
Serial.println("Failed!");
}
}

void loop()
{
Serial.printf("Stations connected = %d\n", WiFi.softAPgetStationNum());
delay(3000);
}

4.3 Povezivanje Arduino sa ESP8266 na Access Point

#include <ESP8266WiFi.h>

void setup()
{
Serial.begin(115200);
Serial.println();

Strana 12
Napredne telekomunikacije Jovan Tatalović MIT 6/17

WiFi.begin("network-name", "pass-to-network");

Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println();

Serial.print("Connected, IP address: ");


Serial.println(WiFi.localIP());
}

void loop() {}

Strana 13

También podría gustarte