0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >无线互联 > 使用全球蜂窝无线电模块快速安全地将物联网设备连接到云

使用全球蜂窝无线电模块快速安全地将物联网设备连接到云

来源: digikey
2023-12-14
类别:无线互联
eye 70
文章创建人 拍明芯城

  作者:Jens Wallmann

  要将便携式或远程网络终端设备连接到物联网 (IoT),或使用机器对机器通信 (M2M) 远程控制机器,通过云进行数据交换的移动无线电连接是一个不错的选择。然而,此选项给开发人员带来了障碍,例如确定哪些无线网络可以支持全球所需的数据吞吐量以及无线调制解调器必须能够处理哪些协议。系统可扩展性、数据安全性、成本、上市时间以及用户产生的购置和运营成本也必须考虑。

  本文简要介绍了 LTE Cat 1 为 IoT 和 M2M 应用程序开发人员提供的功能。然后介绍了u-blox 的 LARA-R6系列无线电模块,该模块提供通用连接和可靠的性能。本文最后展示了开发人员如何使用评估板 (EVB) 通过 AT 命令轻松配置和控制模块,并通过库函数生成 AT 命令字符串。

  LTE Cat 1 与 LTE Cat 1bis、LTE Cat M 和 LTE Cat NB 的比较

  虽然 LTE 蜂窝无线电现已实现千兆位传输速率,但 LTE Cat 1、LTE Cat 1bis、LTE Cat M 和 LTE Cat NB 等低功耗广域 (LPWA) 协议的设计在能耗方面特别高效,网络资源和成本。这对于物联网设备至关重要。

  LTE Cat 1 在全双工模式下提供高达 20 兆赫 (MHz) 的信道带宽,可实现高达 10 兆比特每秒 (Mbps) 的下载数据速率和高达 5 Mbps 的上传数据速率。两个天线可实现接收器 (Rx) 分集以获得更好的性能(表 1)。 LTE Cat 1bis 使用单个天线。

image.png

  表 1:LPWA 协议的性能比较。 LTE CAT 1 使用两个天线实现接收分集; LTE Cat 1bis 使用一根天线。

  LTE Cat 1 移动无线电可在全球范围内使用

  u-blox 的 LARA-R6 系列由强大的蜂窝无线电模块组成,专为无线电接入技术 (RAT) LTE Cat 1 频分双工 (FDD) 和时分双工 (TDD) 标准而设计。它们支持 3G UMTS/HSPA 和 2G GSM/GPRS/EGPRS 作为后备解决方案。这些模块是全球/多区域覆盖的出色解决方案,采用尺寸为 26 x 24 毫米 (mm) 的小型 LGA 外形。

  LARA-R6 模块配备多功能接口、多种功能以及多频段和多模式功能,适用于需要中等数据速度、无缝连接、出色覆盖和低延迟的应用。此类应用包括资产跟踪、远程信息处理、远程监控、报警中心、视频监控、互联健康和销售点终端。

  所有模块都支持接收分集,以便在困难的覆盖条件下或需要 LTE 语音 (VoLTE) 时提供可靠的性能。程序员可以利用嵌入式物联网协议(LwM2M、MQTT)和安全功能(TLS/DTLS、安全更新和安全启动)来实现各种功能,包括设备管理、远程设备控制和安全固件无线传输(FOTA)更新。

  LARA-R6 系列支持 3GPP Release 10 规定的 LTE Cat 1,并通过三个区域变体实现全球覆盖:

  LARA -R6001-00B(数据和语音)和LARA-R6001D-00B(仅数据)模块支持 18 个 LTE FDD/TDD 频段以及用于全球连接的 3G/2G 回退。

  LARA -R6401-00B(数据和语音)和LARA-R6401D-00B(仅数据)模块为北美提供理想的 LTE Cat 1 解决方案,支持 AT&T、FirstNet、Verizon 和 T-Mobile 的 LTE 频段。

  LARA -R6801-00B(数据和语音)和LARA-R6801D-01B(仅数据)模块设计用于在以下区域部署:欧洲和中东 (EMEA)、亚太地区 (APAC)、日本 (JP)和拉丁美洲 (LATAM)(图 1)。

  

