论文部分内容阅读
自从温家宝总理在江苏无锡提出“感知中国”的概念近十年以来,物联网技术在中国社会得到快速发展,并且带动了相关行业如大数据、云计算等的发展。物联网的发展在给人们的生产和生活带来了诸多的便利的同时,在物联网系统开发过程中,往往面临这样的问题:提高系统的通用性,减少重复性开发工作,使其可以适应不同的应用场景。本文针对目前存在的这种情况,研究分析当下物联网主流的通信协议与通信框架,设计并实现了一种具备一定应用场景通用性的物联网系统。根据物联网的三层架构,本文将系统分为设备端、服务器端和用户端三个层次。其中,设备端作为物联网系统的最前端,发送数据和接受指令是其两大基本功能。为了支持不同类型的设备,本文设计了一个通用的设备接口,通过该接口不同设备可以方便地接入系统,实现了设备端与服务器端的解耦。基于Monodevelop开发工具和C#语言,在服务器端设计了中间件程序,实现了通用设备接口以及设备管理、用户注册、用户管理、日志管理、权限管理等物联网系统常用的基本功能,在服务器端就实现了任意类型设备的识别和接入。在通信方式上采用了MQTT协议,选取了Mosquitto代理服务器部署在服务器端,在设备端和用户端上运行MQTT客户端,实现了设备数据的发送以及用户控制命令的下发。本文基于WPF技术开发了一个场景可配置式的并且具备一定通用性的用户操作界面,通过该软件界面用户可以自定义使用场景,减少了应用层软件的重复开发工作,加强了系统的通用性能。同时,本文结合WPF动态数据绑定这一核心技术,开发了丰富的用户控件库,用户可以通过从库中选取控件,然后自定义绑定控件和设备的属性,实现了设备属性的直观显示和控制。最后结合智能家居应用,在树莓派3上部署服务器端程序,设备端包括Zigbee节点、蓝牙节点以及视频监控节点等常用设备,并通过通用设备接口接入系统中,实际运行测试表明系统运行正常可靠,达到设计目标。