기존에 설치된 2.7.14를 제거하고 2.7.15를 설치해봤지만 이 문제는 해결되지 않았다. 그래서 다음과 같이 Windows Defender의 방화벽 설정을 추가했다.
- 제어판 - 시스템 및 보안 - Windows Defender 방화벽 - 허용되는 앱
- 설정 변경 버튼 클릭
- 다른 앱 허용 버튼 클릭
- pythonw.exe 경로를 선택해 추가
이제 잘 된다.
% pip3 install switch
% python3
>>> from switch import Switch
>>> x = 1
>>> with Switch(x) as case:
... if case(1):
... print('일')
... if case(2):
... print('이')
...
일
var express = require('express');
var app = express();
app.use(express.static('public'));
app.get('/', function (req, res) {
res.sendFile( __dirname + "/" + "form.html" );
})
app.get('/lcd_write', function (req, res) {
text = "\"" + req.query.text + "\""
var exec = require('child_process').exec;
function puts(error, stdout, stderr) { console.log(stdout) }
cmd = "python3 -c \"import sys, pifacecad; pifacecad.PiFaceCAD().lcd.write(sys.argv[1])\""
exec(cmd + " " + text, puts);
console.log(text);
res.end(text);
})
var server = app.listen(8000, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
<html>
<body>
<form action="/lcd_write" method="GET">
Input text here: <input type="text" name="text"> <br>
<input type="submit" value="Submit">
</form>
</body>
</html>
#!/usr/bin/python3
from pygame import mixer
import time
class Player:
def __init__(self):
self.isOn = True
self.isPlaying = False
self.isPaused = False
show("MP3 Player")
mixer.init()
self.musicVolume = round(mixer.music.get_volume(), 1)
import glob
self.musicFiles = tuple(sorted(glob.glob("*.mp3")))
self.musicNum = 0
filename = self.musicFiles[self.musicNum]
show(filename + "\nReady")
def listen(self, sw_id, func, always=False):
if cad.switches[sw_id].value == 1 and (always or self.isOn):
while cad.switches[sw_id].value == 1: pass
print('self.%s()' % func)
exec('self.%s()' % func)
def playPause(self):
if self.isPlaying:
self.pause()
else:
if self.isPaused:
self.resume()
else:
self.play()
def play(self):
filename = self.musicFiles[self.musicNum]
mixer.music.load(filename)
self.musicTitle = filename
show(self.musicTitle + "\nPlaying")
mixer.music.play()
self.isPlaying = True
def pause(self):
self.isPlaying = False
mixer.music.pause()
show(self.musicTitle + "\nPaused")
self.isPaused = True
def resume(self):
self.isPlaying = True
show(self.musicTitle + "\nPlaying")
mixer.music.unpause()
self.isPaused = False
def prev(self):
self.musicNum = (self.musicNum - 1) % len(self.musicFiles)
self.play()
def next(self):
self.musicNum = (self.musicNum + 1) % len(self.musicFiles)
self.play()
def randomPlay(self):
import random
self.musicNum = random.choice(range(len(self.musicFiles)))
self.play()
def volumeUp(self):
self.setVolume("up")
def volumeDown(self):
self.setVolume("down")
def setVolume(self, action):
min, max, delta = 0.0, 1.0, 0.1
vol = mixer.music.get_volume()
vol = round(vol, 1)
if action is "up" and vol < max:
vol = round(vol + delta, 1)
mixer.music.set_volume(vol)
show(self.musicTitle + "\nvol: " + str(vol))
self.musicVolume = vol
elif action is "down" and vol > min:
vol = round(vol - delta, 1)
mixer.music.set_volume(vol)
show(self.musicTitle + "\nvol: " + str(vol))
self.musicVolume = vol
elif action is "mute":
if vol == min:
vol = self.musicVolume
mixer.music.set_volume(vol)
show(self.musicTitle + "\nvol: " + str(vol))
else:
vol = min
mixer.music.set_volume(vol)
show(self.musicTitle + "\nMuted")
else:
pass
def mute(self):
self.setVolume("mute")
def onOff(self):
if self.isOn:
if self.isPlaying:
mixer.music.stop()
show('Bye...')
time.sleep(2)
cad.lcd.backlight_off()
time.sleep(1)
cad.lcd.clear()
self.isOn = False
else:
self.__init__()
import pifacecad
cad = pifacecad.PiFaceCAD()
cad.lcd.backlight_on()
cad.lcd.cursor_off()
cad.lcd.blink_off()
def show(text):
cad.lcd.clear()
cad.lcd.write(text)
p = Player()
while True:
p.listen(0, 'playPause')
p.listen(1, 'prev')
p.listen(2, 'next')
p.listen(3, 'randomPlay')
p.listen(4, 'onOff', True)
p.listen(5, 'mute')
p.listen(6, 'volumeDown')
p.listen(7, 'volumeUp')
#!/usr/bin/python3
import pifacecad
cad = pifacecad.PiFaceCAD()
cad.lcd.backlight_on()
def show():
cad.lcd.clear()
cad.lcd.write('A team:' + str(score[0]) + '\n'
+ 'B team:' + str(score[1]))
score = [0, 0]
show()
while True:
if cad.switches[0].value == 1:
score[0] = score[0] + 1
while cad.switches[0].value == 1: pass
show()
elif cad.switches[1].value == 1:
score[1] = score[1] + 1
while cad.switches[1].value == 1: pass
show()
elif cad.switches[4].value == 1:
score = [0, 0]
while cad.switches[4].value == 1: pass
show()
#!/usr/bin/python3
import pifacecad
cad = pifacecad.PiFaceCAD()
cad.lcd.backlight_on()
def show():
cad.lcd.clear()
cad.lcd.write('A team:' + str(score[0]) + '\n'
+ 'B team:' + str(score[1]))
def listen(i, func):
global score
if cad.switches[i].value == 1:
if func == 'add': score[i] = score[i] + 1
elif func == 'reset': score = [0, 0]
while cad.switches[i].value == 1: pass
show()
score = [0, 0]
show()
while True:
listen(0, 'add')
listen(1, 'add')
listen(4, 'reset')
#!/usr/bin/python3
import pifacecad
cad = pifacecad.PiFaceCAD()
cad.lcd.backlight_on()
def show():
cad.lcd.clear()
cad.lcd.write('A team:' + str(score[0]) + '\n'
+ 'B team:' + str(score[1]))
def listen(i, func, team=None):
global score
if cad.switches[i].value == 1:
if func == 'add': score[team] = score[team] + 1
elif func == 'reset': score = [0, 0]
while cad.switches[i].value == 1: pass
show()
score = [0, 0]
show()
while True:
listen(5, 'reset')
listen(6, 'add', 0)
listen(7, 'add', 1)
$ sudo apt-get install python-pyaudio