image.png


  图 1:LARA-R6 模块的三个区域变体覆盖全球。 (图片来源:DigiKey,作者修改)

  LARA-R6 特色一览

  LARA-R6 模块集成了带有外部接口的蜂窝基带处理器、带有放大器和滤波器的射频收发器、存储器以及电源管理单元(图 2)。

  

image.png


  图 2:LARA-R6 模块的内部结构。 (图片来源:u-blox)

  RF 收发器的工作频段为 700 MHz、800 MHz、850 MHz、900 MHz、1.7 GHz、1.8 GHz、1.9 GHz、2.1 GHz 和 2.6 GHz。蜂窝基带处理器的所有数据传输协议都可以使用外部UART和USB接口通过AT命令进行控制和配置。

  协议

  双栈 IPv4 和 IPv6

  嵌入式 TCP/IP、UDP/IP、FTP 和 HTTP

  嵌入式 MQTT 和 MQTT-SN

  嵌入式LwM2M

  eSIM 和承载独立协议 (BIP)

  LARA-R6 模块需要 3.1 至 4.5 伏的电源电压,空闲电流消耗约为 1.1 毫安 (mA)。在 2G 操作中,单个 TDMA 时隙可达到超过 33 分贝的峰值传输功率(以 1 毫瓦 (mW) (dBm)(> 2.0 瓦)为参考),所有其他 RAT 达到超过 24 dBm(> 0.25 瓦)的水平。

  低于 -100 dBm 的出色天线灵敏度(对应于低于 0.1 皮瓦 (pW) 的信号功率)可在移动网络边缘实现稳定的无线电连接。

  评估和编程

  开始评估和编程 LARA-R6 模块的最快方法是使用适用于相应区域的 R6 EVB (EVK-R6) 和插入式 LARA-R6 适配器板 (ADP-R6)。例如,面向全球应用的EVK-R6001-00B包括插入式适配器板ADP-R6001-00B(语音 + 数据)和 GNSS 适配器板(图 3)。

  

image.png


  图 3:LARA-R6 EVB (EVK-R6) 附带 LARA-R6 适配器板(底部)和 GNSS 板(左上)。 (图片来源:u-blox)

  适用于北美的 EVK-R6401-00B 型号包括ADP - R6401-00B适配器,而适用于 EMEA/APAC/JP/LATAM 的EVK-R6801-00B包括ADP-R6801-00B适配器。已经提到的用于语音和数据传输的三个适配器板也可以单独提供,以及仅用于数据传输的版本,包括 ADP -R6401D-00B(北美)和ADP-R6001D-00B(全球)。

  R6 适配器板通过两个天线和两个 MiniUSB 连接器扩展了 LARA-R6 模块。 R6 EVB 为模块外设添加了 GNSS 模块、SIM 卡插槽、额外的插入式连接、跳线、开关和电源(图 4)。

  

