Difference between revisions of "Third example"
From MyWiki
(2 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
to: | to: | ||
<source lang = "python"> | <source lang = "python"> | ||
− | |||
led = machine.Pin("LED", machine.Pin.OUT) | led = machine.Pin("LED", machine.Pin.OUT) | ||
+ | |||
+ | stateis = "" | ||
</source> | </source> | ||
Now everything works<br> | Now everything works<br> | ||
Line 17: | Line 18: | ||
from machine import Pin | from machine import Pin | ||
− | + | ||
led = machine.Pin("LED", machine.Pin.OUT) | led = machine.Pin("LED", machine.Pin.OUT) | ||
+ | stateis = "" | ||
ssid = 'dlink2' | ssid = 'dlink2' | ||
Line 32: | Line 34: | ||
<head> <title>Pico W</title> </head> | <head> <title>Pico W</title> </head> | ||
<body> <h1>Pico W</h1> | <body> <h1>Pico W</h1> | ||
+ | Switches on and off the on board LED on my Pico W | ||
<p>%s</p> | <p>%s</p> | ||
</body> | </body> |
Latest revision as of 15:11, 12 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:
led = machine.Pin("LED", machine.Pin.OUT) stateis = ""
Now everything works
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> Switches on and off the on board LED on my Pico W <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')