![](https://blogimg.goo.ne.jp/user_image/6e/e3/739cc625e9a28b8eecb7d394759b1afe.jpg)
[1]HTMLとWebIOPiマクロ関数
●WebブラウザでGPIOサーバーを呼び出す
●HTMLファイルのページ表示
●表示された画面でボタンをクリック
●HTMLファイルでWebIOPiのマクロ関数が呼び出されて実行
WebIOPiのマクロ関数はJavascript
WebIOPiのマクロ関数WebIOPiライブラリでGPIOを制御
①HTMLファイルの作成
WebIOPiが備える関数ライブラリ(Javascript)
![](https://blogimg.goo.ne.jp/user_image/67/ea/bc82387ceb6ca243df1fba04d6bb6640.png)
■WebIOPiが持つJavascriptで記述された関数ライブラリを呼び出しながら記述する
■GPIOを直接制御するボタンを生成する関数
create GPIOButton()
■GPIOの入出力モドを設定する関数
setFunction
■記述
3個のボタンで赤、緑、青のLEDを点灯./消灯するHTMLファイルのソースコード(webiopi1.html)
ページタイトルに続いてWebIOPiのJavascriptを使うことを宣言
最初にWebIOPiのインスタンス(IOPI)を生成し。以降はこのIOPIを使う
続いてIOPI.ready関数の中で3個のボタンを出力モードに設定し、さらに特定のGPIOピンに割り付け表示名称を指定
スタイルシートとの連携をとるための関数$を実行
次にスタイルシートでボタンのサイズと表示位置、名称の文字サイズを指定
最後が実際の表示ページの制御で、表題の設定と3個のボタン表示を設定
![](https://blogimg.goo.ne.jp/user_image/5f/42/ed73581d9a97fb7393d105d134130eed.jpg)
■こうして作成したHTMLファイルはラズベリーパイの /home/pi/workにwebiopi.htmlで保存
■ラズベリーパイがWebブラウザからポート番号8030で呼ばれたらHTMLファイルを読みだしてWebブラウザに送るように設定する
pi@raspberry:~$ sudo nano /etc/webiopi/config
![](https://blogimg.goo.ne.jp/user_image/33/ba/a80cfc0d097f3857132561efde5b3d06.jpg)
①ページのポート番号を8030に変更
②HTMLファイルのあるディレクトリを指定
③HTMLファイル名を指定
[Ctrl] +[o] でファイルを上書き
[Ctrl] +[x] でnanoエディターを終了
pi@raspberry:~$ sudo systemctl start webiopi
![](https://blogimg.goo.ne.jp/user_image/09/21/1bad2acaffac84b28fbdf638d02bc094.jpg)
[2]Pythonマクロ関数でHTMLファイルを呼び出す
●WebブラウザでGPIOサーバーを呼び出す
●HTMLファイルのページ表示
![](https://blogimg.goo.ne.jp/user_image/5a/e1/aefff521cf0601a3f3ac658306607e98.jpg)
●表示された画面でボタンをクリック
●HTMLファイルでWebIOPiのマクロ関数が呼び出される
●Pythonスクリプト内のマクロ関数が呼び出される
Python用のGPIOライブラリがラズベリーパイのGPIOを制御
HTMLファイル
![](https://blogimg.goo.ne.jp/user_image/5a/3d/ce0871e36eb62fc74bffa10cd3033a69.jpg)
Pythonのマクロ関数を呼び出すPythonスクリプト(webiopi2.py)の作成
![](https://blogimg.goo.ne.jp/user_image/05/f2/cb7bff68882ae84b624e4a1c0cfedaf9.jpg)
pi@raspberry:~$ sudo nano /etc/webiopi/config
WebIOPiのコンフィギュレーションに手を加える
![](https://blogimg.goo.ne.jp/user_image/64/63/e2e0db48b1f03273c077e9190dff702c.jpg)
①ページのポート番号を8030に変更
②HTMLファイルのあるディレクトリを指定
③HTMLファイル名を指定
[Ctrl] +[o] でファイルを上書き
[Ctrl] +[x] でnanoエディターを終了
ご不明の点はご遠慮なくお尋ね下さい。存じ上げていることは丁寧にご案内させていただきます。
TEL 090-3194-4902
TEL 090-3194-4902
![](https://blogimg.goo.ne.jp/user_image/5f/c6/5269333fb847c30d62024de645af6a19.jpg)