image.png


  图 4:插入 GNSS 和 LARA-R6 适配器的 R6 EVB 的功能框图。(图片来源:u-blox)

  每个套件包含一个 EVB(附带 LTE Cat 1 LARA-R6 适配器板和 u-blox 的 GNSS 模块)、一根 USB 电缆、两根 LTE 移动无线电天线、一根 GPS/GLONASS 天线和一个电源装置。

  EVK 的调试

  u-blox 易于使用且功能强大的 EVK-R6 套件简化了多模 LTE Cat 1 / 3G / 2G 蜂窝模块的评估。安装了 LARA-R6 USB 驱动程序的 Windows PC通过 USB 连接器控制 LARA-R6 调制解调器,并通过系统设置简化连接设置。首先,开发人员需要:

  插入 SIM 卡并连接蜂窝天线和 GNSS 天线。

  仔细配置 EVK 的跳线和开关。

  施加电源电压并打开 EVB 上的主开关 SW400。

  要通过“主 UART”接口作为低数据速率调制解调器运行,请将 PC 连接到 EVK 上的 MiniUSB 插孔 J501 或 RS232 插孔 J500。

  要通过“两个 UART”作为低数据速率调制解调器运行,请将 PC 连接到 ADP 上的蜂窝 USB 插孔 J201 接口。

  要通过“本机蜂窝 USB”作为高数据速率调制解调器运行,请将 PC 连接到 ADP 上的 MiniUSB 插孔 J105。

  按下 EVB 上的蜂窝开机按钮 SW302。

  运行终端应用软件(如m-center),进入COM口设置菜单,选择4a、4b、4c对应的AT口,并设置以下值: 数据速率:115,200 bps;数据位:8;奇偶校验:N;停止位:1。

  有关更多详细信息,请参阅EVK-R6_UserGuide_UBX-21035387。 m-center 工具可帮助评估、配置和测试 u-blox 蜂窝产品,并且包含一个 AT 命令终端。

  使用 Windows PC 进行简单的互联网连接

  通过将 Windows PC 连接到 EVK,用户可以通过两种方式建立无线 Internet 连接:

  1:低速分组数据连接:通过 LARA-R6 模块的 UART 接口使用 Windows PC 的 TCP/IP 堆栈。 PC和EVK按照方法4a连接。开发人员必须使用 Windows 控制面板选择电话和调制解调器 > 调制解调器 > 添加。下一步是选中“不检测我的调制解调器”复选框,选择“标准 33.6 kbps 调制解调器”,然后分配 COM 端口。如有必要,开发人员可以添加“属性”>“高级”>“额外初始化”命令。

  2:高速分组数据连接:通过 LARA-R6 模块的蜂窝本机 USB 接口,使用 Windows PC 的 TCP/IP 堆栈访问互联网。 PC和EVK按照方法4c连接。开发者必须通过 Windows 控制面板选择“网络和共享中心”>“设置新连接或网络”,然后单击“连接到 Internet”。下一步是选择“拨号”和 AT USB 端口之一。最后一步是输入拨号参数(拨入号码、提供商名称、用户 ID 和密码)。

  向移动运营商注册 SIM 卡

  一旦配置了SIM卡和MNO参数,蜂窝模块上电后会自动在蜂窝网络上注册。如果出现问题,可以使用表2所示的AT命令手动检查注册情况。

image.png

  表 2:AT 注册命令。 (表格来源:u-blox,作者修改)

  通过AT命令与远程HTTP服务器通信

  GitHub 存储库“ Firechip_u-blox_LARA-R6_Arduino_Library ”包含用于 LARA-R6 模块的广泛 AT 命令库,以 C++ 编写,适用于Arduino控制器。包括 ping 测试、注册、数据包交换、SMS、GNSS 和物联网云在内的 16 个应用示例为自定义代码结构提供了建议。

  AT 命令还可以在活动连接期间向远程 HTTP 服务器发送请求、接收服务器响应并将该响应透明地存储在本地文件系统中。支持的方法有 HEAD、GET、DELETE、PUT、POST 文件和 POST 数据。

  Lara_R6_Example9 使用 HTTP POST 或 GET 将随机温度发送到 RemoteHTTP 服务器ThingSpeak.com。 ThingSpeak 是 MathWorks 提供的物联网分析平台服务,有助于聚合、可视化和分析云中的实时数据流。表 3 显示了 HTTP 命令“POST data”的语法。

