某些IoT云服务供应商一直在提及在基于传感器的边缘设备上安装嵌入式代理。它似乎是专有软件,供应商将其安装在连接到云的每台设备上。下面是两个包含代理的软件堆栈图像。软件堆栈的一部分位于微控制器中。
这里的解释也很广泛Thingworx博客
代理是在IoT设备上或附近运行的嵌入式程序,并且
报告某些资产或环境的状态。物联网应用程序中始终存在一些
代理。通常,代理会从传感器或与资产的本地连接中读取状态,对发件人必须多久汇总一次信息应用一些规则或逻辑,然后通过网络发送信息。与服务器的长途通信网络。此过程也可以反向进行。这些嵌入式代理是否具有提供连接性之外的其他功能?
参考文献:
Top 49物联网工具
物联网“智能”产品需要智能战略
物联网解决方案的基础要素,边缘,云和应用程序开发
物联网中嵌入式系统的新生活
物联网的边缘
#1 楼
一般来说,代理是一个“双向”软件。即,它从设备读取参数,并将其传达给云甚至网关。 OEM通常会控制库,以开发软件来控制设备的参数。鉴于OEM可以选择任何流行的通信协议(MQTT,HTTP等)来发布读取的值。通常,这两者的集成是System Integrator进入的空间。例如,代理可以在Windows桌面上运行,以每5秒读取一次风扇的转速。然后,该值通过约定的协议传递到云平台。来自Paho MQTT(Python)网站的示例代码:
mqttc.connect("iot.eclipse.org")
mqttc.loop_start()
while True:
temperature = sensor.blocking_read()
mqttc.publish("paho/temperature", temperature)
上面的代码片段大致是一个代理,因为在功能中存在以函数
sensor.blocking_read()
形式的“ from device”部分和“ to cloud”部分mqttc.publish()
的形式。高级代理将具有处理脱机存储,对与云的通信的TLS支持,优雅地响应来自云的任何更新(包括重新启动,如果需要)等的机制,等等。在此问题的特定情况下,代理也将处理功率约束。例如,响应设备级别的触发,例如睡眠,唤醒等。
评论
这是双向的有趣定义。如果仅读取和报告,则不会将其称为双向传感器。我想说它必须能够接收至少一种双向消息。读取风扇速度是其存在的内在理由,而不是沟通。
– Helmar♦
16年7月7日在7:05
我不明白您在这里使用“双向”。代理是代表服务器运行的设备上的软件(在此情况下)。它不一定与服务器通信(尽管这是一个非常常见的用例)。例如,它可能仅用于设置配置参数或下载更新。
–吉尔斯'所以-不再是邪恶的'
17年2月1日在22:26
评论
请给我一下物联网架构的参考(第二张图片)?谢谢