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 WLANMicroPython: 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 socketMicroPython: 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 InkplateStvara objekt zaslona iz modula inkplate7spectra.
ReturnsObjekt zaslona.
inkplate.begin()returns boolPriprema pločicu i bijeli međuspremnik slike. Pozovite je jednom.
ReturnsTrue.
inkplate.set_text_size(s)returns NonePostavlja faktor skaliranja teksta, ovdje 1 (komentar iznad njega kaže dvostruko, a vrijednost je 1).
ReturnsNišta.
inkplate.print(text)returns NoneCrta 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