按键控制
from machine import Pin
sw1 = Pin(34, Pin.IN)
sw2 = Pin(35, Pin.IN)
sw3 = Pin(32, Pin.IN)
while True:
if sw1.value() == 0:
print("按键:sw1 被按下")
if sw2.value() == 0:
print("按键:sw2 被按下")
if sw3.value() == 0:
print("按键:sw3 被按下")
原理图
# 1. 链接wifi
# 2. 启动网络功能(UDP)
# 3. 接收网络数据
# 4. 处理接收的数据
import socket
import time
import network
import machine
from socket import *
from machine import Pin
sw1 = Pin(34, Pin.IN)
sw2 = Pin(35, Pin.IN)
sw3 = Pin(32, Pin.IN)
def do_connect():
wlan = network.WLAN(network.STA_IF) # create station interface
wlan.active(True) # activate the interface
# scan for access points
wlan.isconnected() # check if the station is connected to an AP
wlan.ifconfig(('192.168.1.17', '255.255.255.0', '192.168.1.1', '192.168.1.1'))
wlan.config('mac') # get the interface's MAC address
wlan.ifconfig()
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('ChinaNet-tdS6', 'pjklx9cw')
i = 1
while not wlan.isconnected():
print("正在链接...{}".format(i))
i += 1
time.sleep(2)
print('network config:', wlan.ifconfig())
def send(str1):
# 1. 创建udp套接字
udp_socket = socket(AF_INET, SOCK_DGRAM)
# 2. 准备接收方的地址
dest_addr = ('192.168.1.19', 8080)
# 3. 从键盘获取数据
send_data = str1
# 4. 发送数据到指定的电脑上
udp_socket.sendto(send_data.encode('utf-8'), dest_addr)
# 5. 关闭套接字
udp_socket.close()
print("send ok")
def main():
do_connect()
while True:
if sw1.value() == 0:
time.sleep(0.1)
if sw1.value() == 0:
send("light on")
print("按键:sw1 被按下")
if sw2.value() == 0:
time.sleep(0.1)
if sw2.value() == 0:
send("按键:sw2 被按下")
print("按键:sw2 被按下")
if sw3.value() == 0:
time.sleep(0.1)
if sw3.value() == 0:
send("light off")
print("按键:sw3 被按下")
if __name__ == "__main__":
main()