窄带物联网。 非 IP 数据传输或只是 NIDD。 使用 MTS 商业服务进行测试

下午好,心情好!

这是一个关于在 MTS 云服务中设置 NIDD(非 IP 数据传输)的小教程,其名称不言自明“M2M Manager”。 NIDD 的本质是通过 NB-IoT 网络在设备和服务器之间高效地交换小数据包。 如果以前 GSM 设备通过交换 TCP/UDP 数据包与服务器进行通信,那么 NB-IoT 设备可以使用另一种通信方法 - NIDD。 在这种情况下,服务器使用统一的 POST/GET 请求与运营商网络进行交互。 我是为自己(以免忘记)和所有认为它有用的人而写的。

您可以阅读有关 NB-IoT 的信息:

NB-IoT,窄带物联网。 一般信息、技术特点
NB-IoT,窄带物联网。 省电模式和控制命令

MTS 的 NIDD 理论

测试期间使用的 NB-IoT 模块的文档:
有方N21.

用于管理 M2M 设备的 MTS 服务.

为了了解 NIDD,我们需要:

  • SIM卡 NB-IoT MTS
  • 支持 NIDD 的 NB-IoT 设备
  • M2M 管理器 MTS 的密码和登录信息

我用一块板作为设备 N21 演示,并且 MTS 员工向我提供了访问 M2M 管理器的密码和登录名。 为此,以及他们提供的各种帮助和多次咨询,我们非常感谢他们。

因此,请转到 M2M 管理器并检查:

  • 在“SIM管理器”菜单项中有“NB-IoT控制中心”;
  • 我们的NB-IoT卡已经出现在NB-IoT控制中心,以及以下部分:
    NIDD 接入点
    NIDD 账户
    NIDD 安全
  • 最底部有一个菜单项“API M2M”和“NIDD Developer Guide”

整个事情应该看起来像这样:

窄带物联网。 非 IP 数据传输或只是 NIDD。 使用 MTS 商业服务进行测试

如果 M2M 管理器中缺少某些内容,请随时向 MTS 的经理发送请求,并详细描述您的愿望。

如果所需的 NB-IoT 控制中心项目已就位,您可以开始填写。 此外,“NIDD 帐户”项目排在最后:它将需要来自相邻部分的数据。

  1. NIDD 接入点: 我们提出并填写我们的 APN 名称和“应用程序 ID”。
  2. NIDD 安全: 这里我们表示我们的应用服务器的IP地址,它将通过MTS服务(服务器)与NB-IoT设备进行通信。
  3. NIDD 帐户: 只需填写所有字段并单击“保存”即可。

一旦完成所有项目,您就可以开始处理我们的服务器应生成的请求。 转至 M2M API 并阅读 NIDD 开发人员指南。 为了使设备在 NB-IoT 网络中注册,您需要创建 SCS AS 配置:

窄带物联网。 非 IP 数据传输或只是 NIDD。 使用 MTS 商业服务进行测试

该手册包含各个请求参数的描述,我仅给出一些小评论:

  1. 发送请求的链接:m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations,其中 scsAsId 是“NIDD APN”菜单项中的“应用程序 ID”;
  2. 使用登录名和密码的基本授权方法 - 使用您在填写“NIDD 帐户”菜单项时创建的登录名和密码;
  3. notificationDestination - 您的服务器地址。 您将通过它向设备发送非 IP 消息,MTS 服务器将向其发送有关发送和接收非 IP 消息的通知。

创建 SCS AS 配置并且设备已在运营商的 NB-IoT 网络中以 NIDD 模式成功注册后,您可以尝试在服务器和设备之间交换第一个非 IP 消息。

要将消息从服​​务器传输到设备,请研究手册的“2.2 发送消息”部分:

窄带物联网。 非 IP 数据传输或只是 NIDD。 使用 MTS 商业服务进行测试

{配置ID} 在请求链接中 - “hex-abracadabra”类型的值,在创建配置阶段获得。 看起来像:b00e2485ed27c0011f0a0200。

data — Base64 编码的消息内容。

配置 NB-IoT 设备以在 NIDD 中工作

当然,要与服务器交换数据,我们的设备不仅要能够工作在NB-IoT网络中,还要支持NIDD(非ip)模式。 对于N21 DEMO开发板或其他基于的设备 NB-IoT模块N21 下面描述传输非 IP 消息的操作序列。

我们使用在 M2M 管理器中填写“NIDD APN”项(此处为 EFOnidd)时提出的 APN 来激活配置:

AT+CFGDFTPDN=5,"EFOnidd"

并要求设备在网络上重新注册:

AT+CFUN=0

AT+CFUN=1

之后我们发出命令

AT+CGACT=1,1

并发送消息“测试”:

AT+NIPDATA=1,“测试”

当 N21 模块的 UART 上收到非 IP 消息时,会发出以下形式的未经请求的消息:

+NIPDATA:1,10,3132333435 // 收到非ip消息'12345'
哪里
1 - CID、pdp 上下文
10 - 小数点后的数据字节数

消息以 Base64 编码(在 POST 请求中)到达服务器。

PS 要模拟从服务器传输数据,使用该程序很方便 邮差。 要接收消息,您可以使用任何模拟 HTTP 服务器的脚本。

我希望它对某人有用。
谢谢。

来源: habr.com

添加评论