Skip to main content

Wi-Fi mreža

Što ovaj primjer prikazuje​

Povežite se na svoju Wi-Fi mrežu, dohvatite malu testnu stranicu s micropython.org običnim HTTP GET zahtjevom i ispišite cijeli odgovor na zaslonu. Prije pokretanja upišite naziv mreže i lozinku u ssid i password.

Ovaj primjer koristi i MicroPythonove vlastite module network i socket (osnove modula network), koji nisu dio modula Inkplate.

Primjer koda​

"""Connect to WiFi and fetch data from the internet."""

# Include needed libraries
from inkplate7spectra import Inkplate

# Enter your WiFi credentials here
ssid = "YOUR_SSID_HERE"
password = "YOUR_PASSWORD_HERE"


# Function which connects to WiFi
# More info here: https://docs.micropython.org/en/latest/esp8266/tutorial/network_basics.html
def do_connect():
import network

sta_if = network.WLAN(network.STA_IF)
if not sta_if.isconnected():
print("connecting to network...")
sta_if.active(True)
sta_if.connect(ssid, password)
while not sta_if.isconnected():
pass
print("network config:", sta_if.ifconfig())


# This function does a HTTP GET request
# More info here: https://docs.micropython.org/en/latest/esp8266/tutorial/network_tcp.html
def http_get(url):
import socket

res = ""
_, _, host, path = url.split("/", 3)
addr = socket.getaddrinfo(host, 80)[0][-1]
s = socket.socket()
s.connect(addr)
s.send(bytes("GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n" % (path, host), "utf8"))
while True:
data = s.recv(100)
if data:
res += str(data, "utf8")
else:
break
s.close()
return res


# First, connect
do_connect()

# Do a GET request to the micropython test page
# If you were to do a GET request to a different page/resource, change the URL here
response = http_get("http://micropython.org/ks/test.html")

# Create and initialize our Inkplate object
inkplate = Inkplate()
inkplate.begin()

# Set text size to double from the original size, so we can see the text better
inkplate.set_text_size(1)

# Print response line by line
inkplate.print(response)

# Display image from buffer in full refresh
inkplate.display()

Korištene funkcije​

network.WLAN(network.STA_IF)returns WLAN

MicroPython: Wi-Fi sučelje u načinu stanice. Primjer na njemu poziva isconnected(), active(True), connect(ssid, password) i ifconfig().

ReturnsObjekt sučelja.

socket.socket()returns socket

MicroPython: TCP socket. Primjer pomoću socket.getaddrinfo() razrješava adresu poslužitelja, zatim poziva connect(), send(), recv(100) dok poslužitelj ne zatvori vezu, te close().

ReturnsObjekt socketa.

Inkplate()returns Inkplate

Stvara objekt zaslona iz modula inkplate7spectra.

ReturnsObjekt zaslona.

inkplate.begin()returns bool

Priprema pločicu i bijeli međuspremnik slike. Pozovite je jednom.

ReturnsTrue.

inkplate.set_text_size(s)returns None

Postavlja faktor skaliranja teksta, ovdje 1 (komentar iznad njega kaže dvostruko, a vrijednost je 1).

ReturnsNišta.

inkplate.print(text)returns None

Crta tekst na položaju kursora, počevši od gornjeg lijevog kuta. Novi redak u tekstu započinje novi red.

ReturnsNišta.

inkplate.display(leave_on=False)returns None

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

ReturnsNišta.

Što očekivati​

Shell ispisuje connecting to network... (samo ako pločica još nije bila povezana), zatim network config:, a nakon toga mrežne postavke pločice. Nakon osvježavanja na zaslonu se prikazuje HTTP odgovor testne stranice: prvo zaglavlja, zatim HTML stranice, kao tekst.

🔗Otvorite cijeli primjer

examples/inkplate7spectra/example_network.py

→