购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 NB-IoT通信过程与应用开发相关的基本概念

从应用开发的角度来看,只需要简单理解几个与终端(UE)、信息邮局(MPO)、人机交互系统(HCI)直接相关的基本概念即可,无须触及过多的术语。

2.3.1 与终端(UE)相关的基本概念

1.使用IMSI作为终端(UE)的唯一标识

终端(UE)需要一个唯一的标识,以便区别不同的终端(UE),可使用国际移动用户识别码(IMSI)作为终端(UE)的唯一标识,这也是向信息邮局(MPO)缴纳费用的标识。

通常,手机需要一个SIM卡,在手机中就被称为手机卡,NB-IoT的终端(UE)也需要一个SIM卡,一般情况下它被直接封装在芯片内部,被称为eSIM卡。

国际移动用户识别码 (International Mobile Subscriber Identification,IMSI)是区别移动用户的标志,其总长度不超过15位,存储在移动设备的用户识别卡(Subscriber Identification Module,SIM)中。每张SIM卡都有一个IMSI ,在NB-IoT系统中,它是终端用户的唯一标识,通信运营商通过这个号收取通信流量费用,欠费的 NB-IoT 终端是无法通信的。在研发过程中,开发人员通常以 IMSI 为终端设备的唯一标识,为了交流方便,称为 SIM卡号,简称卡号。

2.其他需要了解的基本概念

NB-IoT的终端(UE)中包含MCU、通信模组、SIM卡等。通信模组也有个身份码IMEI,这个概念需要了解一下。此外,终端(UE)需要连接基站,需要了解与此相关的概念或名称,如基站号、信号强度、信噪比、信息邮局为终端分配的IP地址。

(1)国际移动设备身份码。国际移动设备身份码(International Mobile Equipment Identity,IMEI)也是国际移动设备的标识码,它是由 15 位数字组成的电子串号,与每台移动设备一一对应。每台移动设备都拥有一个全球唯一IMEI 。在NB-IoT系统中,它是通信模组的唯一标识,由通信模组生产商写入通信模组,开发者可以通过AT指令 获取通信模组的IMEI,也可把它作为UE的标识。

(2)基站号。当终端(UE)的射频信号打开时,终端(UE)会与附近的基站连接。终端(UE)可以通过AT指令获取连接的基站号,再根据基站号分析终端(UE)的地址。

(3)信号强度。信号强度表示基站与终端(UE)之间通信能力的好坏,信号强度的度量单位dBm,这是一个表示功率绝对值的物理量,也可以认为dBm是以1 mW功率为基准的一个比值,计算公式为10log(功率值/1mW)。在实际应用时,信号强度可以标准化为0~100的相对值,以便于理解,正如手机信号强度用“刻度”表达一样。

(4)信噪比。信噪比(Signal-Noise Ratio,SNR)是指信号与噪声的比例,单位为dB,即分贝,信噪比越大越好。信噪比也可以标准化为0~100的相对值,以便于理解。

(5)信息邮局为终端分配的 IP 地址。当终端(UE)成功地连接到信息邮局(MPO)时(即附着到核心网时),基站会向成功连接的终端(UE)分配一个临时的IP地址,供终端(UE)与信息邮局(MPO)进行数据交互时使用。

2.3.2 与信息邮局(MPO)相关的基本概念

在NB-IoT终端通信编程中,需要提供一个固定IP地址和端口号,以供终端(UE)与信息邮局(MPO)服务器建立连接,以便进行数据交互。目前许多IT类公司均有提供服务器租赁服务(即云平台服务),可提供有固定IP地址的服务器。在本书中,固定IP地址和端口号就是NB-IoT信息邮局(MPO)的抽象表现形式。

为此,下面对IP地址与端口号的基本概念做概括性的总结。

1.IP地址

互联网上的每台主机都有一个唯一的IP地址。IP地址由网络号(Network ID)和主机号(Host ID)两部分组成,网络号标识的是互联网上的一个子网,主机号标识的是子网中的某台主机。

