美章网 资料文库 互联网的物联通信技术探讨范文

互联网的物联通信技术探讨范文

本站小编为你精心准备了互联网的物联通信技术探讨参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

互联网的物联通信技术探讨

1关于服务器的通信方式

基于对上述平台的了解和学习,笔者认为各个物联网平台的服务器,主要基于网络地址的转换策略,当然优秀平台还采用了数据并发、海量存储、信息安全等技术。本文的服务器,主要采用TCP和HTTP传输控制协议。中控与服务器之间采用TCP协议,主要考虑该协议的超时重发,数据检验,流量控制、传输稳定可靠等优势,可以保证数据能从一端传到另一端。后期若涉及到音视频或大容量数据传输,可以进一步扩展到UDP协议。安卓客户端与服务器之间,采用HTTP通信协议,优势是:支持服务器/客户模式、协议简单灵活、通信速度快等优势。服务器、中控、客户端的逻辑关系如图1所示。服务器采用java的框架技术,采用TCP、HTTP内网穿透方式,保障通信双方在私网内,仍实现设备间的远程连接和控制,有效避免设备入网做端口映射。穿透过程是:中控和客户端,分别与服务器建立连接,服务器记录两端的IP和端口号;服务器分别向两端发送对方的地址信息;双方异步调用Socket套接字,连接对方的实际地址;同时,双方在各自本地端口监听对方发送的信息。由于双方都向对方发送了连接请求(假设各自的SYN封包已经通过了本地NAT),因此在对方连接请求到达本地监听端口时,内网路由器会认为该请求是前面连接会话的一部分,默认通过。本地监听端口就会用SYN-ACK响应,同意对方的连接。至此,中控与客户端之间,借助服务器穿透NAT,实现远程通信。

2服务器内部逻辑关系

服务器除了负责设备间的地址映射外,还需要建立数据库,确立通信双方的逻辑关系,以满足多用户、多任务、多设备的并发操作。其中,包括中控系统内部的设备ID、类型、数量、状态、控制命令、模式管理等;包括安卓客户端的账户管理、权限管理、设备状态管理等。数据库结构如图2所示。具体过程是:中控系统首次访问服务器时,服务器端获取中控的IP地址和端口;根据中控系统内的各种模块ID号和类型,服务器端分类建库,为客户端功能模块的页面推送,以及反向链接控制做好准备。客户端联网后,根据服务器提供的中控账号,输入登陆密码,开始接受由服务器推送的客户端功能界面。

3安卓客户端

3.1安卓平台的介绍安卓由Google于2007年推出,是一个基于Linux操作系统的开放平台。该平台允许任何移动终端厂商加入到Android联盟中来,资源开放吸引了大量的开发者,随着用户和应用程序的日益丰富,Android平台日趋成熟,已跃居全球最受欢迎的智能终端平台。Android平台的架构分为五个部分:Linux内核、库、Android运行环境、应用程序框架、应用程序,具体如下:(1)Linux内核:核心服务(包括硬件驱动程序、进程和内存管理、安全、网络和电源管理)由Linux内核处理,内核在硬件和软件栈的其他部分之间提供了一层抽象。(2)库:库运行在内核之上,包含了各种C/C++核心库,提供管理显示的外观管理器;包含SGL和OpenGL的图形库;本地数据库支持的SQLite;集成了Web浏览器和Internet安全的SSL和WebKit。(3)运行环境:Android运行时包含了核心库和Dalvik虚拟机,是面向应用程序提供动力的引擎,它和库一起形成应用程序框架的基础。核心库提供了Java中间件,以及Android特定库可用的大部分功能。Dalvik是一个基于寄存器的虚拟机,可以保证一个设备高效地同步运行多个实例。(4)应用程序框架:该框架提供了用来创建Android应用程序的类,它还对硬件访问和对用户界面及应用程序资源的管理提供了一般抽象。(5)应用程序:所有应用程序,包括本地的和第三方的,都使用相同的库来构建在应用层之上。

