Raspberry Pi + WebIOPi 準備
前回は Raspberry Pi に WebIOPi をインストールした。
今回は、Tutorial : Framework basisで基本的な動きを見る。
- ホームディレクトリにプロジェクトディレクトリを作成する
- python スクリプトファイル script.py を作成し、python フォルダに置く
チュートリアルでは8時から18時となっているが、そんなにのんびりできないので、10秒から30秒とする。
#!/usr/bin/env python # coding: UTF-8 """ /home/pi/myproject/python/script.py """ import webiopi import datetime GPIO = webiopi.GPIO LIGHT = 17 SECOND_ON = 10 # Turn Light ON at 10 second SECOND_OFF = 30 # Turn Light OFF at 30 second def setup(): GPIO.setFunction(LIGHT, GPIO.OUT) now = datetime.datetime.now() if ((now.second >= SECOND_ON) and (now.second < SECOND_OFF)): GPIO.digitalWrite(LIGHT, GPIO.HIGH) def loop(): now = datetime.datetime.now() if (now.second == SECOND_ON): if (GPIO.digitalRead(LIGHT) == GPIO.LOW): GPIO.digitalWrite(LIGHT, GPIO.HIGH) if (now.second == SECOND_OFF): if (GPIO.digitalRead(LIGHT) == GPIO.HIGH): GPIO.digitalWrite(LIGHT, GPIO.LOW) webiopi.sleep(1) def destroy(): GPIO.digitalWrite(LIGHT, GPIO.LOW)
- html/index.html
html/index.html はそのままでよいので、チュートリアルのページからコピペする。 - /etc/webiopi/config
いくつか追加する。
- [SCRIPTS] myscript
myscript = /home/pi/myproject/python/script.py
- [HTTP] doc-root
doc-root = /home/pi/myproject/html
- [REST]
gpio-export = 17 gpio-post-value = true gpio-post-function = false
- [SCRIPTS] myscript
- 動かしてみる
ブート時に自動起動するようにしている時は、そのプロセスをいったん止めて、もう一度起動する。$ sudo webiopi -d -c /etc/webiopi/config
1分ごとの10秒から30秒まではボタンが青に、それ以外は黒になっている。GPIO 17 なので、ピン番号は11。この11番ピンに LED をつないでおくと青と黒とでついたり消えたりしているのがわかる。
次回は SPI の ADC をつないでみる。