我想尽可能多地发现有关网络上物联网设备的信息。我见过代码来枚举设备,找到IP地址和MAC地址,但我还能找到什么?特别是,我想知道有些东西是灯,更重要的是,制造商是什么。
我一直在查看IoTivity和AllJoyn的一些文档以及各种零配置协议。据我所知,这些事情更关注的是暴露的服务,而不是设备的确切含义。
我误解了吗?是否有某种方法来映射本地网络并确切知道每个设备是什么?
答案 0 :(得分:2)
AllJoyn提供About Announcement服务,您可以通过该服务获得所需内容:
答案 1 :(得分:0)
首先查看DPWS(Web服务的设备配置文件)。这是我们的服务标准(例如,WSDL或SOAP)的子集,其允许与在嵌入式设备上运行的web服务的最小交互。通常,使用此类服务时交换的消息包含可以通知您的元数据:
要使用这些设备,您需要一个控制层,为这些设备提供某种抽象。该层称为中间件。我建议你看看SOCRADES。这是一个欧盟项目,我相信他们的源代码应该在他们的专用网站上提供。
我提到SOCRADES因为它有一个可以强制网络安装的功能。可以使用它们的DPWS配置文件在这些设备上安装新服务,并假设它们具有一些通信和计算功能。
中间件的其他例子有:OpenIot,Choreos,Ubiware等。提到的所有这些中间件都是开源的。现在,在这些中间件之上,您可以构建应用程序。这就是你想要对设备做什么。
答案 2 :(得分:0)
<?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>