



本节从WiFi应用开发共性技术的角度出发,把WiFi应用架构抽象为WiFi的终端、信息邮局、人机交互系统三个组成部分,并分别给出它们的定义。理解这些定义,读者对WiFi应用开发技术的基本要素也就一目了然了。本节还给出了从信息邮局角度理解终端与人机交互系统的基本通信过程。
移动通信运营商建立WiFi网络的目的是为WiFi应用产品提供信息传输的基础设施。有了这个基础设施,我们就可以进行WiFi应用开发,研究及物联网工程专业的教学。但是,WiFi应用开发涉及许多较为复杂的技术问题。2.1节提出的解决WiFi应用开发所面临问题的基本思路是:从技术科学层面,研究抽象WiFi应用开发过程中的技术共性。
本节将遵循人的认知过程由个别到一般,再由一般到个别的哲学原理,从技术科学范畴,以面向应用的视角,研究并抽象WiFi应用开发过程中的技术共性,建立涵盖WiFi应用开发知识要素的应用架构,为实现快速规范的应用开发提供理论基础。
从个别到一般,就是要把WiFi应用开发所涉及的软件硬件体系的共性抽象出来,建立与知识要素相适应的抽象模型,为具体的WiFi应用开发提供模板(“葫芦”),为“照葫芦画瓢”提供技术基础。
从一般到个别,就是要厘清共性与个性的关系,充分利用模板(“葫芦”),依据“照葫芦画瓢”方法,快速实现具体应用的开发。
WiFi应用架构(Application Architecture)是从技术科学的角度描述WiFi应用开发所涉及的基本知识结构,主要体现应用开发过程中涉及的微控制器(MCU)、WiFi通信、人机交互系统等层次。
从应用层面来说,WiFi应用架构可以抽象为终端、信息邮局、人机交互系统三个组成部分,如图2-1所示,这种抽象为深入理解WiFi应用层面的应用开发提供了理论基础。
图2-1 WiFi应用架构
终端
是一种以微控制器为核心,具有数据采集、控制、运算等功能,带有WiFi通信功能,甚至包含机械结构,用于实现特定功能的软硬件实体,如WiFi智能家居、WiFi工业控制系统等。
终端一般以微控制器为核心,辅以通信模块及其他输入输出电路构成。微控制器负责数据采集、处理、分析,干预执行机构,以及与通信模块的板内连接;通信模块将微控制器的板内连接转为WiFi通信,以便借助移动热点与远程服务器通信。
信息邮局是一种基于WiFi协议的信息传输系统,用于运行云侦听程序。由于终端使用的是2.4GHz频段,所以移动热点也必须工作在2.4GHz频段。首先需要提供一个2.4GHz频段的移动热点,配置完移动热点后,需要修改终端中的移动热点信息,才能让终端找到。信息邮局在终端与人机交互系统之间起信息传输的桥梁作用。
信息邮局中的云服务器(Cloud Server,CS)既可以是一个实体服务器,也可以是分散部署的云服务器。对编程者来说,信息邮局就是具有信息侦听功能和固定IP地址与端口的计算机。具有固定IP地址的计算机要向互联网运营商或第三方机构申请并交纳费用。
人机交互系统是实现人与信息邮局之间信息交互、信息处理与信息服务的软硬件系统,其目标是使人们能够利用个人计算机、笔记本电脑、平板电脑、手机等设备,通过信息邮局获取终端的数据,并实现对终端的控制。
从应用开发的角度来看,人机交互系统就是与信息邮局打交道,通过这个具有固定IP地址与端口的计算机实现与终端的信息传输。
本节基于信息邮局介绍WiFi通信过程,这有助于形成WiFi应用开发的编程蓝图。在有了WiFi应用架构之后,可以通过类比邮局寄信的过程来理解WiFi的通信过程。注意取其意,忘其形,不能牵强对比。
图2-2给出了基于信息邮局的WiFi通信过程,分为数据上行过程与数据下行过程。假设云服务器的IP地址为IPa(如192.168.137.1),面向终端(UE)的端口号为Px(如32225),面向人机交互系统的端口号为Py(如32226)。
图2-2 基于信息邮局的WiFi通信过程
终端要寄“信件”给人机交互系统的过程(上行过程):终端有唯一标识——NIC卡号,即MAC地址(自身地址,即寄件地址);对方地址是个中转站(这就是收件地址了),即固定IP地址与端口;信息邮局把通过移动热点传来的“信件”送到固定IP地址与端口的中转站;人机交互系统侦听这个固定IP地址与端口,一旦来“信件”就把“信件”取走。具体过程如下:
(1)在云服务器上运行云侦听程序(CS-Monitor),该程序中设定了云服务器面向终端的端口,即IPa:Px,并侦听是否有终端发来的数据;同时该程序打开面向人机交互系统客户端的端口IPa:Py,等待客户端的请求。
(2)在人机交互系统客户端上运行客户端程序,建立与云服务器的连接。
(3)终端根据端口IPa:Px,通过移动热点与云服务器建立连接,并将数据发送给云服务器,云服务器将收到的数据存入数据库的Up表中。
(4)人机交互系统客户端有一个专门负责侦听云服务器是否发送数据的线程,当侦听到发送来的数据时,将对这些数据进行解析和处理。
人机交互系统要寄“信件”给终端过程(下行过程):把标有收件地址(终端的NIC卡号)的“信件”送到固定IP地址与端口,信息邮局会根据收件地址将“信件”送到相应的终端。当然这个过程的实际工作要复杂得多,但从应用开发角度这样理解就可以了。信息传输过程由信息邮局负责,WiFi应用开发人员只需专注于终端的软硬件设计,以及人机交互系统的软件开发。
总结一下可知:终端负责数据的采集、基本的运行、执行机构的控制,并把数据送往信息邮局,此时信息邮局已经被抽象成具有固定IP地址的云服务器的某一端口,信息邮局侦听终端发送的数据,一旦侦听到数据就把它接收下来存入数据库的Up表中,这就是数据上行过程;反之,信息邮局发数据到终端,触发终端内部中断来接收数据,这就是数据下行过程。