2014-02-24 165 views
0

我做了一個只包含幾個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() { 

} 

回答

0
草圖

您將無法從Arduino獲取數據。

當客戶端瀏覽該網頁時,他們看到號碼列表:

129 
63 
... 
70 

但是URL不會返回號碼名單。該URL返回一些在客戶端運行的JavaScript代碼,然後渲染這些數字。客戶端CPU和瀏覽器負責查詢數據庫並生成您在屏幕上看到的所有工作。

Arduino只會看到頁面源代碼。右鍵單擊頁面並選擇「查看源代碼」,您將看到Arduino將會看到什麼。爲了讓Arduino渲染頁面,它必須有一個JavaScript引擎,這遠遠超出了你可以用微控制器運行的內容。

你需要做的是服務器端渲染,以便所有的工作都在頁面發送之前完成在這種情況下,服務器將完成所有繁重的工作,而Arduino只會解析文本。您甚至不必使用HTML - 頁面可以簡單地呈現爲純文本,這將很好地利用微控制器的功能。

0

jd5ca是正確的,該值是由JS外推的,但他錯誤的是你無法獲得數據; 如果你在arduino上模擬javascript(「端口」爲arduino的JS代碼),你就不需要JS引擎。

通常情況下,JS會做一些GET來獲取JXON/XML格式的數據,女巫只是一個不同的URI上的GET,有時WebSocket參與女巫仍然有可能實現arduino。 但在這種情況下,看起來像JS正在做一些不同的事情,從巫婆身上解析一些數據,我無法幫助你,因爲我缺乏JQuery知識。對不起