因為值的設定是在HTML端完成的,所以Python端只需要對初始化及終止處理進行描述就可以了。
/home/pi/webiopi_sample/python/script.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import webiopi GPIO = webiopi.GPIO RED = 22 GREEN = 17 BLUE = 27 def setup(): # Set GPIO to PWM GPIO.setFunction(RED , GPIO.PWM) GPIO.setFunction(GREEN, GPIO.PWM) GPIO.setFunction(BLUE , GPIO.PWM) def destroy(): # Light off GPIO.pwmWrite(RED , 0) GPIO.pwmWrite(GREEN, 0) GPIO.pwmWrite(BLUE , 0) |
由於本次使用了PWM,所以將第10到12行setFunction中的第二個參數指定為“GPIO.PWM”。如果指定為“GPIO.OUT”,脈衝訊號將不會被識別,並且在您每次行動滑動條時它將會閃爍一秒鐘。
雖然已經在程式末端寫入了斷路LED的處理過程,但是還是需要使用“pwmWrite”函數。
Write An Integer Value To The Given PWM Channel.
REST API: POST / Devices / Name / Pwm / Channel / Integer / Value
Name (Str): Device Name From Configuration File
Channel (Int): Analog Channel Number
value (int): integer value to output from 0 to pwmMaximum
在第一個參數中輸入指定的GPIO引腳編號以及您想要為第二個參數設定的值。如果該值被設定為0,那麼狀態變為OFF,LED將會熄滅。
讓我們來運行它!
運行指令
1 |
sudo /etc/init.d/webiopi start |
我們嘗試透過行動滑動條來調整顯色的光強,如上面視訊所示。當調整紅色,綠色和藍色這些單色光時,您可以以漸變的形式調整光強。另外,將這些單色光進行重疊,就可以顯示出疊加效果的顏色。設定很小的值將會使光強過弱而導致不穩定,所以需要設定一定程度的光強以保證穩定性。
這非常方便,因為只需要打開電源就可以立即啟用Wi-Fi 和WebIOPi的自動啟動設定了。
安裝過程非常簡單,只要將跳線直接插入LED 引腳即可,如上圖所示。有時候線會脫落,所以最好將線焊接進去。
我將LED放進了一個鐘形的裝飾品中,看起來很酷,不是嗎?
用Raspberry Pi的一個GPIO可以點亮兩個全彩LED。如果您想要連接許多個,可以使用諸如移位暫存器之類的零件來完成。
耶誕節就快到了!為什麼不用這些可愛的led聖誕裝飾來增添假日氣氛呢?您也可以製造其他創意產品!比如將其放在透明的裝飾物中或者蠟燭中,或者使用大量LED製造出手工照明燈來作為您的耶誕節裝飾品!