2017-07-03 111 views
1

我正在使用Arduino UNO。我想將arduino傳感器值存儲到SQL數據庫中,我想從該數據庫中顯示存儲在數據庫表中的值給用戶的完整ASP.NET Web瀏覽器。另外我正在使用以太網屏蔽。 我發現這個方法由PHP完成,但我想在C#中完成此操作。我怎樣才能做到這一點?如何將Arduino傳感器值存儲到SQL數據庫中

回答

2

取決於你想要做什麼......

如果你想運行在Arduino的C#應用​​程序,和你的Arduino有ARM Cortex處理器,那麼你就沒戲了。如果它有英特爾夸克(x86-32)或Atmel AVR(8位),那麼你運氣不好。

因此,如果你有一個ARM處理器,你需要下載Visual Studio 2017(社區版 - 免費)。然後你需要安裝.NET Core 2.0預覽版。從那裏,你可以編譯一個獨立的Linux二進制目標ARM。如果你的Arduino可以運行Linux發行版,結果應該會運行。然而,我懷疑你會找到適合於32K的linux版本 - 但是如果你這樣做了,你可以編譯它並上傳到Arduino。

如果你的意思是「你怎麼能得到的Arduino傳感器數據」,那麼您可以使用System.IO.Ports,或者您可以使用C#的Arduino USB drivere這裏: https://github.com/christophediericx/ArduinoDriver

下一頁,您需要關係數據庫或NoSQL數據庫來存儲傳感器信息。 由於您可能是剛剛起步的Windows用戶,我建議您下載sql-server express和SQL-server management studio Express。如果你不是微軟的粉絲,如果你不想安裝任何東西,你也可以使用PostgreSQL或SQLite。火鳥也將是一個不錯的嵌入式數據庫。如果您的寫入頻率極高,並且需要多臺計算機來存儲結果,則應該使用Cassandra(NoSQL) - 但是,Cassandra不適用於初學者,PostgreSQL,SQLite或Firebird也不是。所以我建議你使用SQL-Server Management Studio和SQL-Server Express。

如果您還安裝了SQL服務器數據服務,您還可以使用ReportingService輸出您的測量結果,它具有易於過濾和多種輸出格式(HTML,Excel,PDF,PowerPoint,Word, TIFF,圖形,XML,CSV),而你自己卻沒有太多工作。那麼你不需要任何ASP.NET應用程序。

但是,如果要在自己的數據庫表中輸出數據,則需要SQL-Server ADO.NET驅動程序(System.Data.SqlClient)來訪問SQL-Server快速數據庫。對於PostgreSQL,您需要PostgreSQL-ADO.NET驅動程序(Npgsql),而對於SQLite,您需要System.Data.SQLite。

您可以使用DataGridView在ASP.NET Web窗體中輸出表,並在Page_Load事件中執行DataBind。或者你可以使用更現代的ASP.NET Core框架來編寫REST服務,並使用JavaScript和AJAX/JSON(使用像HandsonTable或SlickGrid這樣的JavaScript網格)來顯示錶格。您需要使用Newtonsoft.JSON將數據序列化爲JSON。

或者您可以實時使用web-sockets和web-sockets實時DataGrid顯示錶格。

相關問題