【第14回】 HTTP POSTを受け取るページの作成

続いては、HTTP POSTを受け取り、GAEに電力を登録するページの作成です。

最初から説明していくと超大作になってしまいそうなので、サンプルソースをベースに説明していきます。

[2017/05/19追記]

これを書いた当初はこの記事にあるような方法だったのですが、現在は「Google Cloud SDK」に代わっています。

デプロイもGUIのランチャーは無く、Google Cloud SDK Shellとか言うコンソールを立ち上げ

appcfg.py --oauth2 update [app.yamlを置いてあるフォルダ]

コマンドでデプロイをする必要があります

[2022/01/21追記]

デプロイコマンドが変わってました

gcloud app deploy --project=PROJECTNAME


最新のソースV3.0はこちら

サンプルソースを展開すると、以下のようなフォルダ構成になっていると思います

├src

│├htdocs

│├stylesheets

│├template

│├app.yaml

│├index.yaml

│├requests.py

│└robots.txt

└!post.html

簡単に中身を説明しますと、以下のような感じになっています

まず、必須で修正するファイルは「app.yaml」ファイルです

テキストエディタで開くと、以下のようなソースが表示されると思います

≪app.yaml≫

#application: ??????????

#version: 1

runtime: python27

≪省略≫

- url: /(.*)

static_files: htdocs/\1

upload: htdocs/(.*)

??????????となっているところは、第12回で登録したApplication Identifierに書き換える必要があります。

(下の画面の赤丸のところと同じにしてください)

次に「Google App Engine Launcher」で、上記アプリを実行できるようにします

1.「Google App Engine Launcher」を起動します

2.File->Add Existing Applicationを選択すると以下のようなダイアログが表示されます

3.先ほど解凍し、app.yamlを書き換えたパスを指定すると、一覧に追加されます

4.ここで「Run」ボタンを押すと、自分のPC上でWebページが立ち上がります

うまく実行できれば、左側の小さな丸いマークが再生マークに変わります。

その後、「Browse」ボタンを押すと、PC上で実行中のWebサーバーに接続したブラウザが起動します。

止めたい場合は、Stopボタンで停止できます。

最後に、GAEにアップロード(Deploy)する方法の説明です

「Google App Engine Launcher」画面で、対象のアプリを選択し、「Deploy」ボタンを押すと、アカウントとパスワードを入力する画面が表示されます。

Googleアカウントと、パスワードを入力し、OKボタンを押すとDeployが開始します。

コンソールが表示され、ログがずらずらと表示されます。

以下のように完了コード「0」で終了すれば、Deploy成功です

これで、Arduinoから電力量を受信できるWebページが完成しました。

実際にArduinoをLANに接続し、HTTP POSTで受信できるか確認してみます

LOGの画面で、エラー無く受信出来ていることを確認できました!