从网页中检索数据

时间:2014-02-24 21:40:04

标签: html5 arduino

我创建了一个网页,其中只包含几个具有值的div。我想从arduino访问这些值。我已经使用WiFly屏蔽将我的arduino连接到我的wifi网络。我不确定如何从我所建立的网站上检索数据。

网站为https://googledrive.com/host/0B5gW3AYRbRMoYU5RaHpNS2ZEY3c/dataRequest.html

该页面需要15秒才能加载数据,因此请耐心等待。

div.id是坐标集,我只想创建一个草图,检索数据然后将其发布到整数

FIND-THE-CONTENT-HERE
String COORDINATES = RETRIEVED-DATA

if (COORDINATES == THESE-COORDINATES) { 
Int value = VALUE-INSIDE-DIV
}
LOOP TO KEEP CHECKING DATA(IF IT HAS BEEN UPDATED)

连接到wifi的当前草图

#include <SPI.h>
#include <WiFly.h>

#include "Credentials.h"

char serverName[] = "googledrive.com";

void setup() {

  Serial.begin(9600);
  //Serial.println("\n\r\n\rWiFly Shield Terminal Routine");

  WiFly.begin();

  if (!WiFly.join(ssid, passphrase)) {
    Serial.println("Association failed.");
    while (1) {
      // Hang on failure.
    }
  }

  Serial.println("Associated!");
}


void loop() {

}

2 个答案:

答案 0 :(得分:0)

您将无法从Arduino获取数据。

当客户访问该页面时,他们会看到一个数字列表:

129
63
...
70

但该URL不会返回此数字列表。该URL返回一些在客户端运行的javascript代码,然后呈现这些数字。客户端CPU和浏览器完成查询数据库并生成您在屏幕上看到的所有工作。

Arduino只会看到页面源代码。右键单击页面,然后选择&#34;查看源&#34;你会看到Arduino会看到什么。为了让Arduino呈现页面,它必须有一个javascript引擎,远远超出你用微控制器运行的能力。

您需要做的是服务器端呈现,以便在发送页面之前完成所有工作。在这种情况下,服务器将执行所有繁重的工作,Arduino将只解析文本。您甚至不必使用HTML - 页面可以简单地呈现为纯文本,这将很好地利用微控制器的功能。

答案 1 :(得分:0)

jd5ca是正确的,这个值是由JS推断出来的,但是由于你无法得到数据,他错了; 如果你模仿arduino上的javascript(将JS代码“端口”转换为arduino),你就不需要JS引擎。

通常JS会做一些GET来获取JXON / XML格式的数据,这只是一个关于不同URI的GET,有时WebSocket也参与其中仍然可以实现arduino。 但在这种情况下,似乎JS正在做一些不同的事情,从女巫解析一些数据我无法帮助你,因为我缺乏JQuery知识。遗憾