Difference between revisions of "Third example"
From MyWiki
Line 7: | Line 7: | ||
to: | to: | ||
<source lang = "python"> | <source lang = "python"> | ||
− | |||
stateis = "" | stateis = "" | ||
+ | led = machine.Pin("LED", machine.Pin.OUT) | ||
+ | |||
</source> | </source> | ||
<br> | <br> |
Revision as of 16:44, 11 February 2023
This code was from the official manual, but it didn't work
I had to add and and initialise the variable "stateis"
Modify code at beginning from:
led = Pin(15, Pin.OUT)
to:
stateis = "" led = machine.Pin("LED", machine.Pin.OUT)
import network import socket import time from machine import Pin led = machine.Pin("LED", machine.Pin.OUT) stateis = "" ssid = 'dlink2' password = 'bananatree' wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(ssid, password) html = """<!DOCTYPE html> <html> <head> <title>Pico W</title> </head> <body> <h1>Pico W</h1> <p>%s</p> </body> </html> """ # Wait for connect or fail max_wait = 10 while max_wait > 0: if wlan.status() < 0 or wlan.status() >= 3: break max_wait -= 1 print('waiting for connection...') time.sleep(1) # Handle connection error if wlan.status() != 3: raise RuntimeError('network connection failed') else: print('connected') status = wlan.ifconfig() print( 'ip = ' + status[0] ) # Open socket addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1] s = socket.socket() s.bind(addr) s.listen(1) print('listening on', addr) # Listen for connections while True: try: cl, addr = s.accept() print('client connected from', addr) request = cl.recv(1024) print(request) request = str(request) led_on = request.find('/light/on') led_off = request.find('/light/off') print( 'led on = ' + str(led_on)) print( 'led off = ' + str(led_off)) if led_on == 6: print("led on") led.value(1) stateis = "LED is ON" if led_off == 6: print("led off") led.value(0) stateis = "LED is OFF" #stateis = "LED" response = html % stateis cl.send('HTTP/1.0 200 OK\r\nContent-type: text/html\r\n\r\n') cl.send(response) cl.close() except OSError as e: cl.close() print('connection closed')