【第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の画面で、エラー無く受信出来ていることを確認できました!