スマホからエアコンを動かせました(WebIOpi)

2020年1月13日

WebiopiでやっとワイヤレスLAN上からエアコンを動かすことができました。
おかげでHTML、CSS、javascript、Pyhtonが何をしているか
わかりました!!(初心者はゼロからです😂😂)

動かない理由がわからなくいろいろと調べてわかったことを記しておきます(忘備録)

Webiopiはサーバーソフトで立ち上がり時に


/etc/webiopi/configファイルを読み込み この時
●Pythonのscriptファイル(script.py)を読み込みをする
●HTMLの読む場所を設定できます。

script.pyでは
●マクロでオリジナルの関数(ここではsendirを使って sendCommand()関数)をつくり、それを
javascriptの関数としてHTMLより動かせる。

下の写真!

ここで一番悩まされたのが subprocess の使い方です。相対パスで ./ とsendirを指定することや
script.pyと同じ階層にsendirがあるべきことや 

ホームディレクトリーにsendirがあることなど。
subprocess.Popen(args)のPは大文字でなければならないことや

いたってあたりまえのことがわからないのです😂😂

script.pyで以下を記述

import subprocessして

@webiopi.macro
def sendCommand():
args = [‘./sendir’,’ir.data’,’3′,”6″]
subprocess.Popen(args)

です。

②webiopiを立ち上げる時は

sudo  systemctl  start  webiopi

としているのですがこれだけではwebiopiがどのように動いているかわからず糸口が見えなかった。

そのため最終的にデバック状態でwebiopiを立ち上げることで原因がsubprocessでsendirが動いていないことに気づきました!

デバックは

sudo  webiopi -c /etc/webiopi/config -d

で動きます

③Web関係のプログラムをしている人には当たり前かもしれないがなんせ初めてなので個々のメソッドの機能や基本的なことをネットで調べていました。

HTMLファイル僕の場合 index.html
CSSファイル→僕の場合 style.css
javascriptファイル→僕の場合 javascript.js
Pythonファイル→ 僕の場合 script.py

次はsoftetherでVPNの構築です。