1 | 35 | (Chapter 1 35 페이지 위에서 세번째 줄) (수정 전) 0.7V보다 낮은 입력 전압은 논리적 0, 혹은 NOW로 인식된다는 뜻이다
(수정 후) 0.7V보다 낮은 입력 전압은 논리적 0, 혹은 LOW로 인식된다는 뜻이다
| 2015-05-02 | 1 |
1 | 47 | (Chapter 1 47 페이지 표 1-9) mkdirdirectory -> mkdir directory rmdirdirectory -> rmdir directory | 2015-05-02 | 1 |
3 | 81 | (Test_Switch.py 제목) Test_Switch.py 예제 파이썬 코드 박스 제목 없음. | 2015-05-06 | 1 |
3 | 84 | (84페이지, MP3_player.py 예제 코드 내의 주석 들여쓰기) 1. <수정전> #24번 핀에 연결된 버튼이 눌렸는지 확인한다. if(GPIO.input(24) == False):
<수정후> #24번 핀에 연결된 버튼이 눌렸는지 확인한다. if(GPIO.input(24) ==false):
2. <수정전> #24번 핀에 연결된 버튼이 눌렸는지 확인한다. if(GPIO.input(24) == False):
<수정후> #24번 핀에 연결된 버튼이 눌렸는지 확인한다. if(GPIO.input(24) ==false): | 2015-05-06 | 1 |
4 | 108 | (108페이지 CameraControl.py 예제코드의 주석 들여쓰기 수정) <수정 전> #셔터 누름 버튼이 눌렸는지 확인한다. if(GPIO.input(22) == False): #셔터선에 연결된 옵토아이솔레이터를 트리거한다. GPIO.output(17, GPIO.HIGH) time.sleep(.2) GPIO.output(17, GPIO.LOW)
#플래시 누름 버튼이 눌렸는지 확인한다. if(GPIO.input(23) == False): #플래시 선에 연결된 옵토아이솔레이터를 트리거한다(리비전 2 보드이므로 27번 핀임). GPIO.output(27, GPIO.HIGH) time.sleep(.2) GPIO.output(27, GPIO.LOW)
<수정후> #셔터 누름 버튼이 눌렸는지 확인한다. if(GPIO.input(22) == False): #셔터선에 연결된 옵토아이솔레이터를 트리거한다. GPIO.output(17, GPIO.HIGH) time.sleep(.2) GPIO.output(17, GPIO.LOW)
#플래시 누름 버튼이 눌렸는지 확인한다. if(GPIO.input(23) == False): #플래시 선에 연결된 옵토아이솔레이터를 트리거한다(리비전 2 보드이므로 27번 핀임). GPIO.output(27, GPIO.HIGH) time.sleep(.2) GPIO.output(27, GPIO.LOW)
| 2015-05-06 | 1 |
4 | 110 | (110페이지 SoundModTest.py 예제코드 내 들여쓰기 오류) ('#플래시 테스트' 주석 이후의 코드를 아래와 같이 수정합니다)
----------------------------------------------------------- # 플래시 테스트 if select == 2: while True: if(GPIO.input(24) == False): GPIO.output(27, GPIO.HIGH) time.sleep(.2) GPIO.output(27, GPIO.LOW) break # 셔터와 플래시 테스트 if select == 3: while True: if(GPIO.input(24) == False): GPIO.output(17, GPIO.HIGH) GPIO.output(27, GPIO.HIGH) time.sleep(.2) GPIO.output(17, GPIO.LOW) GPIO.output(27, GPIO.LOW) break select = input(‘Enter 1 (shutter only), 2 (flash only), 3 (shutter and flash), 0 (exit): ‘): print(‘All done’) | 2015-05-06 | 1 |
6 | 151 | (151페이지 Test_ADC.py) 7행 이후의 예제코드 들여쓰기를 아래와 같이 수정.
------------------ import time import os import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) DEBUG = 1 #MCP3008 ADC값을 읽기 위한 함수 작성 def adc(chan, clock, mosi, miso, cs): if((chan < 0) or (chan > 7)): return -1 GPIO.output(cs, True) GPIO.output(clock, False) GPIO.output(cs, False) cmd = chan cmd |= 0x18 cmd <<= 3 for i in range(5): if(cmd & 0x80): GPIO.output(mosi, True) else: GPIO.output(mosi, False) cmd <<= 1 GPIO.output(clock, True) GPIO.output(clock, False) result = 0 for i in range(12): GPIO.output(clock, True) GPIO.output(clock, False) result <<= 1 if(GPIO.input(miso)): result |= 0x1 GPIO.output(cs, True) result >>= 1 return result #테스트 회로를 작동하기 위한 핀 정의 SPICLK = 18 SPIMISO = 23 SPIMOSI = 24 SPICS = 25 GPIO.setup(SPIMOSI, GPIO.OUT) GPIO.setup(SPIMISO, GPIO.IN) GPIO.setup(SPICLK, GPIO.OUT) GPIO.setup(SPICS, GPIO.OUT) channel = 0 while True: #ADC값 읽기 adc_value = adc(channel, SPICLK, SPIMOSI, SPIMISO, SPICS) if DEBUG: print "value = ", adc_value #1초 대기 후 반복 time.sleep(1) | 2015-05-06 | 1 |
6 | 154 | (154페이지 Test_ADC.py segment 예제코드) 2행 이후의 들여쓰기를 아래와 같이 수정.
--------------- file = open("myData", 'w') for i in range(1200): adc_value = adc(channel, SPICLK, SPIMOSI, SPIMISO, SPICS) #str() 함수는 adc_value의 수치를 문자열로 변환한다. "n"은 줄바꾸기 문자이다. adcStr = str(adc_value) + "n" file.write(adcStr) if DEBUG: print "value = ", adc_value #1초에 10회 샘플을 취한다. time.sleep(.1) file.close() print("All done")
| 2015-05-06 | 1 |
8 | 200 | (200~201페이지 alarm.py 예제코드 들여쓰기 수정) 9행 이후의 들여쓰기를 아래와 같이 수정.
-------------- import subprocess import smtplib import socket from email.mime.text import MIMEText import datetime import os import RPi.GPIO as GPIO import time def send_alarm(): #이메일 수신처 주소 넣기 to = 'youremail@isp.com' #자신의 G메일 계정을 넣기 gmail_user = 'user@gmail.com' #자신의 G메일 비밀번호 넣기 gmail_password = 'password' #이제부터는 설명이 필요없다. smtpserver = smtplib.SMTP('smtp.gmail.com', 587) smtpserver.ehlo() smtpserver.starttls() smtpserver.ehlo() smtpserver.login(gmail_user, gmail_password) today = datetime.date.today() arg = 'ip route list' proc = subprocess.Popen(arg, shell=True, stdout=subprocess.PIPE) data = proc.communicate() split_data = data[0].split() local_ip = split_data[split_data.index('src') + 1] public_ip = os.system('wget http://ipecho.net/plain -O - -q > test.txt; echo') public_ip = open('test.txt', 'r').read() msg_content = 'Alarm detected. Public ip is %s:8081, local ip is %s' % (pubic_ip, local_ip) msg = MIMEText(msg_content) msg['Subject'] = 'Raspberry Pi Alarm on %s' % today msg['From'] = gmail_user msg['To'] = to smtpserver.sendmail(gmail_user, [to], msg.as_string()) smtpserver.quit() GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.IN) #10초의 지연 시간과 count 변수를 사용하여 과다한 e메일이 송신되지 않도록 한다. count = 0 #무한 루프 시작 while True: if(GPIO.input(23) == False & count == 0): count = count + 1 send_alarm() time.sleep(10) count = 0
| 2015-05-06 | 1 |
9 | 216 | (216쪽 estract_data.py 예제코드 들여쓰기 수정.) 8행 이후부터 들여쓰기 아래와 같이 수정.
----------------------- import time import os import RPi.GPIO as GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(23, GPIO.OUT) nfc_id = None while (nfc_id == None): nfc_id = os.system('sudo libnfc/libnfc-1.6.0-rc1/examples/nfc-poll > nfc_data.txt') inFile = open('nfc_data.txt') lines = inFile.readlines() inFile.close() buffer = [] for line in lines: line_content = line.split() if(not line_content[0] == 'UID'): pass else: buffer.append(line_content) #print(buffer) str = buffer[0] id_str = str[2] + str[3] + str[4] + str[5] #print(id_str) if(id_str == 'bd0eb923'): print('match') GPIO.output(23, GPIO.HIGH) time.sleep(10) GPIO.output(23, GPIO.LOW) else: print('no match') | 2015-05-06 | 1 |
13 | 295 | (295페이지(밑에서 8번째 줄) 예제코드 들여쓰기) <수정 전> if wm.state[‘buttons’] == 512: print(‘Right button pressed’) time.sleep(1)
<수정 후> if wm.state[‘buttons’] == 512: print(‘Right button pressed’) time.sleep(1)
| 2015-05-06 | 1 |
|