2017-04-10 18 views
0

http.post()要求の本文を記述して、ESP8266の接続センサーから値を読み取る方法を教えてもらえますか? 「値」のペアPOSTリクエストのボディに:私はGPIOピンに取り付けられたセンサから値を読み、「キー」の値として、それを置くことができますどのようにNodeMCU HTTPモジュールHTTP.POST()要求ボディ引数

wifi.setmode(wifi.STATION); 
wifi.sta.config("ssid","pwd") 
local sensorPin = adc.read(0) 

http.post('url', 
    'Content-Type: application/json\r\n', 
    '"humidity":sensorPin' 
    ,function(code, data) 
    if (code < 0) then 
     print("HTTP request failed") 
    else 
     print(code, data) 
    end 
    end) 

+0

フィードバックはもう必要ですか? –

答えて

1

私は分かりません何を正確にあなたの問題は、申し訳ありません。それはどのようにread GPIO valuesですか?ADCを扱っているのですか?sending data in an intervalですか、それともLuaの文字列連結ですか?あなたはより多くのJSONデータをエンコードする必要がある場合

url = 'url' 
jsonContentTypeHeader = 'Content-Type: application/json\r\n' 

http.post(url, jsonContentTypeHeader, 
    '{"humidity":' .. adc.read(0) .. '}', function(code, data) 
    if (code < 0) then 
     print("HTTP request failed") 
    else 
     print(code, data) 
    end 
    end) 

は、そのためのdedicated moduleがあります:

だから、ここにコードを修正します短い抜粋です。

wifi.sta.config("ssid", "pwd")は非同期であり(多くのNodeMCU関数と同様に)、IPアドレスを取得するまでネットワークコールを保留する必要があります。我々はtemplate for that in our docsも持っています。

関連する問題