如何检测计算机是否通过Python与Internet联系?

时间:2013-06-25 17:53:43

标签: python raspberry-pi

我有一个带有WiFi加密狗的Raspberry Pi,因此标准互联网LED不起作用。我试着编写一个脚本来切换LED,无论Pi是否有互联网。

这就是我现在所拥有的:

#!/usr/bin/python
import urllib2 
import time, os

os.system("gpio mode 6 out && gpio mode 5 out")

loop_value = 1

while (loop_value == 1):
    try:
        urllib2.urlopen("http://www.google.com")
    except urllib2.URLError, e:
        time.sleep( 1 )
        print "Not Connected"
        os.system("gpio write 6 0 && gpio write 5 1")
    else:
       print "Connected"
       os.system("gpio write 6 1 && gpio write 5 0")
       loop_value = 1

问题是那是行不通的。有人可以告诉我如何检测到我的pi是否有互联网,然后打印切换LED?

1 个答案:

答案 0 :(得分:8)

修正缩进。打破成功的网址获取。

#!/usr/bin/python
import os
import time
import urllib2 

os.system("gpio mode 6 out && gpio mode 5 out")

while True:
    try:
        urllib2.urlopen("http://www.google.com").close()
    except urllib2.URLError:
        print "Not Connected"
        os.system("gpio write 6 0 && gpio write 5 1")
        time.sleep(1)
    else:
        print "Connected"
        os.system("gpio write 6 1 && gpio write 5 0")
        break