javascript - 使用 XivelyJS 将 JS 值发送到 xively

标签 javascript arduino xively

如何将两个 Javascript 值发送到 xively feed,一个作为 ID,一个作为值。当前代码是。我想将这些值放入 xively feed 中,这样我就可以通过带有 wifi 的 arduino 访问它们。不幸的是,从 JS 直接从网站获取值似乎并不直接,所以这是我的解决方法,除非有人有更好的方法从 arduino 访问这些数据。使用此示例作为引用,但我想从网站发送数据而不是检索它。 http://xively.github.io/xively-js/tutorial/

    <!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>

<script src="jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="parse-1.2.16.min.js"></script>
</head>

<body>


<script>

jQuery(function($){

    xively.setKey( "APIKEY" ); 


    Parse.initialize("APIKEY", "APIKEY");



var mValue = Parse.Object.extend("mValue");
var queryLngLat = new Parse.Query(mValue);
var classObject = new mValue();
var existingMarkers= [];
var databaseMarkers= [];
var counter = 0;
var div ;
var resultsLength;



setInterval(function update() {

queryLngLat.notEqualTo("longAndLat", null);
queryLngLat.find({
  success: function(results) {

      console.log("Successfully retrieved " + results.length + " scores.");

     for (var j = 0; j < results.length; j++ ) {
    databaseMarkers = (results[j].attributes.longAndLat);
resultsLength = results.length;
counter++;
     var  markerValueRead = results[j].attributes.Val;

     CoordsPush = databaseMarkers.substring(1, databaseMarkers.length - 1);

     div =  document.createElement("div");
      div.style.width = "400px;";
    div.style.background = "white";
    div.style.color = "black";
    div.innerHTML = /*"Database LatLng: " + CoordsPush + " Marker Value: " + */markerValueRead;
    div.setAttribute("id", CoordsPush);   
    document.body.appendChild(div);
    //alert(div.id);


    JSON.stringify(markerValueRead);


xively.setKey("UYby76Zocsur664I6sRd13BXKUKrpM3xDSntN5qB5fvPxMhG");


var feedID = 129375335,
datastreamID = "LatLng";
selector = "50.3754565, -4.14265649999993"

xively.datastream.get(feedID, datastreamID, function(datastream) {

    $selector.html( datastream["current_value"] );
    xively.datastream.subscribe(feedID, datastreamID, function( even, datastream_updated) {

        $(selector).html(datastream_updated["current_value"]);
    });
});







    //console.log("(" + markers[d].getPosition().d + ", " + markers[d].getPosition().e +")");

    console.log("Database LatLng: " + databaseMarkers + " Marker Value: " + markerValueRead);

        }

    counter = 0;

    }
    });

    document.body.innerHTML = '';





}, 15000);





});



    </script>
    <script src="http://d23cj0cdvyoxg0.cloudfront.net/xivelyjs-1.0.4.min.js"></script>  
</body>
</html>

最佳答案

这是一个向 feed 中的两个 channel (“foo”和“bar”)发送单个值的简单示例...

<!DOCTYPE HTML>
<html>
<head>
   <title>Xively Test</title>
   <script language="JavaScript" type="text/javascript" src="lib/jquery/jquery-1.10.2.min.js"></script>
   <script language="JavaScript" type="text/javascript" src="lib/xively/xivelyjs-1.0.4.min.js"></script>

   <script language="JavaScript" type="text/javascript">
      var API_KEY = "YOUR_API_KEY";
      var FEED_ID = "YOUR_FEED_ID";

      $(document).ready(function() {
         // Set your API key first
         xively.setKey(API_KEY);

         // build the data packet
         var timestamp = new Date().toISOString();
         var data = { "version" : "1.0.0",
            "datastreams" : [
               { "id" : "foo", "datapoints" : [ {"at" : timestamp, "value" : 10} ] },
               { "id" : "bar", "datapoints" : [ {"at" : timestamp, "value" : 20} ] }
            ]
         };

         // upload the data
         xively.feed.update(FEED_ID, data, function(response) {
            if (response.status == "200") {
               console.log("Yay, it worked!: " + JSON.stringify(response, null, 3));
            }
            else {
               console.log("Boo, something went wrong!: " + JSON.stringify(response, null, 3));
            }
         });

      });
   </script>
</head>
<body>
Look in the console for output.
</body>
</html>

关于javascript - 使用 XivelyJS 将 JS 值发送到 xively,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22020656/

相关文章:

c++ - Arduino Web 客户端类不工作

java - 从 Java 读取 Arduino 太慢

javascript - Xively 使用 javascript 从 feed 获取数据流列表

python - 如何在 flask 网络应用程序中接受来自 Xively 的 POST 数据?

javascript - 想获取标记的 infobubble 的内容?

javascript - 自动从 Woocommerce 谢谢重定向到传递变量的外部链接

javascript - Node js中的辅助函数

linux - 命令行 Arduino 编译和上传?

sockets - 无法使用 Arduino + wifi shield 连接到 Xively, "ret = -1 No sockets available"

javascript - jquery .on click 不适用于后来添加的元素