2015-07-13 139 views
0

我有關於在Raspberry Pi上獲取數據的問題。我知道我們可以在RPi.GPIO庫的幫助下創建RESTful服務來從GPIO獲取數據。但是如果我想從傳統的USB設備獲取數據呢?假設我有一個USB藍牙適配器,我可以通過命令行操作讀取數據。但是可以通過Web服務來執行相同的操作嗎?任何可能的幫助,非常感謝!從Raspberry Pi上的USB設備獲取數據的Web服務

+0

有人已經投了票(不是我)來結束這個「不清楚你在問什麼」。你真的需要更具體地瞭解你想要做什麼。否則,答案是「是的,你可以通過REST服務重定向命令行輸出」,你仍然不會接近你真正想做的事情。 –

回答

0

只是一個想法。我不確定你想要接收什麼數據,但..因爲你可以通過命令行工具(也許是hcitool)從你的BT設備讀取數據,所以你可以編寫cgi腳本來通過網頁與它交互。這裏是perl中的一個示例代碼。該代碼生成帶有smartctl程序輸出的html頁面。您可以修改它以發送某些參數並在perl腳本中正確解析輸出行。

#!/usr/bin/perl 
use CGI qw(:standard); 

# header lines 
print "Content-type: text/html\n\n"; 

print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; 
print "<html>\n"; 
print "<head>\n"; 
print " <title>S.M.A.R.T. data</title>\n"; 
print "</head>\n"; 
print "<body>\n"; 

print "S.M.A.R.T. output.\n"; 

my $cmd="/usr/bin/sudo /usr/sbin/smartctl -d sat -a /dev/sda"; 
my @list=`$cmd`; 
foreach $ln (@list) 
{ 
print "$ln<br>"; 
} 
print "</body>\n"; 
print "</html>\n"; 

P.S.代碼並不完美,但它在我的RPi中起作用。