linux下判断wifi 是否有设备连入

 1.需求背景


        年前有做一个需求,大意是设备可以创建wifi热点,当有任意其他设备连接上时,灯光交互发生变化,连接断开后,设备有新的灯光提示。 这个自己之前没有做过,当时板子还没到,查资料找到一种方法,看上去可靠且好用,就认为这个需求是能做的。 结果后面被坑了,好在找到了其他方法弥补,也算没有被打脸。 有趣的是这个功能实现之后,很快就被产品经理自己又砍掉了。

        回顾时发现有一些有用的信息,此次没有用上,也先记录在这里。


2.误区思路

cat /sys/class/net/wlan0/operstate

        通过解析这个虚拟文件的输出,如果是up,就是网络连接,如果是其他,例如说down,wifi就是没好的,把这个错误的理解成了需求。实际上使用wifi是有三个阶段:

wifi起来了 -> wifi 已经连接上了手机 -> 手机app连接上设备

       而解析这个节点,主要对应的是第一个阶段,需求则是在第二个阶段。因此这种方法不可用。

以下是一个shell脚本示意

#! /bin/bash

STATE_FILE="/sys/class/net/wlan0/operstate"


if [ ! -f "$STATE_FILE" ]; then
    echo "文件不存在"
    exit 1
fi


state=$(cat "$STATE_FILE")


if [ "$state" = "up" ]; then
    echo "网络可用"
else
    echo "网络不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值