3.2客户端功能本方案中,安卓客户端采用C/S结构,支持中控的无线入网。具体流程是:同在一个网内的中控工作模式为AP热点,安卓客户端采用组播Socket搜索中控AP。安卓客户端登陆中控web界面,设置中控工作模式为STA站点,并输入中控挂载的无线路游器账号和密码。中控获取内网动态IP后,开始向服务器发送socket请求。同时,安卓客户端在协助中控的站点模式切换过程中,获取中控ID号;向服务器发起首次http连接,服务器接收的套接字中包含中控ID,参照服务器数据库的中控ID,为客户端匹配对应的中控,向两端发送对方的IP及端口;服务器进一步根据中控系统的设备库,向客户端推送对应的功能界面,功能示意图如图3。客户端主要的组成模块:(1)通讯模块:负责与服务器建立通讯。采用多线程技术,通过创建三个线程来进行处理。一个线程负责消息的发送,一个线程负责消息的接收,一个线程负责心跳信息。(2)解析模块:主要用来解析XML数据流,根据解析元素的不同类型封装成不同的数据对象。(3)加解密模块:负责对发送的消息进行加密,对收到的消息进行解密,以确保通讯数据安全。(4)数据模块:该模块中定义了整个客户端中大部分的数据类型和对象。(5)应用模块:该模块是客户端和用户交流的接口,包括数据显示、状态控制、端口配置等。

4硬件系统

4.1核心模块功能中控硬件电路采用模块化设计思想,主要包括STM32核心处理模块、WIFI模块、Zigbee模块、电源模块等。其中,STM32是一款低功耗、低成本、高性能、高集成度,并具有工业级温度范围和性能的微处理器;基于Ucos微处理器,运算处理高达速度72MHZ,外设资源丰富;中控系统负责内、外网之间的数据收发。STM32功能示意图如4所示。其中,外网通信采用型号为USR-WIFI232-L的Wifi模块。该模块集成了MAC,基频芯片,射频收发单元,以及功率放大器。内部固件支持TCP/IP协议栈,通过该芯片,低速设备均可以方便的接入无线网络,实现联网络控制与管理;其次,该模块针对低流量、低频率的网络数据传输有很大优势。该模块尺寸小,采用表贴封装,可内嵌在PCB单板电路上。其次,内网数据的收发采用Zigbee方式通信。本系统采用的模块型号是DRF1605H,主要采用CC2530芯片,低成本、低功耗、宽电压、工作频率2.4GHz、基于IEEE802.15.4协议开发,支持Zigbee2007Pro协议栈,广泛应用在工业控制的无线传输领域。

4.2软件层次中控软件层次结构分为:驱动层、通信层、应用层。其中,驱动层包括FWLib和BSP。FWLib是ST公司推出的驱动支持软件,提供系统初始化函数,对中断和操作系统提供支持,从而方便软件的开发。系统层包括了操作系统和中间件软件LwIP,操作系统负责软硬件资源的管理,各部分软件以操作系统为中心。LwIP是针对嵌入式系统的TCP/IP协议栈,包含TCP、IP、UDP、ICMP等协议。最后,应用层根据模块化和功能独立原则,将应用程序主要分成4个子任务:系统初始化任务、LCD显示任务、TCP发送任务和超时重传任务、zigbee协调器的收发任务,结构示意图如图5所示。

5结论

通过项目实践,笔者切实感受到:基于互联网的物联通信平台,是连接感知层与应用层的重要纽带;相信近年内,将会出现一批优秀的物联通信开放平台,实现传感网络、3G网络、以及其它协议的互联互通,既可实现广域互联,也可以实现局域网互联。伴随着广泛的感知网接入、通信协议转换和强大的系统管理等特点,物联网平台将在工业控制、智能家居、环境检测、医疗卫生、农业生产等行业,有着广阔的应用前景。

作者:钟良骥陈娟游晓佳陈蔚单位:湖北科技学院咸宁职业技术学院