2016-11-11 13 views
0

ESP正在運行Arduino「簡單」服務器!它不會向GET請求發送「標準」響應。它所做的就是發送一個我必須解析的字符串以獲取所需的信息。我想使用html/javascript從ESP8266 wifi模塊服務器下載字符串

當連接到服務器http://192.168.4.1我回到這個字符串:

iQUE+2 REPORTS 
73 

沒有標準HTTP標頭一個通常期望。結果大多數HTTP/JS GET失敗,因爲缺乏標準的「狀態」等響應消息---至少我認爲:0)!!

這是HTML客戶端:

<html> 
<head> 
    <meta http-equiv='refresh' content='1' /> 
    <title>iQUE+2 WiFi Monitor</title> 
    <style> 
     body { 
      background-color: #cccccc; 
      font-family: Arial, Helvetica, Sans-Serif; 
      Color: #000000; 
     } 
    </style> 
</head> 

<body> 
    <p>&nbsp;</p> 
    <p>&nbsp;</p> 
    <h1 align=center>Hello from your iQUE<font color=#ff0000>+2 
<br> 
<br> </font></h1> 
    <h2 align=center>Cooking temperature is: 250</h2> 
</body> 
</html> 

我需要從服務器獲取字符串,並解析出號碼,然後把它放在那裏是目前數量250以上。

任何想法/幫助/示例代碼/建議將非常感激。

+1

我覺得你看起來不錯,即使是websockets也需要HTTP握手。儘管使用類似node.js的東西,你可以做這個服務器端。 – Keith

+0

http v0.9根本不需要標題。響應只包含body應該沒問題。嘗試從telnet連接到您的服務器,併發送'GET /'輸入。如果您在控制檯中看到預期的重新安裝,那麼您應該能夠從瀏覽器執行相同的操作。 – djxak

+0

大多數現代瀏覽器都支持HTTP 0.9 –

回答

0

一對夫婦的解決方案浮現在腦海中......

  1. 你提到這是一個ESP8266。那麼它是否運行你自己的Arduino草圖?如果是這樣,請說出HTTP 1.x.

如果#1不是一個選項,然後...

  • 拋出一個第二機器到混合..一個可以說話HTTP 1.x的(一個IIS或Apache實例,運行HTTP 1.x Web服務器的微代碼等)。該框會將傳入的請求代理到ESP,將HTTP 0.9數據轉換爲HTTP 1.x數據。
  • +0

    謝謝山姆沒有什麼我希望但仍然很好的信息。:-) – Tom