出品 | CSDN(ID:CSDNnews)
以下为译文:
当今,物联 面临的最大难题是如下的三大技术挑战:
-
规模大;
-
功耗低;
-
难以控制的无线通信。
在存在大量设备的情况下,即使是正常情况下不太可能发生的问题,也有可能发生。
轻量级崩溃 告
软件都有可能崩溃,尤其是在开发过程中。当软件崩溃时,崩溃 告可以帮助开发人员了解代码崩溃的位置和原因。对于低功耗物联 设备,想要在其上存储和传输完全崩溃时保存的内存数据,几乎不太可能。
在Thingsquare,我们使用一种轻量级技术从设备处收集崩溃 告:
-
对于上传到设备的每个构建好的代码,ELF二进制文件都会被存储适当的地方,并用该构建的git commit ID打上标记。
-
如果设备崩溃,崩溃时的程序计数器(亦即指令地址寄存器)将会存储在非易失性存储器中。
-
当设备在崩溃后重新启动时,发生崩溃时的代码commit ID和程序计数器会 告给后台。
这使得构建一个包含导致崩溃的内存地址和崩溃发生时的特定代码版本的数据库成为可能。有了这个数据库,开发人员就可以很方便地调查并确定导致崩溃的原因,然后解决问题。
回归测试
回归测试是一种标准的软件开发技术,可以确保软件在开发过程中不会崩溃。
物联 平台由许多类型的组件(从后端软件到无线设备)组成。要执行回归测试,每个组件都需要进行各自的测试,同时也需要作为一个整体进行测试。
在Thingsquare,我们使用模拟器对系统所做的每一个更改执行全平台回归测试。在回归测试通过之后,我们再在测试床上测试系统。回归测试套件旨在捕获致命的错误,而这些错误可能会导致测试台无法工作。
功耗:很低很低!
物联 可能功能强大,但几乎没有什么设备像物联 设备那样功耗低!
物联 设备通常是无线设备,它们需要依靠普通电池或太阳能电池上提供电力来运行。这些电池提供的电力很弱,非常弱。功耗通常必须不高于电池的自发放电,将功耗降低到如此低水平既是一门科学,也是一门艺术。科学之处在于如何通过使用软件或硬件来测量和了解功耗。而艺术这处则在于了解如何充分利用此信息。
功耗既是硬件问题,也是软件问题。硬件需要进行正确的调校,并支持尽可能多地关闭组件。而软件赐需要知道关闭什么,何时关闭以及何时可以安全地这样做。
在物联 中,最棘手的部分通常是无线通信。无线电传送会消耗大量电能,但它至关重要,因此不能盲目关闭。无线电波在接收时消耗的功率与发送时消耗的功率相同。随着 络规模的扩大,这一点变得越来越重要。
在Thingsquare平台中,我们使用多种技术来解决功耗问题:
-
基于硬件的功耗测量:我们使用很棒的工具来测量硬件的功耗。
-
基于软件的功耗测量:每个节点都会跟踪功率消耗并定期 告。
-
寿命估算:基于测得的功耗数据,我们可以估算每个设备的寿命。
-
具有异常检测功能的功耗跟踪:在大型系统中,我们使用异常检测功能来查看是否有任何设备使用的功耗超出预期。
基于硬件的功耗测量
第一步是确定原始硬件的功耗。最好的方法之一就是使用一种叫做Otii的装置。我们不仅需要查找硬件中可能导致功耗增加的错误,而且还要确定硬件各个组件所消耗的基准功耗。
然而,测量一台设备的功耗并不能让我们看到整个 络的功耗。因此,我们需要进行持续的测量。
基于软件的功耗测量
基于软件的功耗测量让我们能够连续跟踪每个设备的功耗。
因为软件可以完全控制硬件,所以我们只需要测量每个组件打开的时间就可以很好地估算总功耗。每个设备都会定期 告此数据。
寿命估算
因为我们现在可以跟踪每个设备的功耗,所以我们可以使用它来估算每个设备的寿命。
一旦我们找到了一个有问题的设备,我们就可以深入了解细节,并查看历史功耗。我们发现,在几个时间尺度上对功耗进行平均可以提供有用的信息:一小时的功耗平均值有助于发现在一天中重复出现的问题,而24小时的平均值则有助于发现每周重复出现的问题。
无线通信:难以控制
很多物联 都使用无线 络。而无线通讯难以控制。
理解无线通信的一种方法是把它想象成光一样:它会反射并以意想不到的方式被遮挡。无线覆盖可能在一个地方很好,但仅仅一步之遥就不行了。就像灯发出的光,即使在靠近灯的地方也可能被遮住一样。
如果有东西挡在无线信 传输的路上,无线信 传输可能就会阻塞。许多物联 解决方案部署的位置不可避免地会有物体移动。如果某个大的物体正好在通信路径上移动,那么该通信路径可能会被堵塞。
无线通信也受到其他无线通信的严重影响。不同的频率有不同的干扰量。2.4 GHz频段,包括了WiFi和蓝牙信 ,是一个特别难进入的频段。这就是为什么许多设备使用其他频段(如亚GHz频段)进行通信。
在Thingsquare系统中,我们采取以下措施来应对这些挑战:
-
状联 :我们使用IPv6 状组 技术来绕过障碍物。
-
跳频技术:我们使用跳频技术来避免无线干扰。
状组 技术
状组 技术是这样的一种技术:一个设备通过重复发送来自其他设备的消息,来帮助其他设备达到更远的距离。
这种技术并不要求每个设备都在接入点的范围之内,它允许设备伸展到更大的区域。同时它还允许 络自动绕过障碍物。
Thingsquare平台使用支持RPL 格路由协议的IPv6组 技术。所有节点都会不断地测量到其邻居接点的连接质量,如果发现质量更好的链接,则可以重新排列路由图。
格的形成和维护过程是完全自动化的。因此,只需将扩展器放入 络,就可以将 络扩展出去。
跳频技术
跳频技术是一种可以避免在一个特定的无线信道上花费太多时间的方法。这是必需的,因为该信道可能被其他通信所占用。对于某些频率范围,跳频是一项监管要求,不能正确切换频道的设备将被禁止部署。
Thingsquare平台采用跳频技术,它既符合监管要求,又能在同一位置支持多个 络。每个 络都有自己的跃点调度,这使得 络之间的干扰尽可能少。独立的 络需要不同的安全密钥,但是保持通信频率的独立使系统更加高效。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!