image.png

  表 3:“POST 数据”是 HTTP 命令编号 5,格式如下所示。 (表格来源:u-blox,作者修改)

  该示例可以在 Arduino 主机控制器上进行编程,该控制器通过 AT 命令控制 EVK 板上的 LARA-R6 模块。此外,还需要一张已配置的 SIM 卡。

  程序员必须创建一个 ThingSpeak 用户帐户,并通过菜单项 Channels > My Channels > New Channel 将字段 1 设置为随机温度测量值。在主程序中,在变量“LARA-R6_Example9_ThingSpeak.ino”中输入相应的“Write API Key” myWriteAPIKey。

  C++ 主程序生成随机温度值,形成云特定数据字符串,并sendHTTPPOSTdata每 20 秒调用库函数(清单 1)。

  复制

  ...

  1 String myWriteAPIKey = "PFIOEXW1VF21T7O6"; // Change this to your API key

  2 String serverName = "api.thingspeak.com"; // Domain Name for HTTP POST/GET

  3 [...]

  4 void loop()

  5 {

  6 // Create a random temperature between 20 and 30

  7 float temperature = ((float)random(2000,3000)) / 100.0;

  8

  9

  10 // Send data using HTTP POST

  11 String httpRequestData = "api_key=" + myWriteAPIKey + "&field1=" +

  String(temperature);

  12

  13 Serial.print(F("POSTing a temperature of "));

  14 Serial.print(String(temperature));

  15 Serial.println(F(" to ThingSpeak"));

  16

  17 // Send HTTP POST request to /update. The reponse will be written to

  post_response.txt in the LARA's file system

  18 myLARA.sendHTTPPOSTdata(0, "/update", "post_response.txt", httpRequestData,

  LARA_R6_HTTP_CONTENT_APPLICATION_X_WWW);

  19

  20

  21 // Send data using HTTP GET

  22 ==> see original code on Github

  23

  24 for (int i = 0; i < 20000; i++) // Wait for 20 seconds

  25 {

  26 myLARA.poll(); // Keep processing data from the LARA so we can catch

  the HTTP command result

  27 delay(1);

  28 }

  29 }

  ...

  清单 1:该主程序生成一个随机温度值,并sendHTTPPOSTdata每 20 秒调用一次库函数。 (代码来源:Github 上的 Firechip)

  生成调用库函数的AT命令串

  库头文件“Firechip_u-blox_LARA-R6_Arduino_Library.h”将函数调用 sendHTTPPOSTdata 转发到库过程“Firechip_u-blox_LARA-R6_Arduino_Library.cpp”,其中生成并发送完全格式化的 AT 命令字符串(清单 2)。

  复制

  ...

  1 LARA_R6_error_t LARA_R6::sendHTTPPOSTdata(int profile, String path,

  String responseFilename, String data,

  LARA_R6_http_content_types_t httpContentType)

  2 {

  3 LARA_R6_error_t err;

  4 char *command;

  5

  6 if (profile >= LARA_R6_NUM_HTTP_PROFILES)

  7 return LARA_R6_ERROR_ERROR;

  8

  9 command = lara_r6_calloc_char(strlen(LARA_R6_HTTP_COMMAND) + 24 +

  path.length() + responseFilename.length()

  + data.length());

  10 if (command == nullptr)

  11 return LARA_R6_ERROR_OUT_OF_MEMORY;

  12 sprintf(command, "%s=%d,%d,"%s","%s","%s",%d",

  LARA_R6_HTTP_COMMAND, profile, LARA_R6_HTTP_COMMAND_POST_DATA,

  path.c_str(), responseFilename.c_str(), data.c_str(),

  httpContentType);

  13

  14 err = sendCommandWithResponse(command, LARA_R6_RESPONSE_OK_OR_ERROR,

  nullptr, LARA_R6_STANDARD_RESPONSE_TIMEOUT);

  15

  16 free(command);

  17 return err;

  18 }

  ...

  清单 2:此 C++ 库过程生成并发送完全格式化的 AT 命令字符串(第 12 行)。 (代码来源:Github 上的 Firechip)

  库过程LARA_R6::sendHTTPPOSTdata(清单 2)使用函数调用传递的参数myLARA.sendHTTPPOSTdata()(清单 1)以及库标头中另外声明的变量,根据表 3 生成完整的 HTTP 命令字符串。最后,LARA-R6 调制解调器发送生成的 AT发送至 ThingSpeak RemoteHTTP 服务器的命令字符串:

  AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0

  结论

  对于低功耗物联网和 M2M 应用的全球网络,LARA-R6 系列的 LTE Cat 1 多模无线电模块高效且经济高效。如图所示,开发人员可以使用 EVK 轻松访问所有接口,并可以通过 AT 命令轻松配置和控制模块的协议和功能。这提供了作为 PC 调制解调器运行、将数据发送到云端以及通过库函数生成 AT 命令字符串的简单选项。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