《K230 从熟悉到...》无线网络

《K230 从熟悉到...》无线网络

《庐山派 K230 从熟悉到...》无线网络

无线网络中通常是STA(Station,站点)和AP(Access Point,无线接入点)。
STA(站点) 定义:STA是指任何连接到无线网络中的终端设备,如笔记本电脑、智能手机、平板电脑等。
功能:STA通过无线网卡与AP进行通信,实现接入无线网络、访问网络资源等功能。
AP(无线接入点) 定义:AP是无线网络的核心设备,用于创建和管理无线网络,是移动计算机用户进入有线网络的接入点。
功能:AP通过发射无线信号,允许STA连接到无线网络,并提供数据传输和网络访问的功能。AP还可以进行用户认证、安全管理等操作。

在这里插入图片描述

STA模式


import network
import time

SSID = ""        # 路由器名称
PASSWORD = "" # 路由器密码

def sta_test():
    # 初始化STA模式(客户端模式)
    sta = network.WLAN(network.STA_IF)

    # 激活WiFi模块(相当于打开手机WIFI开关)
    if not sta.active():  # 判断是否已激活
        sta.active(True)
    print("WiFi模块激活状态:", sta.active())

    # 查看初始连接状态
    print("初始连接状态:", sta.status())

    # 扫描当前环境中的WIFI
    wifi_list = sta.scan()  # 扫描周围WiFi
    # 打印每个Wi-Fi信息
    for wifi in wifi_list:
        # 访问 rt_wlan_info 对象的属性
        ssid = wifi.ssid       # ssid 属性
        rssi = wifi.rssi       # rssi 属性
        print(f"SSID: {ssid}, 信号强度: {rssi}dBm")

    # 尝试连接路由器
    print(f"正在连接 {SSID}...")
    sta.connect(SSID, PASSWORD)

    # 等待连接结果(最多尝试5次)
    max_wait = 5
    while max_wait > 0:
        if sta.isconnected():  # 检查是否连接成功
            break
        max_wait -= 1
        time.sleep(1)  # 失败了就线休息一秒再说
        sta.connect(SSID, PASSWORD)
        print("剩余等待次数:", max_wait, "次")

    # 如果获取不到IP地址就一直在这等待
    while sta.ifconfig()[0] == '0.0.0.0':
        pass

    if sta.isconnected():
        print("\n连接成功!")
        # 重新获取并打印网络配置
        ip_info = sta.ifconfig()
        print(f"IP地址: {ip_info[0]}")
        print(f"子网掩码: {ip_info[1]}")
        print(f"网关: {ip_info[2]}")
        print(f"DNS服务器: {ip_info[3]}")
    else:
        print("连接失败,请检查密码或信号强度")

sta_test()

while True:
    # 持续死循环,等待用户打断并退出该循环
    time.sleep(0.5)  # 等待0.5秒

在这里插入图片描述

AP

import network
import time

AP_SSID = 'xiayujiang'  # 热点名称
AP_KEY = '12345678'  # 至少8位密码

def ap_test():
    # 初始化AP模式
    ap = network.WLAN(network.AP_IF)

    # 激活AP模式
    if not ap.active():
        ap.active(True)
    print("AP模式激活状态:", ap.active())

    # 配置热点参数
    ap.config(ssid=AP_SSID,key=AP_KEY)
    print("\n热点已创建:")
    print(f"SSID: {AP_SSID}")
    print(f"Channel: {AP_KEY}")

    # 等待热点启动(暂定3秒)
    time.sleep(3)

    # 获取并打印IP信息
    ip_info = ap.ifconfig()
    print("\nAP网络配置:")
    print(f"IP地址: {ip_info[0]}")
    print(f"子网掩码: {ip_info[1]}")
    print(f"网关: {ip_info[2]}")
    print(f"DNS服务器: {ip_info[3]}")

    # 持续监控连接设备
    while True:
        clients = ap.status('stations')
        print(f"\n已连接设备数: {len(clients)}")

        time.sleep(1)

ap_test()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼桨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值