Internet, Windows, Linuxの最新技術をやさしく解説

  • concrete5
  • VirtualBox
  • Bootstrap
  • RaspberryPi
  • Arduino
  • Kindle
  • Pdic

RaspberryPiの実験と話題 > WebIOPi を使ってみる

WebIOPi を使ってみる

WebIOPi とは、Raspberry Pi 用で、GPIO を制御するフレームワークです。

つまり、このWebIOPi にはWEBサーバー機能が内蔵されているので、ブラウザからGPIO を制御できます。

+
WebIOPi をダウンロードして解凍

以下に過去のバージョンを含めてパッケージの一覧があります。

https://sourceforge.net/projects/webiopi/files/

この記事は、2015年2月22日に書いていますが、その時点の最新は、以下の 0.7.1 でしたので、"WebIOPi-0.7.1.tar.gz" をダウンロードします。

ダウンロード後、WebIOPi-0.7.1.tar.gz をサーバーに転送します。

以下のコマンドで解凍します。

$ tar zxvf WebIOPi-0.7.1.tar.gz

$ cd WebIOPi-0.7.1

 

+
Raspberry Pi 2 用にソースの変更

現時点で最新の0.7.1 は、Raspberry Pi 2 が出る前のバージョンなので、一部変更しないとRaspberry Pi 2 では動かないようです。

Raspberry Pi (2でない場合)では、変更不要です。またこの変更をするとRaspberry Pi では動かないので、Raspberry Pi で使うときは、変更を戻さないといけません。

cpuinfo.cの変更
Raspberry Pi 2 Model B V1.1 では、変更しなくていいです。

$ sudo vi /WebIOPi-0.7.1/python/native/cpuinfo.c

40行目の

      if (strcmp(hardware, "BCM2708") == 0)

を 、以下のように変更します。

     if (strcmp(hardware, "BCM2709") == 0)

gpio.cの変更

$ sudo vi /WebIOPi-0.7.1/python/native/gpio.c

32行目の

#define BCM2708_PERI_BASE   0x20000000

を、以下のように変更します。

#define BCM2708_PERI_BASE   0x3f000000

※ ソースを変更したら、setup.sh を実行する必要があります。(次の項目で解説)

+
WebIOPi (Version 0.7.1)のインストール(setup)

カレントフォルダに移動します。

$ cd WebIOPi-0.7.1

setup.shを実行します。

$ sudo sh setup.sh

    :

以下では、n を答えておきます。

Do you want to access WebIOPi over Internet ? [y/n] n

以下のようになればインストール完了です。

WebIOPi successfully installed
* To start WebIOPi foreground   : sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port]

* To start WebIOPi background   : sudo /etc/init.d/webiopi start
* To start WebIOPi at boot      : sudo update-rc.d webiopi defaults

* Weaved IoT Kit installed, log on http://developer.weaved.com to access your device

* Look in /home/pi/WebIOPi-0.7.1/examples for Python library usage examples

$

+
WebIOPi の起動設定

WebIOPi は、ポート8000 のWebサーバーを内蔵していますのでそれを起動します。

$ sudo /etc/init.d/webiopi start

再起動時に自動起動するように設定します。

$ sudo update-rc.d webiopi defaults
update-rc.d: using dependency based boot sequencing
$

サーバーのコンテンツ領域のアクセス権を設定します。

$ sudo chown pi -R /usr/share/webiopi/htdocs

PCのブラウザで、アクセスします。

http://<IPアドレス>:8000

ID、PWを聞いてきます。IDは、"webiopi"。PWは、"raspberry" を入力します。

以下のページが開きます。

2016-02-22_155538.png

+
WebIOPi でGPIOを制御してみる

GPIO 4 (ピン7)に、220Ω の抵抗を介して、LEDをつなぎます。

以下を開きます。

http://<IPアドレス>:8000/

以下が開きます。

WebIOPi Main Menu

GPIO Header

Control and Debug the Raspberry Pi GPIO with a display which looks like the physical header.

「GPIO Header」をクリックします。

赤枠の左が「OUT」と表示されていること。つまり出力であることを確認します。クリックすると「IN」「OUT」の切り替えができます。

「7」のところが黒いと、OFF になっていることを示します。

022.png

この「7」をクリックすると、背景が黄色になり、ONになり、LEDが点灯します。

021.png

ツイート
このエントリーをはてなブックマークに追加
  

Theme Made by Enrique Ramírez for Smashing Magazine. Powered by Concrete5
© 2018 tomoのconcrete5. All rights reserved. ログイン