IPv4的地址长度为32位,分为4段,每段8位,如果用十进制数字表示,则每段数字的范围为 1~254(0 和255 除外),段与段之间用句点“.”隔开,例如 192.168.149.1。IP地址就像家庭住址一样,如果要写信给一个人,就要知道对方的地址,这样邮递员才能把信送到,计算机发送信息就好比邮递员,它必须知道唯一的“家庭地址”才不至于把信送错。只不过一般的地址使用文字来表示,而计算机的地址用数字来表示。

表征网络号(即 网络地址 )和主机号(即 主机地址 )的IP地址可分为五类,即A、B、C、D、E,常用的是B类和C类。

A类IP地址:用7位数字来表示网络号、24位数字表示主机号,最前面1位为“0”,全世界总共只有126个 [1] A类网络,每个A类网络最多可连接16777214台 [2] 主机。

B类IP地址:用14位数字来表示网络号、16位数字表示主机号,最前面2位是“10”。B类地址的第1段取值为128~191,前2段合在一起表示网络号。B类地址适用于中等规模的网络,全世界大约有16000个B类网络,每个B类网络最多可连接65534台主机。

C类IP地址:用21位数字来表示网络号、8位数字表示主机号,最前面3位是“110”。C类地址的第1段取值为192~223,前3段合在一起表示网络号。最后1段表示网络上的主机号。C类地址适用于校园网等小型网络,每个C类网络最多可连接254台主机。

网络地址由互联网协会的网址分配机构(Internet Corporation for Assigned Names and Numbers,ICANN)负责分配,目的是为了保证网络地址的全球唯一性。主机地址是由各个网络的系统管理员分配的。网络地址的唯一性与网络内主机地址的唯一性确保了IP地址的全球唯一性。

根据用途和安全性级别的不同,IP地址还可分为两类,即公用地址和私有地址。公用地址在互联网中使用,可以在互联网中较为随意访问。私有地址只能在内部网络中使用,只有通过代理服务器才能与互联网通信,IP地址中的私有地址有10.0.0.0~10.255.255.255、172.16.0.0~172.31.255.255、192.168.0.0~192.168.255.255。

在计算机中,IP地址是分配给网卡的,每个网卡都有一个唯一的IP地址,如果一个计算机有多个网卡,则该台计算机拥有多个不同的IP地址,在同一个网络内部,IP地址不能相同。

2.端口号

拥有IP地址的主机可以提供许多服务,如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过一个IP地址来实现。就好比一座大楼里有许多不同的房间,每个房间的功能不同,大楼的名字相当于IP地址,房间号相当于端口号。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址, 因为IP地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的

为了在一台设备上可以运行多个程序,人为地设计了 端口 (Port)的概念,类似的例子是公司内部的分机号码。规定一个设备可以有2 16 个,也就是65536个端口,每个端口对应一个唯一的程序。每个网络程序,无论客户端还是服务器端,都对应一个或多个特定的端口号。由于0~1024多被操作系统占用,所以实际编程时一般使用1024以后的端口号。下面是一些常见的服务对应的端口:ftp:21、telnet:23、smtp:25、dns:53、http:80、https:443。

3.数据流向:上行数据流向与下行数据流向

终端(UE)把信息交给信息邮局(MPO),信息邮局(MPO)把信息传输到人机交互系统(HCI),人机交互系统(HCI)接收信息,这就是 上行过程 (上行数据流向)。人机交互系统(HCI)把信息交给信息邮局(MPO),信息邮局(MPO)把信息传输到终端(UE),终端(UE)接收信息,这就是 下行过程 (下行数据流向)。

概括地说,上行过程是指终端(UE)通过信息邮局(MPO)向人机交互系统(HCI)传输信息;下行过程是指人机交互系统(HCI)通过信息邮局(MPO)向终端(UE)传输信息。

