论文部分内容阅读
近年来,物联网技术快速发展,广泛应用在了人们的生产生活当中。物联网技术的发展带来了两个问题:一是随着新的设备类型、操作系统的出现,物联网设备的异构性越来越强;二是物联网应用越来越复杂,一个物联网应用往往包含了多个异构的物联网设备。在传统的物联网应用开发与测试流程中,开发者需要选择并购买需要的设备,然后,针对特定的物联网设备,安装对应的设备驱动,配置相应的开发环境,才能进行应用的开发。完成应用的开发后,开发者需要将设备部署到实际的应用环境中,实现对应用的测试,并根据测试结果对应用进行改进。随着物联网设备异构性与应用复杂性的增加,上述开发流程在一定程度上增加了物联网应用开发的难度,降低了开发者的开发效率。为了解决物联网应用开发与测试过程中的痛点,本文设计了基于异构设备的分布式远程物联网开发测试平台:LinkLab。LinkLab平台采用分布式架构,支持多种异构设备的接入,实现了云端编译、远程烧写、分布式部署等多种功能,覆盖了“编译-烧写-测试-优化”的物联网应用全链路开发流程。基于LinkLab平台,开发者无需在本地配置开发环境,代码编写、应用编译、设备烧写与应用测试均在云端完成,简化了物联网应用的开发与测试流程。本文主要贡献包括如下四个部分:(1)本文提出了一种支持异构节点的分布式远程物联网实验平台架构,基于该架构,可以方便地实现异构物联网设备的部署与扩展。目前,系统已支持7种物联网设备的接入。(2)本文提出了一种基于多用户缓存的物联网应用在线编译方法,通过缓存多用户的编译中间结果,降低应用编译时间。实验表明,基于该方法,可以将平均编译时间降低68.9%。(3)本文提出了一种细粒度的设备分配算法。基于该设备分配算法,可以降低任务与任务之间无线信号的互相影响。仿真结果表明,该算法可以在保证设备数据包接收率的同时,将任务等待时间降低64.0%。(4)本文实现并部署了可用的系统,并将系统应用在本科生教学实验中。实验结果表明,基于LinkLab平台,物联网初学者完成一个物联网应用开发与测试所需的平均时间仅为1.05小时。在上述贡献的基础上,本文实现了LinkLab远程物联网开发测试平台。该平台支持4种应用的编译,使用18个树莓派和1个桌面计算机作为设备管理客户端,接入了166个远程物联网设备。实验结果表明,该平台支持多种异构设备的接入,提供了物联网应用的远程开发与测试功能,降低了物联网应用的开发难度。