import network
import socket
import ssd1306
from max7219 import Matrix8x8
from machine import Pin,SPI,I2C
import gc
import time
gc.collect()
i2c = I2C(sda = Pin(21),scl = Pin(22))
oled = ssd1306.SSD1306_I2C(128,64,i2c)
def obter_arquivo(arquivo):
conteudo = ''
a = open(arquivo,'rb')
conteudo = a.read()
gc.mem_free()
return conteudo
def limpar():
display.fill(False)
display.show()
estacao = network.WLAN(network.STA_IF)
estacao.active(True)
estacao.connect("Wokwi-GUEST","")
while estacao.isconnected() == False:
pass
print('Conexao realizada')
print(estacao.ifconfig()[0])
oled.fill(0)
oled.text("WEBSERVER IP:",2,3,1)
oled.text(str(estacao.ifconfig()[0]),2,20,1)
oled.show()
spi = SPI(sck = Pin(14), mosi = Pin(13),miso = Pin(12))
cs = Pin(15,Pin.OUT)
display = Matrix8x8(spi,cs,1)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('',80))
s.listen(5)
try:
while True:
conexao, endereco = s.accept()
requisicao = conexao.recv(1024)
requisicao = str(requisicao)
if requisicao.find("/?vUmUm=") != -1:
display.pixel(0,0,1)
display.show()
if requisicao.find("/?vUmDois=") != -1:
display.pixel(1,0,1)
display.show()
if requisicao.find("/?vUmTres=") != -1:
display.pixel(2,0,1)
display.show()
if requisicao.find("/?vUmQuatro=") != -1:
display.pixel(3,0,1)
display.show()
if requisicao.find("/?vUmCinco=") != -1:
display.pixel(4,0,1)
display.show()
if requisicao.find("/?vUmSeis=") != -1:
display.pixel(5,0,1)
display.show()
if requisicao.find("/?vUmSete=") != -1:
display.pixel(6,0,1)
display.show()
if requisicao.find("/?vUmOito=") != -1:
display.pixel(7,0,1)
display.show()
if requisicao.find("/?vDoisUm=") != -1:
display.pixel(0,1,1)
display.show()
if requisicao.find("/?vDoisDois=") != -1:
display.pixel(1,1,1)
display.show()
if requisicao.find("/?vDoisTres=") != -1:
display.pixel(2,1,1)
display.show()
if requisicao.find("/?vDoisQuatro=") != -1:
display.pixel(3,1,1)
display.show()
if requisicao.find("/?vDoisCinco=") != -1:
display.pixel(4,1,1)
display.show()
if requisicao.find("/?vDoisSeis=") != -1:
display.pixel(5,1,1)
display.show()
if requisicao.find("/?vDoisSete=") != -1:
display.pixel(6,1,1)
display.show()
if requisicao.find("/?vDoisOito=") != -1:
display.pixel(7,1,1)
display.show()
if requisicao.find("/?vTresUm=") != -1:
display.pixel(0,2,1)
display.show()
if requisicao.find("/?vTresDois=") != -1:
display.pixel(1,2,1)
display.show()
if requisicao.find("/?vTresTres=") != -1:
display.pixel(2,2,1)
display.show()
if requisicao.find("/?vTresQuatro=") != -1:
display.pixel(3,2,1)
display.show()
if requisicao.find("/?vTresCinco=") != -1:
display.pixel(4,2,1)
display.show()
if requisicao.find("/?vTresSeis=") != -1:
display.pixel(5,2,1)
display.show()
if requisicao.find("/?vTresSete=") != -1:
display.pixel(6,2,1)
display.show()
if requisicao.find("/?vTresOito=") != -1:
display.pixel(7,2,1)
display.show()
if requisicao.find("/?vQuatroUm=") != -1:
display.pixel(0,3,1)
display.show()
if requisicao.find("/?vQuatroDois=") != -1:
display.pixel(1,3,1)
display.show()
if requisicao.find("/?vQuatroTres=") != -1:
display.pixel(2,3,1)
display.show()
if requisicao.find("/?vQuatroQuatro=") != -1:
display.pixel(3,3,1)
display.show()
if requisicao.find("/?vQuatroCinco=") != -1:
display.pixel(4,3,1)
display.show()
if requisicao.find("/?vQuatroSeis=") != -1:
display.pixel(5,3,1)
display.show()
if requisicao.find("/?vQuatroSete=") != -1:
display.pixel(6,3,1)
display.show()
if requisicao.find("/?vQuatroOito=") != -1:
display.pixel(7,3,1)
display.show()
if requisicao.find("/?vCincoUm=") != -1:
display.pixel(0,4,1)
display.show()
if requisicao.find("/?vCincoDois=") != -1:
display.pixel(1,4,1)
display.show()
if requisicao.find("/?vCincoTres=") != -1:
display.pixel(2,4,1)
display.show()
if requisicao.find("/?vCincoQuatro=") != -1:
display.pixel(3,4,1)
display.show()
if requisicao.find("/?vCincoCinco=") != -1:
display.pixel(4,4,1)
display.show()
if requisicao.find("/?vCincoSeis=") != -1:
display.pixel(5,4,1)
display.show()
if requisicao.find("/?vCincoSete=") != -1:
display.pixel(6,4,1)
display.show()
if requisicao.find("/?vCincoOito=") != -1:
display.pixel(7,4,1)
display.show()
if requisicao.find("/?vSeisUm=") != -1:
display.pixel(0,5,1)
display.show()
if requisicao.find("/?vSeisDois=") != -1:
display.pixel(1,5,1)
display.show()
if requisicao.find("/?vSeisTres=") != -1:
display.pixel(2,5,1)
display.show()
if requisicao.find("/?vSeisQuatro=") != -1:
display.pixel(3,5,1)
display.show()
if requisicao.find("/?vSeisCinco=") != -1:
display.pixel(4,5,1)
display.show()
if requisicao.find("/?vSeisSeis=") != -1:
display.pixel(5,5,1)
display.show()
if requisicao.find("/?vSeisSete=") != -1:
display.pixel(6,5,1)
display.show()
if requisicao.find("/?vSeisOito=") != -1:
display.pixel(7,5,1)
display.show()
if requisicao.find("/?vSeteUm=") != -1:
display.pixel(0,6,1)
display.show()
if requisicao.find("/?vSeteDois=") != -1:
display.pixel(1,6,1)
display.show()
if requisicao.find("/?vSeteTres=") != -1:
display.pixel(2,6,1)
display.show()
if requisicao.find("/?vSeteQuatro=") != -1:
display.pixel(3,6,1)
display.show()
if requisicao.find("/?vSeteCinco=") != -1:
display.pixel(4,6,1)
display.show()
if requisicao.find("/?vSeteSeis=") != -1:
display.pixel(5,6,1)
display.show()
if requisicao.find("/?vSeteSete=") != -1:
display.pixel(6,6,1)
display.show()
if requisicao.find("/?vSeteOito=") != -1:
display.pixel(7,6,1)
display.show()
if requisicao.find("/?vOitoUm=") != -1:
display.pixel(0,7,1)
display.show()
if requisicao.find("/?vOitoDois=") != -1:
display.pixel(1,7,1)
display.show()
if requisicao.find("/?vOitoTres=") != -1:
display.pixel(2,7,1)
display.show()
if requisicao.find("/?vOitoQuatro=") != -1:
display.pixel(3,7,1)
display.show()
if requisicao.find("/?vOitoCinco=") != -1:
display.pixel(4,7,1)
display.show()
if requisicao.find("/?vOitoSeis=") != -1:
display.pixel(5,7,1)
display.show()
if requisicao.find("/?vOitoSete=") != -1:
display.pixel(6,7,1)
display.show()
if requisicao.find("/?vOitoOito=") != -1:
display.pixel(7,7,1)
display.show()
if requisicao.find("/?valueLimpar") != -1:
limpar()
html = obter_arquivo('matrix8x8.txt')
conexao.send('HTTP/1.1 200 OK\n')
conexao.send('Content-Type: text/html\n')
conexao.send('Connection: close\n\n')
conexao.sendall(html)
conexao.close()
except OSError:
s.close()
estacao.active(False)