2011-12-08 54 views
5

我想從Arduino Uno讀取傳感器信息。我已經有一個Java程序連接到串口並從Arduino讀取信息。將Arduino傳感器數據發佈到網頁的最佳方法?

我想將此信息發佈到網頁(目前我的計算機正在運行Apache Web服務器)。我不擅長web開發,但我可以通過。

我的計劃是將我讀取的傳感器數據從Arduino保存到文件中。我會每1分鐘更新一次這個文件。然後,使用某種服務器端腳本語言(即PHP)從文件中讀取數據,並在請求頁面時生成顯示傳感器信息的網頁。

但是,這種方法看起來並不很「優雅」。有沒有更好的方法來完成這項任務?

(另外,我只使用Arduino的烏諾有USB端口,我沒有以太網shield。)

+0

也是一個好地方問:http://electronics.stackexchange.com/ – vikingosegundo

回答

2

我想這真的取決於你想如何強大的網頁是怎麼集中你想要你的應用程序。

如果您只是尋找簡單的原始數據,您可以在您的Java應用程序中構建a simple web server以提供文件的內容。這將把一切集中到一個應用程序中。 (而不是apache + php + java)

如果你正在尋找實時數據,你甚至可以在請求諸如http://localhost/getData之類的東西時觸發串行命令並響應通過串行讀取的實時數據。 (雖然,如果幾個同時連接要發送到你的網絡服務器,我不會推薦這個,Arduino不會做多線程,串口可能很慢。)

這個的缺點當然是你手動編碼HTML輸出。有一些HTML庫(herehere)可能有助於此。

+0

謝謝!您發佈的最後兩條鏈接非常有幫助。我想我會嘗試將所有內容集中到一個應用程序中,因爲這似乎是最簡單的。 – jos76

0

要添加,如果您不希望在短時間內獲得很多匹配,請動態生成頁面(如您所描述的那樣)會正常工作。如果您希望每分鐘獲得很多點擊(您指定的數據更新速率),那麼您希望在數據更新時每分鐘生成一次頁面,然後將其發送給每個請求者,而不是每次都重新生成頁面有一個要求。

1

您可以在SensorMonkey.com上創建一個帳戶,然後創建一個API以在另一個網站上使用您的傳感器數據。

2

既然您沒有以太網屏蔽,那麼唯一的選擇是使用串行讀取端口。

從串口讀取數據並將其保存到文件中,您可以嘗試以json或xml格式格式化數據。這將讓你輕鬆地使用jQuery來處理數據。

如果您知道如何創建一個創建ajax頁面以顯示數據的方式。你可以查看backbone.js和一些jQuery。

如果你在網頁開發和/或網頁設計方面不夠好。您可以依靠預製網站達到此目的。我喜歡用戶界面的cosm website

你可能會考慮有一個以太網或WiFi屏蔽。有你的Arduino直接連接到互聯網,可以非常強大,使您能夠創建整潔的黑客

你也可能會喜歡這個tutorial

2

你有沒有聽說過SensorMonkey ...這個網站可以幫助你發佈來自Arduino的傳感器數據或Shimmer或xBee等其他設備。您可以使用您的Facebook帳戶登錄。這是非常容易使用它,因此它不需要web開發知識...

+1

Sensormonkey已經停產 – HixField

相關問題