上一篇文章提到了调用“物联网透传工具”的接口,在项目中解决了读取传感器的需求,而这只是该工具最初级的功能。在之后的一个项目中其需求远远不止读取传感器显示几个数据这么简单,下面简单说说这个项目的需求。
该项目是一个智慧工厂项目,其所有生产线的传感器加起来有2千个左右。甲方要求实时检测这2千个传感器的数值,只要在阈值范围外就立刻报警。
利用“物联网透传工具”解决这个问题有两种办法:
一、部署多个“服务端+终端”组合。理论上一个服务端可以对任意多个终端下达指令并获取结果,但实际上适配多少个终端取决于实时性需求,也取决于传感器反馈的速度。到底适配多少个终端、连接多少个传感器是需要实地测试的。经过项目现场的测试最后的结论是一个服务端连接10个终端,每个终端读取50个传感器,这样一共部署4台服务器即可。如果觉得终端太多可以采用树莓派,能够大大降低成本。
二、利用“物联网透传工具”的边缘计算功能。之所以称为透传是因为客户通过该工具下发指令,然后通过该工具获取结果。因为每一条指令都需要这样的执行顺序,所以对于密集读取传感器数据的需求来说这种透传效率低下。“物联网透传工具”的边缘计算功能之一是将指令、对结果的分析原则、触发条件等信息下达到终端,让终端循环执行该指令,每次执行后获取传感器的反馈结果,根据分析原则就地分解反馈结果,然后根据触发条件判断是否符合条件,符合则上报到服务器,不符合继续循环执行。换句话说就是将服务端该执行的判断逻辑下移到终端来执行。一个树莓派的算力肯定比不上服务器,但是多个就不一样了。利用这个功能就不再需要多台服务器,只需要1台足够。
最终,我们在项目中选择的是第二种办法。