메인메뉴 바로가기 본문으로 바로가기

의령고등학교

검색열기

메인페이지

게시 설정 기간
상세보기
Led control
작성자 *** 등록일 2023.12.21

import network

import socket

import time

import machine

  

from machine import Pin


intled = machine.Pin("LED", machine.Pin.OUT)

  

ssid = 'U+Net229B' #자신의 인터넷 공유기에 맞게 수정한다.

password = '612C910976' #자신의 인터넷 공유기에 맞게 수정한다.


wlan = network.WLAN(network.STA_IF)

wlan.active(True)

wlan.connect(ssid, password)


html = """

   

        Pico W

       

       

       

Pico Wifi

           

내장 LED 원격 조정

           

           

SW1: 내장 LED 켜기

           

           

           

SW2: 내장 LED 끄기

           

           

       

   

"""


# 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.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)

s.bind(addr)

s.listen(1)


print('listening on', addr)


stateis = ""


# 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")

            intled.value(1)

            stateis = "LED 켜짐"


        if led_off == 6:

            print("led off")

            intled.value(0)

            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')

첨부파일
게시글 삭제사유

게시 설정 기간 ~ 기간 지우기