关键词:物联网;云计算;开源软件;开源硬件
引言
随着物联网技术的发展和应用不断深入,智能感知节点(Intelligent Sensing Nodes,ISN)应用范围和数量不断攀升,其性能、功耗等要求越来越高。为提高ISN的续航能力,必须对其进行低功耗软硬件划分(Low Power Consumption Hardware andSoftware Partitioning,LPHSP)。在ISN设计和研发过程中,软硬件划分属于顶层规划与设计范畴,因此,对ISN进行低功耗软硬件划分是其设计和研发过程的最高层次低功耗的抽象,使其能耗达到最优化。低功耗软硬件划分对ISN至关重要,且有利于降低节点能耗,提高续航能力。
1敏捷软件设计方法
在物联网的设计过程中,软件开发是非常重要的一环,本文提到的软件开发就是一种柔性软件设计方法。敏捷软件设计就是一种新型软件设计方法,它具有应对快速变化的需求的一种软件适应能力。它更强调程序员团队与业务专家之间的紧密协作、面对面的沟通,频繁交付新的软件版本、紧凑而自我组织型的团队、能够很好地适应需求变化的代码编写和团队组织方法,也更注重软件开发中人的作用。敏捷软件设计方法主要有极限编程思想和测试驱动开发,所谓极限编程就是如果代码评审是好的,那么就朝这个方向走,如果测试是好的,那么就应该进行测试,这种软件强调需求不是事先设计好的,而是通过用户反馈总结出来的,通过客户的多次反馈,不断的总结和提炼需求,即使到软件测试验收阶段,也随时可能更改需求进行软件开发迭代。显然,这种柔性管理与设计无疑对物联网系统设计是非常重要的。另外,极限软件设计方法还包括测试驱动开发,所谓测试驱动开发就是指重构代码,消除重复设计,优化设计结构,它是一种不同于传统软件开发过程的新型开发方法。
2相关技术
2.1物联网终端
物联网终端包含传感器、控制器和执行器。各类传感器负责采集数据,将数据传输给控制器,控制器通过网络将数据传输给物联网服务平台。物联网服务平台对采集的数据进行分析处理,通过网络发出控制指令给物联网终端的控制器,控制器通过执行器完成指令动作。火灾监控中,传感器选用温湿度传感器、烟雾传感器、麦克风和摄像头,执行器选择灭火器。常用的开源控制器主要有Arduino及树莓派。Arduino平台是非常方便的开源硬件平台,其硬件原理图、电路图、IDE及核心库文件都是开源的。Arduino是一个微型控制器平台,可以用类C的语言进行编程。温湿度、烟雾等传感器通过串口与Arduino相连,Arduino将传感器的数据转发到物联网服务平台,并接收物联网服务平台发出的指令,通过执行器完成指令。音视频直播对硬件要求较高,Arduino无法胜任。树莓派有一个完整的ARM处理器,性能更强。树莓派是为了帮助年轻人学习编程而设计的只有信用卡大小的电脑。树莓派通常采用一种叫Raspbian的Linux系统。在Raspbian环境下,可以利用Python、C、C++、Java或汇编语言进行编程。在树莓派上安装开源直播软件OBS,可以完成音视频数据的编码并利用RTMP协议推送至腾讯云直播服务接口。
期刊文章分类查询,尽在期刊图书馆
2.2智能感知节点约束模型
感知层作为物联网的最底层,由多种不同类型的感知设备、感知节点构成,这些设备大多为智能型设备,能够完成感知、处理和传输任务,故可抽象为ISN,其功能需求可用任务流程图法来描述。任务流程图法是依据待完成目标对象的要求及其主要过程,采用图表进行分析和选择实现目标所需的实际线路,描述实现顺序和过程的一种计划管理方法。
2.3物联网设计的软硬件协调条件约束
扫描识别模块主要由将二维码以图像形式摄取后,将条码信息进行解码还原为原始的二进制数据流。在这个过程中需要微控制模块控制及时的采集二维码图像,并调用二维码相对应的解码算法,将经过分析之后的二维码图像信息解码为原始数据。这个数据源将是系统以后进行相关数据处理的重要数据,为此需要及时的将其保存起来。液晶显示模块主要是接收系统发给它的数据并及时的以数字、字母或者汉字的形式显示出来。微控制模块首先控制该模块显示一个友好的窗口界面给用户并等待显示条码信息,一旦微控制模块将经解码后的二维码数据送到液晶显示模块,条码信息就立刻被显示出来,并且每显示完十条信息液晶屏将会清屏一次。
2.4物联网服务平台
物联网服务平台是物联网的大脑,分为服务层和应用层。服务层主要负责物联网终端设备的接入,直播服务,存储和分析采集到的数据;在服务层提供的基础功能之上,应用层实现具体的业务。构建物联网服务平台,一般需要购置服务器、存储设备、交换机、防火墙、IPS、WAF等,需要建设服务器机房,这对创业公司是不小的负担。借助于云计算技术,利用云服务平台的服务器及音视频直播服务,不仅可以得到专业的技术支持,也可以降低成本。
3实验与仿真
物联网智能感知节点的硬件划分目标是搜索功能分配到软硬件模块,使得其设计不仅满足能耗有限性的需求,还要满足执行时间、可靠性、可用性、面积、体积和重量等的限制,并在这些约束下使其指标达到最优.因此,采用先进Pareto优化算法(AdvancedPa-retoOptimizationAlgorithm,APOA)实现对模型NHSPM的优化.对模型NHSPM进行代与代之间维持由潜在解组成的种群来实现全局搜索,得到多目标优化的Pareto最优解集,即为模型NHSPM的最优解.首先,对所有候选库所进行Pareto排序,并在能耗、可靠性、可用性、执行时间和成本等约束下,对库所进行调度,估算成本和功耗等且用Pareto排序;然后计算个体的适应度值,进行选择与交叉,同时进行变异运算;再进行父代与子代的混合,得到新的种群,依据等级和适应度值取前50%作为下一代种群,而重新启动优化;最后输出当前选中的种群,即为Pareto最优解.
结语
本文借助于腾讯云服务器、直播服务及短信服务,Mosquit?to、Paho及Django等开源软件,Arduino及树莓派等开源硬件,设计并实现了物联网系统,完成对火灾的监控,降低了物联网开发的技术难度,压缩了成本,有利于创业公司进行物联网技术开发。本文的传感器数据在传输过程中没有加密,将来可以对数据进行加密传输,采用时序数据库来存储传感器数据,并利用人工智能对采集到的数据进行分析,提升物联网应用水平。
参考文献
[1]施金磊,高谷刚.基于LoRa技术的家庭物联网安防系统设计[J].电子技术与软件工程,2017,10:218-220.
[2]安翔.物联网Python开发实践[M].北京:电子工业出版社,2018.
论文作者:汪鑫
论文发表刊物:《科学与技术》2019年19期
论文发表时间:2020/4/28
标签:软件论文; 开源论文; 数据论文; 服务平台论文; 传感器论文; 软硬件论文; 控制器论文; 《科学与技术》2019年19期论文;