import network import time import usocket as socket # Hack to get ticks_ms() method in Tigerjython working if not hasattr(time, 'ticks_ms'): from types import MethodType def ticks_ms(self): return int(round(self.time() * 1000)) time.ticks_ms = MethodType(ticks_ms, time) def sleep_ms(self,a): time.sleep(a/1000.0) time.sleep_ms = MethodType(sleep_ms, time) # END of Hack class WifiClient: def __init__(self,helper): self.helper = helper def setup(self): self.wlan = network.WLAN(network.STA_IF) self.wlan.active(True) self.wlan.connect('esp32') while not self.wlan.isconnected(): print(self.wlan.status()) time.sleep_ms(1000) # 1 second sleep print("WLAN ok") def connect(self): self.addr = socket.getaddrinfo('10.42.42.1', 80)[0][-1] self.sk = socket.socket() self.sk.connect(self.addr) print("Connected to server") def update(self): bytesread = 0 buf = b'' while bytesread<450: chunk = self.sk.recv(450) buf+=chunk bytesread+=len(chunk) if bytesread==450 and self.helper: for y in range(15): for x in range(10): p = 3*(y*10+x) self.helper.setPixel(x,y,(buf[p], buf[p+1], buf[p+2])) self.helper.np.write() #print("Updated") def sendButtons(self): if self.helper: btns = bytearray([self.helper.getButtons()]) self.sk.send(btns) def play(self): self.setup() if self.helper: while self.helper.getButtons()!=255: pass while self.helper.getButtons()==255: pass self.connect() while True: self.update() # Start with execfile("wificlient.py") if __name__=="__main__": from helper import Helper # Import der Klasse helper = Helper() # Erzeugen der Instanz # helper = None c = WifiClient(helper) c.play()