我尝试检查IPhone是否已连接到网络。因此,我编写了一个小的python脚本,如下所示:
...
response = os.system("ping -c 1 " + iPhone-name)
if (response == 0):
print "is available"
else:
print "is not available"
...
该脚本以某种方式起作用。如果我的iPhone已解锁并连接到我的网络,则显示“可用”,反之亦然。问题是,我想知道我的iPhone是否已连接,无论它是否已解锁。另外,如果我尝试使用IP地址执行ping操作,则该脚本不起作用。不幸的是,我的路由器没有API,并且无论是否连接设备都无法触发事件。
我找到的解决方案:
def pingdevice(ip):
ping = subprocess.Popen(
["ping", "-c", "1", ip],
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
out, error = ping.communicate()
# print(out)
text = 'host unreachable'
#Bulb NOT reachable
if text in str(out):
return True
else:
return False