0

チャンネル ID と値を xily にアップロードするためにこのコードを取得する際に問題があります。

 temp = read_temp()
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"SolarFlow","current_value":temp_0}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"SolarReturn","current_value":temp_1}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"BufferIn","current_value":temp_2}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"BufferOut","current_value":temp_3}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"UFH_Flow","current_value":temp_4}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"GSHP_Flow","current_value":temp_5}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"GSHP_WellReturn","current_value":temp_6}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"GSHP_LoopsReturn","current_value":temp_7}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"HotWaterTank","current_value":temp_8}]})
    data = json.dumps({"version":"1.0.0", "datastreams":[{"id":"HotWaterPreHeatTank","current_value":temp_9}]})

    with open("temp.tmp", "w") as f:
        f.write(data)

    subprocess.call(['curl --request PUT --data-binary @temp.tmp --header "X-ApiKey: AR4soQUW2uG3t2pTVl3FVPPKZPfH66tJ0Z8SjBlEzhvFXpIK" http://api.cosm.com/v2/feeds/2002766727'], shell=True)

    os.remove("temp.tmp")

乾杯

スティーブ

4

1 に答える 1

0

これを実現する最善の方法は、Xively が提供する公式の Python モジュールを使用することです。

あなたが今説明した方法でそれをしないいくつかの理由を次に示します。

  1. 公式ライブラリは素晴らしくシンプルな API を提供します
  2. データ形式が実際に何であるかを気にする必要はありません
  3. 毎回curlコマンドを呼び出してHTTPリクエストを作成するのは、OSが生成されて新しいプロセスが生成さ
    れるまでに時間がかかるため、まったく効率的ではありません
于 2013-08-22T10:54:19.547 に答える