通信方法、通信模组、电子设备及存储介质
文献发布时间:2023-06-19 11:17:41
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法、通信模组、电子设备及存储介质。
背景技术
lwm2m(Lightweight Machine-To-Machine,轻量级M2M),由开发移动联盟(OMA)提出,是一种轻量级的、标准通用的物联网设备管理协议,可用于快速部署客户端/服务器模式的物联网业务。
现有的通信模组配置的都是单一的lwm2m协议版本,同一通信模组无法与多个不同的运营商建立通信连接,只能与某一种运营商进行通信,根据不同的运营商需求就要制定出不同的通信模组,然后又分别对不同的通信模组进行迭代维护,这种方式需要对每一个协议版本对应的通信模组进行维护,工作量较大、维护过程繁琐,并且增加了很多的人力成本。
发明内容
本申请提供了一种通信方法、通信模组、电子设备及存储介质,为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种通信方法、通信模组、电子设备及存储介质。
第一方面,本申请提供了一种通信方法,应用于电子设备,包括:
获取所述电子设备的网络注册状态和通信卡的注册信息;
若所述网络注册状态为未注册,则执行获取所述电子设备的网络注册状态和通信卡的注册信息的步骤;
若所述网络注册状态为已注册,则检测是否接收到通信指令;
若接收到所述通信指令,则根据所述通信指令确定目标运营商,
若未接收到所述通信指令,则根据所述注册信息确定目标运营商,
基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求。
可选地,所述获取所述电子设备的网络注册状态和通信卡的注册信息之前,所述方法还包括:
获取多个不同运营商的配置信息;
根据各个所述配置信息生成配置文件。
可选地,所述通信请求包括设备信息和配置信息,所述基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求,包括:
获取所述电子设备的设备信息;
在所述配置文件中查询所述目标运营商对应的配置信息,所述配置信息包括服务器地址和通信方式;
按照所述通信方式发送所述设备信息至所述服务器地址对应的服务器,使所述服务器与所述电子设备进行通信。
可选地,所述设备信息包括设备名称、设备序列号和通信密钥,所述向所述目标运营商对应的服务器发送通信请求,包括:
发送所述设备名称、设备序列号和通信密钥至所述服务器,令所述服务器根据所述通信密钥的验证结果判断是否与所述电子设备进行通信,若所述服务器对所述通信密钥验证成功,则使所述服务器根据所述通信方式与所述电子设备进行通信;若所述服务器对所述通信密钥验证失败,则所述服务器拒绝与所述电子设备进行通信。
可选地,所述根据所述通信指令确定目标运营商,包括:
根据所述通信指令配置运营商,得到当前运营商;
将所述当前运营商作为所述目标运营商。
可选地,所述注册信息包括注册序列号和运营商名称,所述根据所述注册信息确定所述目标运营商,包括:
若根据所述注册序列号查询到对应的运营商,将所述注册序列号对应的运营商作为所述目标运营商;
若根据所述注册序列号未查询到对应的运营商,则将所述运营商名称对应的运营商作为所述目标运营商。
可选地,所述向所述目标运营商对应的服务器发送通信请求之后,所述方法还包括:
接收所述服务器返回的响应信息;
根据所述响应信息与所述服务器建立通信连接。
第二方面,本申请提供了一种通信模组,包括:
信息获取模块,用于获取所述电子设备的网络注册状态和通信卡的注册信息;
网络状态检测模块,用于若所述网络注册状态为未注册,则执行获取所述电子设备的网络注册状态和通信卡的注册信息的步骤;若所述网络注册状态为已注册,则检测是否接收到通信指令;
运营商确定模块,用于若接收到所述通信指令,则根据所述通信指令确定目标运营商;若未接收到所述通信指令,则根据所述注册信息确定所述目标运营商;
连接模块,用于基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求。
第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面中任一项所述通信方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述通信方法的步骤。
本申请实施例提供的通信方法包括:获取所述电子设备的网络注册状态和通信卡的注册信息;若所述网络注册状态为未注册,则执行获取所述电子设备的网络注册状态和通信卡的注册信息的步骤;若所述网络注册状态为已注册,则检测是否接收到通信指令;若接收到所述通信指令,则根据所述通信指令确定目标运营商,若未接收到所述通信指令,则根据所述注册信息确定目标运营商,基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求。使用同一电子设备识别不同的运营商,并针对不同的运营商选择对应的服务器进行通信,从而满足不同运营商对lwm2m协议的需求,即方便用户在不同地区使用不同运营商对应的lwm2m协议,方便电子设备的后期维护,降低了人工成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中通信方法的流程示意图;
图2为一个实施例中通信模组的结构框图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一个实施例中,图1为本申请实施例提供的一种通信方法的流程示意图,参照图1,提供了一种通信方法。本实施例主要以该方法应用于电子设备来举例说明,电子设备具体可以为能够实现通信功能的模组或包含模组的终端设备等,终端设备具体可以为移动终端和/或智能设备等,移动终端具体可以为手机、平板电脑、笔记本电脑等中的至少一种,智能设备具体可以为智能手表、智能冰箱、智能音箱、智能洗衣机、智能电视机等中的至少一种,模组具体可以为2G通信模组、3G通信模组、4G通信模组、5G通信模组、NB-IOT通信模组等中任意一种,该通信方法具体包括如下步骤:
步骤S110,获取所述电子设备的网络注册状态和通信卡的注册信息。
在本实施例中,网络注册状态包括已注册和未注册,通信卡为SIM(SubscriberIdentity Module)卡,SIM卡的注册信息包括注册序列号(PLMN)和运营商名称(PLMNName),电子设备的网络注册状态用于表示当前电子设备的数据业务能力,即表示是否可以与网络进行数据交互。
步骤S120,若所述网络注册状态为未注册,则执行获取所述电子设备的网络注册状态和通信卡的注册信息的步骤。
在本实施例中,网络注册状态为未注册,表示电子设备当前不具备数据业务能力,无法通过网络进行数据交互,亦无法与运营商对应的服务器进行通信,只能继续监测电子设备的网络注册状态,直至监测到网络注册状态为已注册时,执行步骤S130的内容。
步骤S130,若所述网络注册状态为已注册,则检测是否接收到通信指令。
在本实施例中,网络注册状态为已注册,表示电子设备当前具备数据业务能力,通信指令为用户配置运营商的AT指令,检测是否接收到通信指令,即判断用户是否参与配置运营商,表示电子设备不但能识别SIM卡对应的运营商,还可加入用户对于运营商的配置,对于运营商的配置方式较多且更灵活。
步骤S140,若接收到所述通信指令,则根据所述通信指令确定目标运营商。
在本实施例中,接收到通信指令,表示用户通过通信指令配置运营商,则将用户配置的运营商作为目标运营商,即优先以用户自定义的运营商为目标运营商。例如,用户通过通信指令将运营商配置为中国移动通信(China Mobile Communications Group Co.Ltd,CMCC),则将CMCC作为目标运营商,目标运营商用于确定电子设备的通信对象以及通信方式。
步骤S150,若未接收到所述通信指令,则根据所述注册信息确定目标运营商。
在本实施例中,在没有接收到通信指令的情况下,检测SIM卡的注册信息,将SIM卡对应的运营商作为目标运营商。
步骤S160,基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求。
在本实施例中,根据目标运营商确定对应的lwm2m协议版本,将目标运营商对应的lwm2m协议版本信息作为目标配置信息,目标配置信息包括通信对象以及通信方式,通信对象为目标运营商对应的服务器,通信方式为电子设备访问服务器的方式,通信请求为电子设备与目标运营商对应的服务器建立通信连接的请求,即根据目标运营商的配置信息确定电子设备待通信的服务器以及通信方式,向待通信的服务器发送通信请求后,等待对应的服务器响应通信请求并与电子设备进行通信。以此方法使电子设备可识别多个不同的运营商,并根据运营商版本确定对应的lwm2m协议版本,即电子设备可与不同的运营商网络建立通信连接,将各个运营商对应的lwm2m协议版本集合于电子设备中,从而满足不同运营商对lwm2m协议的需求,方便电子设备的后期维护,减少了后期维护的工作量,并降低了人工成本。
在一个实施例中,所述获取所述电子设备的网络注册状态和通信卡的注册信息之前,所述方法还包括:获取多个不同运营商的配置信息;根据各个所述配置信息生成配置文件。
在本实施例中,配置信息包括运营商对应的APN信息(Access Point Name,网络接入技术)以及服务器地址,服务器地址为服务器的IP地址端口,APN信息用于确定通信方式,通信方式包括内网访问方式和外网访问方式,内网访问方式通过GPRS访问WAP业务,用于访问WAP内网的服务器,内网访问方式包括CMWAP(中国移动)、UNIWAP(中国联通)和CTWAP(中国电信)等,外网访问方式用于访问公共外网,外网访问方式包括CMNET(中国移动)、UNINET(中国联通)和CTNET(中国电信)等。
不同的运营商对应不同的APN信息和服务器地址,将各个运营商对应的配置信息汇总生成配置文件,配置文件用于为电子设备提供通信基础信息,使电子设备确定通信对象以及通信方式。
在一个实施例中,所述通信请求包括设备信息和配置信息,所述基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求,包括:获取所述电子设备的设备信息;在所述配置文件中查询所述目标运营商对应的配置信息,所述配置信息包括服务器地址和通信方式;按照所述通信方式发送所述设备信息至所述服务器地址对应的服务器,使所述服务器与所述电子设备进行通信。
在本实施例中,设备信息包括设备名称、设备序列号和通信密钥,配置文件中包括多个运营商对应的配置信息,根据目标运营商对应的配置信息确定待通信的服务器地址以及通信方式,按照通信方式发送设备信息至服务器地址对应的服务器,令服务器地址对应的服务器判断是否响应电子设备的通信请求,若服务器响应该通信请求,则与设备信息对应的电子设备建立通信连接;若服务器拒绝响应该通信请求,则向设备信息对应的电子设备发送拒绝响应通知。
例如,电子设备确定的目标运营商为CMCC,根据CMCC确定对应的配置信息,配置信息中的APN信息为CMNET,即通信方式为CMNET,服务器地址为218.17.89.78,即电子设备通过CMNET外网访问方式向IP地址为218.17.89.78的服务器发送设备信息请求建立通信连接。
在一个实施例中,所述设备信息包括设备名称、设备序列号和通信密钥,所述向所述目标运营商对应的服务器发送通信请求,包括:发送所述设备名称、设备序列号和通信密钥至所述服务器,令所述服务器根据所述通信密钥的验证结果判断是否与所述电子设备进行通信,若所述服务器对所述通信密钥验证成功,则使所述服务器根据所述通信方式与所述电子设备进行通信;若所述服务器对所述通信密钥验证失败,则所述服务器拒绝与所述电子设备进行通信。
在本实施例中,电子设备将设备信息通过目标运营商对应的通信方式发送至对应的服务器后,设备名称和设备序列号用于告知服务器待通信的电子设备,当多个电子设备同时发起通信请求时,令服务器清楚识别各个电子设备的身份,服务器验证接收到的设备信息中的通信密钥,若服务器验证成功,则与设备名称、设备序列号对应的电子设备进行通信,即服务器响应了电子设备发送的通信请求;若服务器验证失败,则拒绝与设备名称、设备序列号对应的电子设备进行通信,表示服务器拒绝响应电子设备发送的通信请求。
在一个实施例中,所述根据所述通信指令确定目标运营商,包括:根据所述通信指令配置运营商,得到当前运营商;将所述当前运营商作为所述目标运营商。
在本实施例中,根据用户发起的通信指令配置运营商,即按照用户意愿配置运营商,当前运营商为用户通过通信指令配置后的运营商,在用户参与运营商配置的情况下,以用户配置的运营商作为目标运营商,用户可以参与运营商的配置,从而满足不同场景下用户对于不同运营商网络的连接需求,不再受硬件设备的限制。
例如,电子设备中SIM卡的注册信息对应的运营商为CMCC(中国移动),但在某些场景下CMCC的网络连接不能满足用户的需求,用户可通过通信指令配置运营商,将运营商从CMCC更换为CUCC(中国联通),电子设备可与CUCC对应的服务器进行通信。
在一个实施例中,所述注册信息包括注册序列号和运营商名称,所述根据所述注册信息确定所述目标运营商,包括:若根据所述注册序列号查询到对应的运营商,将所述注册序列号对应的运营商作为所述目标运营商;若根据所述注册序列号未查询到对应的运营商,则将所述运营商名称对应的运营商作为所述目标运营商。
在本实施例中,注册序列号为SIM注册到运营商后得到的序列号,各个运营商对应不同的注册序列号,根据注册序列号即可识别SIM卡对应的运营商,在没有接收到通信指令的情况下,将根据注册序列号识别得到的运营商作为目标运营商。当运营商增设新的注册序列号后,电子设备保留原有的识别规则,并未及时建立新增的注册序列号与运营商之间的映射关系,即电子设备无法根据新增设的注册序列号识别对应的运营商,此时可根据SIM卡对应的注册信息中的运营商名称确定对应的运营商,以此避免出现单独根据注册序列号无法得到对应的运营商的情况。
在一个实施例中,所述向所述目标运营商对应的服务器发送通信请求之后,所述方法还包括:接收所述服务器返回的响应信息;根据所述响应信息与所述服务器建立通信连接。
在本实施例中,在电子设备向服务器地址对应的服务器发送通信请求后,若服务器响应该通信请求,则返回响应信息至电子设备,令电子设备根据响应信息与服务器进行通信;若服务器拒绝响应该通信请求,则返回拒绝响应通知,告知电子设备通信连接失败。
图1为一个实施例中通信方法的流程示意图。应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种电子设备,所述电子设备具体可以为能够实现通信功能的模组或包含模组的终端设备等,具体包括:
信息获取模块210,用于获取所述电子设备的网络注册状态和通信卡的注册信息;
网络状态检测模块220,用于若所述网络注册状态为未注册,则执行获取所述电子设备的网络注册状态和通信卡的注册信息的步骤;若所述网络注册状态为已注册,则检测是否接收到通信指令;
运营商确定模块230,用于若接收到所述通信指令,则根据所述通信指令确定目标运营商;若未接收到所述通信指令,则根据所述注册信息确定所述目标运营商;
连接模块240,用于基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求。
在一个实施例中,所述获取所述电子设备的网络注册状态和通信卡的注册信息之前,所述电子设备还包括:
配置模块,用于获取多个不同运营商的配置信息;根据各个所述配置信息生成配置文件。
在一个实施例中,所述通信请求包括设备信息和配置信息,所述连接模块240还用于:
获取所述电子设备的设备信息;
在所述配置文件中查询所述目标运营商对应的配置信息,所述配置信息包括服务器地址和通信方式;
按照所述通信方式发送所述设备信息至所述服务器地址对应的服务器,使所述服务器与所述电子设备进行通信。
在一个实施例中,所述设备信息包括设备名称、设备序列号和通信密钥,所述连接模块240还用于:
发送所述设备名称、设备序列号和通信密钥至所述服务器,令所述服务器根据所述通信密钥的验证结果判断是否与所述电子设备进行通信,若所述服务器对所述通信密钥验证成功,则使所述服务器根据所述通信方式与所述电子设备进行通信;若所述服务器对所述通信密钥验证失败,则所述服务器拒绝与所述电子设备进行通信。
在一个实施例中,所述运营商确定模块230还用于:
根据所述通信指令配置运营商,得到当前运营商;
将所述当前运营商作为所述目标运营商。
在一个实施例中,所述注册信息包括注册序列号和运营商名称,所述运营商确定模块230还用于:
若根据所述注册序列号查询到对应的运营商,将所述注册序列号对应的运营商作为所述目标运营商;
若根据所述注册序列号未查询到对应的运营商,则将所述运营商名称对应的运营商作为所述目标运营商。
在一个实施例中,所述向所述目标运营商对应的服务器发送通信请求之后,所述连接模块240还用于:
接收所述服务器返回的响应信息;
根据所述响应信息与所述服务器建立通信连接。
如图3所示,本申请实施例提供了一种电子设备,包括处理器311、通信接口312、存储器313和通信总线314,其中,处理器311,通信接口312,存储器313通过通信总线314完成相互间的通信,
存储器313,用于存放计算机程序。
在本申请一个实施例中,处理器311,用于执行存储器313上所存放的程序时,实现前述任意一个方法实施例提供的通信方法。
在一个实施例中,本申请提供的电子设备可以实现为一种计算机程序的形式,计算机程序可在如图3所示的计算机设备上运行。计算机设备的存储器中可存储组成该电子设备的各个程序模块,比如,图2所示的信息获取模块210、网络状态检测模块220、运营商确定模块230和连接模块240。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的通信方法中的步骤。
图3所示的计算机设备可以通过如图2所示的信息获取模块210执行获取所述电子设备的网络注册状态和通信卡的注册信息。计算机设备可通过网络状态检测模块220执行若所述网络注册状态为未注册,则执行获取所述电子设备的网络注册状态和通信卡的注册信息的步骤;若所述网络注册状态为已注册,则检测是否接收到通信指令。计算机设备可通过运营商确定模块230执行若接收到所述通信指令,则根据所述通信指令确定目标运营商;若未接收到所述通信指令,则根据所述注册信息确定所述目标运营商。计算机设备可通过连接模块240执行基于所述目标运营商对应的配置信息,向所述目标运营商对应的服务器发送通信请求。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的通信方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
- 通信方法、通信模组、电子设备及存储介质
- 近场通信方法、近场通信模组、终端及存储介质