많은 나무 딸기 파이 중에서 내 집에 보안 카메라 시스템을 구축하고 있습니다. 각 카메라 시스템에있는 것들 중 하나는 인터넷 연결을 나타내는 표시등입니다. 이를 위해 python check to see if host is connected to network에있는 코드를 사용하여 수정했습니다. 내 파이를 통해 코드를 실행하면라즈베리 파이와 함께 작동하는 인터넷 연결을위한 파이썬 확인
#! /usr/bin/python
import socket
import fcntl
import struct
import RPi.GPIO as GPIO
import time
pinNum = 8
GPIO.setmode(GPIO.BCM) #numbering scheme that corresponds to breakout board and pin layout
GPIO.setup(pinNum,GPIO.OUT) #replace pinNum with whatever pin you used, this sets up that pin as an output
#set LED to flash forever
def check_connection():
ifaces = ['eth0','wlan0']
connected = []
i = 0
for ifname in ifaces:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
socket.inet_ntoa(fcntl.ioctl(
s.fileno(),
0x8915, # SIOCGIFADDR
struct.pack('256s', ifname[:15])
)[20:24])
connected.append(ifname)
print "%s is connected" % ifname
while True:
GPIO.output(pinNum,GPIO.HIGH)
time.sleep(0.5)
GPIO.output(pinNum,GPIO.LOW)
time.sleep(0.5)
GPIO.output(pinNum,GPIO.LOW)
time.sleep(2.0)
except:
print "%s is not connected" % ifname
i += 1
return connected
connected_ifaces = check_connection()
그러나 오류가 읽
[email protected] ~/Desktop $ while True:
> ^
> TabError: inconsistent use of tabs and spaces in indentation
> ^C
누구든지이 문제를 알아? 기본 사과라면 사과드립니다. Python Programming을 처음 접했습니다. 간단히 말해 인터넷 연결이있을 때 8 번 핀의 불이 들어올 것입니다.
감사합니다.
들여 쓰기에 탭과 공백이 섞여있는 것처럼 보입니다. 들여 쓰기에 탭이나 (더 좋은) 공백을 사용하지 마십시오. 'python -tt'를 사용하여 코드를 실행 해보십시오. – jfs
'python -tt'이 좋습니다. 'TabError : 들여 쓰기에서 탭과 공백의 일관성없는 사용'이라고 말한 것을 보여주십시오. 그래도 코드에 어떤 문제가 있는지 보지 못합니다. 이제 탭을 사용하고 있습니다. 위의 코드를 업데이트했습니다. 내가 얻는 오류는 '사실 인 동안'이다. 선. –
* "코드에 어떤 문제가 있는지 알지 못합니다"* - 들여 쓰기에 탭과 공백을 섞어 쓰지 마십시오 : 파이썬에서 구문의 일부입니다. 귀하의 질문에있는 코드가 들여 쓰기에 공백과 탭을 모두 사용한다는 것을 알고 있습니다 – jfs