2015-07-13 185 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中起作用。