Difference between revisions of "Third example"
From MyWiki
Line 1: | Line 1: | ||
+ | This code was from the official manual, but it didn't work<br> | ||
+ | I had to add and and initialise the variable "stateis"<br> | ||
+ | Import machine as the LED has moved from GPIO pin to the wifi chip<br> | ||
+ | |||
<source lang = "python"> | <source lang = "python"> | ||
import network | import network |
Revision as of 16:36, 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"
Import machine as the LED has moved from GPIO pin to the wifi chip
import network import socket import time import machine 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')