4.事务:UE-HCI事务与HCI-UE事务

UE-HCI事务 :UE通过MPO向HCI索要数据,至少需经历一次上行数据流向与一次下行数据流向。

HCI-UE事务 :HCI通过MPO向UE索要数据,至少需经历一次下行数据流向与一次上行数据流向。

2.3.3 与人机交互系统(HCI)相关的基本概念

人机交互系统(HCI)包含通过信息邮局(MPO)接收终端(UE)数据的计算机,以及供人机交互系统使用的手机、平板电脑等。

1.侦听程序与云服务器

终端(UE)主动向(固定IP地址和端口)发送数据,可以把具有固定IP地址且负责接收数据的计算机器称为云服务器或云平台。要把数据接收下来,云服务器上必须运行一个负责此项工作的程序,这就是 侦听(Monitor)程序 ,它负责侦听UE是否有发送来的数据,若有数据就把它接收下来并放入数据库,还要负责把人机交互系统的数据发送给终端。

云服务器具有固定的IP地址和端口号,是侦听程序及数据库的物理支撑。侦听程序及数据库的运行和维护都是在云服务器上完成的。云服务器的访问需要具有权限的用户名和密码,使用云服务器需要向第三方机构缴纳费用。

2.数据库

数据库是驻留在云服务器中的存储数据的地方。数据库由若干张表组成,每张表又由若干个字段组成,对数据库的操作大多是对表的操作,对表的基本操作有增、删、改、查。

3.客户端

客户端也称为用户端,是指与服务器相对应的、为客户提供本地服务的程序,一般安装在普通的用户计算机(也称为客户机)上,需要与服务器互相配合运行。较常用的用户端包括互联网使用的网页浏览器,以及即时通信的客户端软件等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务等。这样在客户端和服务器,需要建立特定的通信连接来保证应用程序的正常运行。本书将通过单独的一章来讨论通过PC客户端访问NB-IoT终端数据的编程方法,并给出相应的模板。

4.Web网页

Web网页是存储运行在云服务器上的软件,用户在获得对应网址后可以借助浏览器访问其中的内容,并实现与云服务器的交互。这里的网址可以是IP地址,也可以是域名地址。浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户与这些文件交互的一种软件。与客户端不同,Web网页的程序及程序的运行都不在本机而在云服务器上,由此可节省本地的空间。本书将通过单独一章来讨论通过Web网页访问NB-IoT终端数据的编程方法,并给出相应的模板。

5.微信小程序

微信小程序,简称小程序,是腾讯公司于2017年1月9日正式发布的一种不需要下载安装即可使用的应用平台,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用;体现了“用完即走”的理念,用户不用关心是否安装应用的问题。对于开发者而言,小程序开发门槛相对较低,难度不及手机APP软件,能够满足简单的基础应用,并且小程序能够实现消息通知、线下扫码、公众号关联等功能。其中,通过公众号关联,用户还可以实现公众号与小程序之间相互跳转。本书将通过单独的一章来讨论通过微信小程序访问NB-IoT终端数据的编程方法,并给出相应的模板。

6.手机APP软件

手机APP软件主要指安装在智能手机上的软件,完善原始系统的不足与个性化,是手机完善其功能、为用户提供更丰富的使用体验的主要手段。手机APP软件的运行需要有相应的手机系统,目前主要的手机系统是iOS系统和Android系统。手机APP软件最大的优势在于可以随时随地实现与服务器的交互;相比于微信小程序和网页,手机APP软件的不足是其安装与运行都在本机,会消耗本机资源。本书将通过单独的一章来讨论通过手机APP访问NB-IoT终端数据的编程方法,并给出了相应的模板。


[1] 126=2 7 -2.

[2] 16777214=2 24 -2. h6gfhPF4S6lnxYoM0sJcT+5k476iKmSGFIv1lGNdknnLQ+TF6uskspxLzkGbQJkm

点击中间区域
呼出菜单
上一章
目录
下一章
×