按讚同步器

編輯歷史

時間 作者 版本
2017-07-19 13:37 – 13:37 (unknown) r0 – r1
顯示 diff
+ 按讚同步器
+ 功用:可以和facebook同步,將讚數顯示於數字顯示器,而且可以用按鈕,知道現在的按讚個數.
+
+ 設計理念:因老師上課時,讓我可以對樹梅派有更深一步的了解,又老師在上課把按贊同步器.顯示給我們看,所以我們決定要效仿老師
+ 育成班聯FB粉專 (facebook.com/YUCSA12)
+ *import RPi.GPIO as GPIO
+ *import time
+ *import urllib2
+ *import re
+ *import multiprocessing
+ *
+ *URL = 'https://www.facebook.com/YUCSA12/likes'
+ *RE = '(\\d{1}),(\\d{3})'
+ *STRING = 'Y118'
+ *
+ *GPIO.setmode(GPIO.BCM)
+ *GPIO.setwarnings(False)
+ *
+ *segments = [5, 9, 17, 13, 19, 11, 4, 6]
+ *for segment in segments:
+ * GPIO.setup(segment, GPIO.OUT)
+ * GPIO.output(segment, 0)
+ *
+ *digits = [26, 10, 27, 22]
+ *for digit in digits:
+ * GPIO.setup(digit, GPIO.OUT)
+ * GPIO.output(digit, 1)
+ *
+ *dictionary = {
+ * ' ':(0,0,0,0,0,0,0),
+ * '0':(1,1,1,1,1,1,0),
+ * '1':(0,1,1,0,0,0,0),
+ * '2':(1,1,0,1,1,0,1),
+ * '3':(1,1,1,1,0,0,1),
+ * '4':(0,1,1,0,0,1,1),
+ * '5':(1,0,1,1,0,1,1),
+ * '6':(1,0,1,1,1,1,1),
+ * '7':(1,1,1,0,0,0,0),
+ * '8':(1,1,1,1,1,1,1),
+ * '9':(1,1,1,1,0,1,1),
+ * 'Y':(0,1,1,1,0,1,1),
+ * 'O':(1,1,1,1,1,1,0),
+ * 'P':(1,1,0,0,1,1,1),
+ * 'S':(1,0,1,1,0,1,1)}
+ *
+ *def display(S, no_use):
+ * n = 0
+ * while True:
+ * for digit in digits:
+ * GPIO.output(digit, 1)
+ * GPIO.output(digits[n], 0)
+ * i = 0
+ * for on_or_off in dictionary[S[n]]:
+ * GPIO.output(segments[i], on_or_off)
+ * i += 1
+ * time.sleep(0.005)
+ * n += 1
+ * n %= 4
+ *
+ *def likes(U, R):
+ * time.sleep(2)# in case been blocked
+ * page_source = urllib2.urlopen(U).readlines()
+ * #print page_source
+ * for line in page_source:
+ * match = re.search(R, line)
+ * if match:
+ * return match.group(1)+match.group(2)
+ * return 'OOPS'
+ *
+ *while True:
+ * p = multiprocessing.Process(target=display, args=(STRING, ''))
+ * p.start()
+ * STRING = likes(URL, RE)
+ * print STRING
+ * p.terminate()
+ *
+ *GPIO.cleanup()