2016-02-23 107 views
2

我從這個URL如何從URL發佈JSON數據Pubnub

http://api.thingspeak.com/channels/18675/feed/last.json

如何發佈這些數據Pubnub一些JSON數據? 這裏我已經寫了一些代碼爲實時圖形,但輸入圖形是恆定的data.i想使用jQuery的功能的getJSON獲取thingspeak數據從URL

<html> 
    <head> 
    <script type="text/javascript" src="http://pubnub.github.io/eon/v/eon/0.0.10/eon.js"></script> 
    <link type="text/css" rel="stylesheet" href="http://pubnub.github.io/eon/v/eon/0.0.10/eon.css" /> 
    </head> 
    <body> 
    <div id="chart"></div> 
    <script> 
    var pubnub = PUBNUB.init({ 
    publish_key: '', 
    subscribe_key: '' 
    }); 
    var channel = "c3-spline-history-test"; 
    eon.chart({ 
    history: true, 
    channel: 'process-memory-demo', 
    flow: true, 
    limit: 100, 
    debug: false, 
    pubnub: pubnub, 
    rate: 500, 
    debug: true, 
    generate: { 
    bindto: '#chart', 
    transition: { 
    duration: 1 
    }, 
    data: { 
    type: 'scatter', 
    labels: true 
    }  
    } 
    }); 
    </script> 
    <script type="text/javascript"> 
    setInterval(function(){ 
    pubnub.publish({ 
    channel: channel, 
    message: [23,45,66,99,77] //replace this data with JSON data from URL 
    }); 
    }, 1000); 
    </script> 
    </body> 
    </html> 
+0

到目前爲止您嘗試過什麼?請閱讀http://stackoverflow.com/help/how-to-ask – ericbn

+1

通過XHR獲取JSON數據。對於每個點,發佈爲對象**'{eon:{columnHeaderName1:45.32,columnHeaderName2:77.212}} ** – PubNub

回答

2

獲取數據併發布到pubnub

<!doctype html> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>THingspeak data to Pubnub</title> 
     <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
     <script type="text/javascript" src="http://pubnub.github.io/eon/v/eon/0.0.10/eon.js"></script> 
    <link type="text/css" rel="stylesheet" href="http://pubnub.github.io/eon/v/eon/0.0.10/eon.css"> 
    </head> 
    <body> 
    <div id="chart"></div> 
    <script> 
    var pubnub = PUBNUB.init({ 
      publish_key: '', 
      subscribe_key: '' 
      }); 
      var channel = ""; 
      eon.chart({ 
      channel: channel, 
      history: true, 
      flow: true, 
      pubnub: pubnub, 
      debug: true, 

      generate: { 
       bindto: '#chart', 
       data: { 
       labels: false 
       } 
      }, 

      transform: function(a) { 
       return { 
       eon: { 
        'val1': a[0], 
        'val2': a[1], 
        'val3': a[2], 
        'val4': a[3], 
        'val5': a[4] 
       } 
       }; 
      } 
      }); 
    (function() { 
     var sensors = "http://api.thingspeak.com/channels/(channel_id)/feed/last.json";//replace channel _id with yours 
     $.getJSON(sensors, { 
     format: "json" 
     }) 
     .done(function(data) { 
      setInterval(function(){ 
      var f1=data.field4; 
      var f2=data.field5; 
      var f3=data.field6; 
      var f4=data.field7; 
      var f5=data.field8; 
      console.log(f1,f2,f3,f4); 
      pubnub.publish({ 
       channel: channel, 
       message: [f1,f2,f3,f4,f5] 
     }); 
      }, 15000); 
     }); 
    })(); 
    </script> 

    </body> 
    </html>