Skip to main content

Wi-Fi i HTTP zahtjev

Što ovaj primjer prikazuje​

Skenira Wi-Fi mreže i ispisuje ih na zaslonu, spaja se na vašu mrežu, zatim preuzima web-stranicu i ispisuje njezin neobrađeni HTML na zaslonu. Skica ne analizira HTML; prikazuje ga kao tekst.

Prije prijenosa upišite naziv svoje mreže i lozinku između navodnika u definicijama ssid i pass. Za dohvaćanje druge stranice promijenite adresu koju skica prosljeđuje funkciji http.begin().

Ovaj primjer koristi i WiFi i HTTPClient (arduino-esp32), koji nisu dio biblioteke Inkplate i dolaze s paketom pločice ESP32.

Primjer koda​

Select Board
Inkplate7SPECTRA_HTTP_Request.ino
#include "Inkplate.h" //Include Inkplate library to the sketch
#include <HTTPClient.h> //Include HTTP library to this sketch
#include <WiFi.h> //Include ESP32 WiFi library to our sketch

#define ssid "" // Name of the WiFi network (SSID) that you want to connect Inkplate to
#define pass "" // Password of that WiFi network

Inkplate inkplate; // Create an object on Inkplate library and also set library into 1 Bit mode (BW)

void setup()
{
Serial.begin(115200); // Begin Serial for debugging
inkplate.begin(); // Init Inkplate library (you should call this function ONLY ONCE)
inkplate.clearDisplay(); // Clear frame buffer of display
inkplate.display(); // Put clear image on display
inkplate.setTextSize(3); // Set text scaling to three (text will be three times bigger)
inkplate.setCursor(0, 0); // Set print position
inkplate.setTextColor(INKPLATE_BLACK); // Set text color to black and background color to white
Serial.println("Scanning for WiFi networks..."); // Write text

int n =
WiFi.scanNetworks(); // Start searching WiFi networks and put the nubmer of found WiFi networks in variable n
if (n == 0)
{ // If you did not find any network, show the message and stop the program.
Serial.print("No WiFi networks found!");
while (true);
}
else
{
if (n > 10)
n = 10; // If you did find, print name (SSID), encryption and signal strength of first 10 networks
for (int i = 0; i < n; i++)
{
inkplate.print(WiFi.SSID(i));
inkplate.print((WiFi.encryptionType(i) == WIFI_AUTH_OPEN) ? 'O' : '*');
inkplate.print('\n');
inkplate.print(WiFi.RSSI(i), DEC);
}
inkplate.display();
}

inkplate.clearDisplay(); // Clear everything in frame buffer
inkplate.setCursor(0, 0); // Set print cursor to new position
Serial.print("Connecting to "); // Print the name of WiFi network
Serial.print(ssid);
WiFi.begin(ssid, pass); // Try to connect to WiFi network
while (WiFi.status() != WL_CONNECTED)
{
delay(1000); // While it is connecting to network, display dot every second, just to know that Inkplate is
// alive.
Serial.print('.');
}
Serial.print("connected"); // If it's connected, notify user

HTTPClient http;
if (http.begin("http://example.com/index.html"))
{ // Now try to connect to some web page (in this example www.example.com. And yes, this is a valid Web page :))
if (http.GET() > 0)
{ // If connection was successful, try to read content of the Web page and display it on screen
String htmlText;
htmlText = http.getString();
inkplate.setTextSize(3);
inkplate.clearDisplay();
inkplate.setCursor(0, 0);
inkplate.print(htmlText);
inkplate.display();
}
}
}

void loop()
{
// Nothing
}

Korištene funkcije​

Inkplate()returns None

Stvara objekt Inkplate. Inkplate 7SPECTRA ima jedan šestobojni način rada, pa konstruktor ne prima argument načina rada (komentar o 1-bitnom načinu potječe od drugih pločica Inkplate).

ReturnsKonstruktor; nema povratne vrijednosti.

inkplate.begin()returns void

Inicijalizira biblioteku, periferiju i međuspremnik slike. Pozovite je jednom u setup().

ReturnsNišta.

inkplate.clearDisplay()returns void

Ispunjava međuspremnik slike bijelom bojom. Ne mijenja prikaz na panelu.

ReturnsNišta.

inkplate.display(bool _leaveOn = 0)returns void

Šalje cijeli međuspremnik slike na panel i osvježava ga.

ReturnsNišta.

inkplate.setTextSize(uint8_t s)returns void

Postavlja povećanje teksta, ovdje 3.

ReturnsNišta.

inkplate.setCursor(int16_t x, int16_t y)returns void

Postavlja mjesto na kojem počinje sljedeći ispisani tekst, ovdje gornji lijevi kut.

ReturnsNišta.

inkplate.setTextColor(uint16_t c)returns void

Postavlja boju teksta, ovdje INKPLATE_BLACK.

ReturnsNišta.

inkplate.print(value, format)returns size_t

Ispisuje tekst, znak ili broj u međuspremnik slike, poput Serial.print(). DEC ispisuje broj u decimalnom zapisu.

ReturnsBroj ispisanih bajtova.

WiFi.scanNetworks()returns int16_t

Paket pločice ESP32: skenira Wi-Fi mreže i čeka rezultat.

ReturnsBroj pronađenih mreža.

WiFi.SSID(uint8_t i)returns String

Paket pločice ESP32: naziv mreže i iz zadnjeg skeniranja.

ReturnsNaziv mreže.

WiFi.encryptionType(uint8_t i)returns wifi_auth_mode_t

Paket pločice ESP32: enkripcija mreže i; WIFI_AUTH_OPEN znači bez lozinke. Skica ispisuje O za otvorene mreže, a * za ostale.

ReturnsVrsta enkripcije.

WiFi.RSSI(uint8_t i)returns int32_t

Paket pločice ESP32: jačina signala mreže i, u dBm.

ReturnsJačina signala.

WiFi.begin(ssid, pass)returns wl_status_t

Paket pločice ESP32: počinje spajanje na mrežu.

ReturnsStatus veze.

WiFi.status()returns wl_status_t

Paket pločice ESP32: status veze; WL_CONNECTED nakon spajanja.

ReturnsStatus veze.

HTTPClient()returns None

Klasa HTTPClient, paket pločice ESP32: objekt HTTP klijenta. Skica ga stvara kao `http`.

ReturnsKonstruktor; nema povratne vrijednosti.

http.begin(url)returns bool

HTTPClient, paket pločice ESP32: priprema zahtjev za zadani URL.

Returnstrue ako se URL mogao analizirati.

http.GET()returns int

HTTPClient: šalje GET zahtjev.

ReturnsHTTP statusni kôd ili negativan kôd pogreške.

http.getString()returns String

HTTPClient: čita cijelo tijelo odgovora.

ReturnsTijelo odgovora.

Što očekivati​

Zaslon prvo ispisuje do 10 pronađenih mreža, svaku s nazivom, oznakom O (otvorena) ili * (zaštićena lozinkom) i jačinom signala. Kad je pločica na vašoj mreži, zaslon se ponovno osvježi i prikazuje HTML stranice kao tekst. Serijski monitor pri 115200 baud prikazuje Scanning for WiFi networks..., zatim Connecting to s nazivom vaše mreže, točku svake sekunde tijekom spajanja i connected.

🔗Otvorite cjelovit primjer

examples/Inkplate7SPECTRA/Advanced/WEB_WiFi/Inkplate7SPECTRA_HTTP_Request

→