IoT云服务连接性的方式
物联网(IoT)的开发者可以选择很多方法来创建与物联网云服务的连接,每一个都有不同的优劣权衡。 怎么知道哪个选择是较好的呢?
将物联网连接到云服务时,最快最简单的方法就是使用一个全功能的物联网软件代理,就像那些物联网平台供应商提供的那样。产品代理被集成到无线物联网模块硬件中,代表了黑箱方法。 物联网云连接的另一种简单方法是使用由亚马逊AWS、微软Azure等IoT平台提供的SDK,这就是白箱方法。
然而,还有一种灰箱方法,就是使用便携式IoT软件代理。便携式代理就像一个强大的 SDK,具有模块化的选项,提供各种物联网的连接能力。
下面介绍一下黑箱、白箱和灰箱的连接性运行情况。
产品级代理: IoT云服务连接性的黑箱方法
产品级的IoT软件代理对一个具体的无线物联网模块硬件模型进行了预配置。IoT模块,有时也被称为无线芯片,提供了基本的通信电路,使连接的产品能够使用Wi-Fi、蜂窝或蓝牙等无线协议发送和接收数据。
产品级代理为处理物联网产品连接到特定IoT云服务的各种细节提供了广泛的功能集,例如消息处理、调度、OTA更新、用户注册和故障排除等。但是它们代表了一种黑箱方法,因为所有这些内置的能力基本上是不可见或不可触及的。
黑箱方法的优点
物联网产品的开发者不必担心需要掌握物联网云连接所需要的所有工程技能和专业知识, 特别是对于IoT新生产商和制造他们的第一个连接性产品,产品级代理可以显著加速上市时间。连接性的产品制造商可以降低他们的IoT开发成本,以及相关的风险和难题。
黑箱方法的缺点:
由于产品级代理面向特定物联网云的访问与特定模块的硬件,产品代理软件和模块硬件是一个整体方案包。想要连接到特定IoT云服务的开发者不能自主选择一个IoT模块,因为它还没有经过测试和认证,不能一起工作。这个过程可能要花费几个月的时间。使用产品级代理的方法要求制造商购买一个额外的微控制器,将他们的物联网应用程序加载到它上面,并对微控制器进行编程,以便与无线模块对话。 这项要求增加了BOM费用。产品级代理在本质上是一个封闭的系统,经验丰富的开发者可能会因为物联网云服务连接选项缺乏灵活性而感到不爽。
SDK: IoT云服务连接性的白箱方法
SDK只提供通过底层和标准化协议进行通信的通用库。IoT产品的制造商通过这些标准化协议建立了他们自己的消息和数据模型,包括 MQTT,CoAP 和 HTTP等。
SDK代表了一个白箱方法,因为它们可以被开发者调整和定制。事实上,SDK要求物联网产品制造商承担了IoT中的大部分任务。
白箱方法的优点:
连接性产品的制造商在决定在物联网云连接中包含什么功能以及如何实现这些功能方面有着较大的灵活性。他们可以选择使用任何无线物联网模块,基于价格或最适合其产品特性或设计目标的功能。如果不需要购买额外的微控制器来配合无线模块一起使用的话,制造商可以比使用产品级代理降低 BOM 成本。
白箱方法的缺点:
需要足够的内部工程团队和IoT专家来处理发展、测试、实现和支持 IoT 云连接的所有复杂细节,同时还要确保云连接与物联网解决方案的其他端到端需求进行无缝互动。所有的物联网云连接工程和内部测试增加了制造商的风险。DIY可能会延长开发时间,提高物联网项目的成本,除非内部团队对IoT项目非常熟悉。
便携式代理: IoT云服务连接的灰箱方法
便携式IoT软件代理是将设备连接到物联网云的一种新方法。便携式代理可以从任何蜂窝或 Wi-Fi模块连接到特定的IoT云服务。它除了SDK提供的底层连接外,还管理了物联网云连接的连通性、可靠性和安全性。
便携式代理把驱动程序或特定于连接性的协议栈从在无线模块层面解耦出来。在架构上,便携式代理通过两个抽象层进行交互: 顶部的应用层和下面的物联网平台适配层。
应用层包括由IoT云服务提供商提供的一组接口API,用于将主机应用程序与便携式代理进行集成。适配层与底层物联网云平台交互,封装了底层接口和平台依赖代码,并将其转换为由物联网平台提供商指定的IoT云服务API。这些适配层API与便携式代理一起集成了一个基于平台的实用工具库。
便携式代理有一个模块化的设计,允许添加物联网组件,例如,调度器,OTA更新,Wi-Fi 设置等。同样在模块化的基础上,便携式代理也可以提供各种联网设备的设置和由物联网云平台提供商提供的用户注册机制。
便携式代理是一种灰箱方法,功能介于SDK和产品级代理的能力之间。
灰箱方法的优点
便携式代理将SDK的灵活性与生产级代理的一些已经成熟的品质结合了起来。它们包括针对应用程序和适应层的严格测试套件,以帮助确保组件和端到端级别物联网功能的稳定。
便携式代理可以通过允许制造商跳过漫长昂贵的测试和认证流程,将物联网云平台与特定的无线模块配对,从而大大缩短了产品进入市场所需的时间。
由于它们不再局限于一个经认证的蜂窝或 Wi-Fi 模块列表,所以制造商可以使用便携式代理方法,即使IoT模块没有经过所选物联网云服务的认证,仍然可以与任何无线模块供应商谈判来节省成本。与产品级代理相比,便携式代理商不需要购买单独的微控制器来降低BOM的成本。
与此同时,便携式代理商比SDK方式提供了更多的物联网连接。无线模块制造商可以使用便携式代理设计和提供一个更多样化的模块,为更广泛的客户更方便地创造物联网产品,也可以将特定物联网云服务的支持作为其无线模块产品营销的一个差异化特性。
灰盒方法的缺点:
使用便携式代理的制造商需要做更多的开发工作,而不像产品级代理那样来建立物联网。因此,便携式代理需要相对高水平的内部专门知识来开发和定制产品的各个方面。便携式代理只在特定的IoT云平台上工作,所以在物联网设计选择方面,它们比sdk提供的灵活性要小。
什么是理想的选择?
黑箱,白箱,灰箱,哪种才是IoT云服务连接的理想方法呢? 这取决于设计目标,对物联网产品的经验水平,需要多快地进入市场,预算,BOM目标,以及计划为物联网产品制造多少量。
如果缺乏强大的内部物联网产品专业团队,产品级代理可以快速且风险较小地进入市场。 如果有一个庞大且稳定的物联网资深团队,SDK提供了最终的灵活性,可以帮助节省BOM的成本。
如果对物联网产品开发能力已经达到了一定的信心,或者如果想用不同的无线模块对现有产品进行改造,便携式代理是一个吸引人的选择。使用便携式代理,可以获得SDK方式的大部分灵活性以及一些产品级代理的质量保证,还可以跳过等待最佳无线模块商用的时间、费用和麻烦,这样设计才能获得物联网云平台的认证。