5

我想尽可能多地发现有关网络上物联网设备的信息。我已经看到枚举设备、查找 IP 地址和 MAC 地址的代码,但我还能找到什么?我特别想知道什么是灯,更重要的是,制造商是什么。

我一直在查看 IoTivity 和 AllJoyn 以及各种零配置协议的一些文档。据我了解,这些事情更关心的是暴露的服务,而不是设备到底是什么。

我误解了这个吗?有没有办法绘制出本地网络并确切地知道每个设备是什么?

4

3 回答 3

2

AllJoyn 提供About Announcement服务,您可以通过该服务获得您要查找的内容:

  • 应用程序和设备友好名称
  • 品牌、型号、版本、说明
  • 支持的语言
  • 应用程序图标
  • 支持的对象和接口
  • ...
于 2015-07-02T18:13:22.473 回答
0

首先查看 DPWS(Web 服务的设备配置文件)。这是我们服务标准(例如,WSDL 或 SOAP)的一个子集,允许与在嵌入式设备上运行的 Web 服务进行最少的交互。通常,使用此类服务​​时交换的消息包含元数据,可以通知您:

  1. 范围 - 用于根据组进行组织的属性(例如,位置)
  2. 型号和设备 - 有关设备的信息(例如,制造商)
  3. 类型 - 设备可以发送的消息(例如,关闭)

要使用这些设备,您需要一个为这些设备提供某种抽象的控制层。该层称为中间件。我建议你看看 SOCRADES。这是一个欧盟项目,我相信他们的源代码应该可以在他们的专用网站上找到。

我提到 SOCRADES 是因为它具有可以强制网络安装的功能。可以使用它们的 DPWS 配置文件在这些设备上安装新服务,并假设它们具有一些通信和计算能力。

其他中间件的例子有:OpenIot、Choreos、Ubiware 等。所有这些中间件都是开源的。现在,您可以在这些中间件之上构建您的应用程序。这就是您想要对设备执行的操作。

于 2015-07-02T23:09:28.963 回答
0

uPnP 是当今相当普遍的协议,并在相当多的设备(即打印机)中实现。这也用于一些现代物联网项目。它还支持设备描述。看一个例子:

<?xml version='1.0'?>
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11">
<specVersion>
   <major>1</major>
   <minor>0</minor>
 </specVersion>
<device>  
    <pnpx:X_deviceCategory>MediaDevices</pnpx:X_deviceCategory>
    <deviceType>urn:schemas-microsoft-com:device:MediaCenterExtenderMFD:1</deviceType>
    <friendlyName>Xbox 360 Media Center Extender</friendlyName>
    <manufacturer>Microsoft Corporation</manufacturer>
    <manufacturerURL>http://www.xbox.com/</manufacturerURL>
    <modelDescription>Xbox 360 Media Center Extender</modelDescription>
    <modelName>Xbox 360</modelName>
    <modelNumber></modelNumber>
    <modelURL>http://go.microsoft.com/fwlink/?LinkID=53081</modelURL>
    <serialNumber></serialNumber>
    <UDN>uuid:10000000-0000-0000-0200-00125A702E78</UDN>
    <UPC></UPC>
    <iconList>
        ...
    </iconList>
    <serviceList>
         ...
    </serviceList>
</device>
</root>
于 2015-10-05T02:33:11.593 回答